OSDN Git Service

* arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
4         * arm.h (ROUND_UP_WORD): Likewise.
5
6         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
7         warning.
8         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
9         init_emit_once): Likewise.
10         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
11         Likewise.
12         * function.c (assign_stack_temp_for_type): Likewise.
13         * loop.c (loop_invariant_p): Likewise.
14         * recog.c (push_operand): Likewise.
15         * regclass.c (init_reg_sets_1): Likewise.
16         * reload.c (update_auto_inc_notes): Likewise.
17         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
18         * stmt.c (expand_asm_operands): Likewise.
19         * stor-layout.c (start_record_layout): Likewise.
20
21 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
22
23         * config/c4x/c4x.md (epilogue): Correct last patch.
24
25 2003-01-15  Richard Henderson  <rth@redhat.com>
26
27         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
28         also check that GP is being used.
29         (alpha_find_lo_sum_using_gp): New.
30         (alpha_does_function_need_gp): Use get_attr_usegp.
31         * config/alpha/alpha-protos.h: Update.
32         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
33         as needed.
34
35 2003-01-15  Roger Sayle  <roger@eyesopen.com>
36
37         * gcse.c (one_cprop_pass): Change function arguments to take both
38         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
39         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
40         (bypass_jumps): New function to perform separate jump bypassing pass.
41         * rtl.h (bypass_jumps): Add function prototype.
42         * timevar.def (TV_BYPASS): New timing variable.
43         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
44         (dump_file): New entry for the bypass RTL dump file.
45         (rest_of_compilation): Insert new jump bypassing optimization
46         pass after loop.
47         * doc/passes.texi: Document new pass.
48
49 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
50
51         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
52         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
53         * pa.h (TARGET_SOM_SDEF): Define.
54         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
55
56 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
57
58         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to 
59         allocate 4-bytes of locals on 68HC11.
60         (expand_epilogue): Likewise.
61         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
62
63 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
64
65         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
66         and -mshort-double to the assembler to specify the ABI.
67         (LINK_SPEC): Likewise.
68         (CPP_SPEC): Pass HCS12 specific define.
69         (MASK_M68S12): New define.
70         (TARGET_M68S12): Likewise.
71         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
72         (TARGET_VERSION): Update.
73         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
74         (LINK_SPEC): Update.
75         (ASM_SPEC): Update.
76         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
77         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
78
79 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
80
81         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
82         the return code.
83
84 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
85
86         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
87         flag before setting it.
88
89 2003-01-15  Roger Sayle  <roger@eyesopen.com>
90
91         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
92         when loop condition is known true, i.e.  "while (1) { ... }".
93         (genrtl_for_stmt): Similarly for "for" statements.
94
95 2003-01-15  Roger Sayle  <roger@eyesopen.com>
96
97         * real.c (real_sqrt): Return a bool result indicating whether
98         a floating point exception or trap should be raised.
99         * real.h (real_sqrt): Update function prototype.
100         * builtins.c (fold_builtin): Only fold non-trapping square
101         roots unless we're ignoring errno and trapping math.
102
103 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
104
105         * expr.h (emit_conditional_add): Add PARAMS to declaration.
106         * gengtype-lex.l (malloc, realloc): Move defines after include of
107         system.h.  Remove duplicate include of system.h.
108
109 2003-01-15  Roger Sayle  <roger@eyesopen.com>
110
111         PR middle-end/9009
112         * optabs.c (expand_unop):  When manipulating the FP sign bit
113         using integer operations, account for targets with different
114         integer and FP word orders.
115         (expand_abs): Likewise.
116
117 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
118
119         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
120         file extension in section name.
121
122 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
123
124         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
125         constant offset.
126
127 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
128
129         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
130         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
131         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
132         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
133
134 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
135
136         PR f/9258
137         * global.c (struct allocno): Add no_stack_reg. 
138         (global_conflicts): Set no_stack_reg.
139         (find_reg): Use it.
140
141         * convert.c (convert_to_real): Fold - and abs only when profitable.
142         * fold-const.c (fold): Fold truncates in - and abs.
143
144 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
145
146         Segher Boessenkool  <segher@koffie.nl>
147
148         * predict.c (real_inv_br_prob_base): New variable.
149         (propagate_freq): Use multiply by reciprocal instead of
150         division.  Don't divide by 1.0 at all.
151         (estimate_bb_frequencies): Similar.
152
153 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
154
155         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
156         * configure: Rebuilt.
157
158 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
159
160         * config/s390/s390.c (s390_safe_attr_type): New function.
161         (s390_use_dfa_pipeline_interface): New function, return true for z900.
162         (s390_issue_rate): New function.
163         (s390_agen_dep_p): New function.
164         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
165         (s390_adjust_cost): Return 'cost' if new DFA is used.
166         (s390_adjust_priority): Delete function.
167         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
168         * config/s390/s390.md (atype attribute): Attribute 'atype' default
169         determined by 'op_type'.
170         (type attribute): Added more type attributes.
171         * config/s390/2064.md: New DFA description for z900 pipeline.
172         
173 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
174
175         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
176         forced to memory.  Fixes PR bootstrap/9036.
177
178         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
179         to set $gp before the call.
180
181 2003-01-14  Richard Henderson  <rth@redhat.com>
182
183         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
184         for force_const_mem.
185
186 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
187
188         * genattr.c (main): Rearrange output to avoid prototype warning.
189         * genautomata.c (transform_3): Fix ambiguous-else warning.
190         * local-alloc.c (requires_inout): Add parentheses around
191         assignment used as truth-value.
192         * timevar.c: Move system includes above local includes.  Include
193         toplev.h
194         * Makefile.in (timevar.o): Depend on toplev.h.
195
196 2003-01-14  Denis Chertykov  <denisc@overta.ru>
197
198         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
199         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
200
201         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
202         attributes.
203         (TARGET_ATTRIBUTE_TABLE): New macro.
204         (valid_machine_type_attribute): Remove.
205         (valid_machine_decl_attribute): Remove.
206         (ip2k_handle_progmem_attribute): New function.
207         (ip2k_handle_fndecl_attribute): New function.
208
209 2003-01-10  Andrew Haley  <aph@redhat.com>
210
211         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
212         registers to be in correct order.  Add rip.
213
214 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
215
216         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
217         (*iorsi3_and_lshiftrt_9_sb): Likewise.
218
219 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
220
221         * convert.c (strip_float_extensions):  Look for narrowest type handling
222         FP constants.
223
224         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
225         float1 CMP float2.
226         * convert.c (strip_float_extensions): Make global.
227         * tree.h (strip_float_extensions): Declare.
228
229 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
230
231         * timevar.def: define TV_NAME_LOOKUP.
232         * timevar.c (timevar_pop): Be verbose when aborting.
233
234 2003-01-13  Andreas Schwab  <schwab@suse.de>
235
236         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
237         $(parsedir), just move the temporary file at the end.
238         ($(parsedir)/gengtype-yacc.c): Likewise.
239
240 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
241
242         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
243         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
244         splitting.
245         * configure: Rebuilt.
246
247 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
248
249         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
250         internal_mcount): Don't use PARAMS.
251         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
252         ISO C style.
253         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
254
255 2003-01-13  Andreas Schwab  <schwab@suse.de>
256
257         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
258         directive.
259
260 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
261
262         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
263         (*iorsi3_and_lshiftrt_n_sb): Likewise.
264
265 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
266
267         PR c++/9264
268         * c-lex.c (c_lex): Set the token value to error_mark_node for
269         invalid numeric constants.
270
271 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
272
273         * c-pch.c (asm_file_startpos): Change to `long'.
274         (pch_init): Use ftell, not ftello.
275         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
276         Use `long' instead of `off_t'.
277         (c_common_read_pch): Likewise.
278         * ggc-common.c (gt_pch_save): Use long/ftell instead of
279         off_t/ftello.
280
281 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
282
283         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
284
285 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
286
287         * arm-protos.h (struct cpp_reader): Add declaration.
288
289 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
290
291         PR target/9068
292         * i386.c (output_fp_compare): Fix typo.
293
294 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
295
296         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
297
298 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
299
300         * Makefile.in (parsedir): New variable.
301         (docobjdir): New variable.
302         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o, 
303         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
304         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
305         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
306         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man): 
307         Use docobjdir.
308         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
309         objc.maintainer-clean): Use parsedir.
310
311         * varasm.c (struct constant_descriptor_rtx): Remove unused
312         `label' field.
313
314         * toplev.c (documented_lang_options): Document -Winvalid-pch.
315
316 2003-01-10  Richard Henderson  <rth@redhat.com>
317
318         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
319         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
320
321 2003-01-10  Richard Henderson  <rth@redhat.com>
322
323         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
324         not INTEGRAL_MODE_P when widening extensions.
325
326 2003-01-10  Richard Henderson  <rth@redhat.com>
327
328         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
329
330 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
331
332         * ggc-page.c (ggc_collect): Avoid overflow computing
333         min_expand.
334
335         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
336         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
337         Remove calls.
338         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
339
340 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
341
342         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
343         with weird operands.
344
345 2003-01-10  Dale Johannesen <dalej@apple.com>
346
347         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
348         parameters.  Call check_sibcall_argument_overlap if indicated.
349         (check_sibcall_argument_overlap):  Add mark_stored_args_map
350         parameter.  Don't mark parameter area as clobbered if not set.
351         (expand_call):  Adjust calls to above.
352
353 2003-01-10 Kelley Cook <kelleycook@comcast.net>
354
355         * configure.in (linker read-only and read-write section mixing):
356         Squelch some assembler warnings.
357         * configure: Likewise.
358
359 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
360
361         * doc/invoke.texi: Document -mtune, delete -mcpu 
362         option for S/390 and zSeries.
363         * config/s390/s390.c (s390_tune_string) New variable.
364         (s390_cpu_string) Delete variable.
365         (override_options): Use s390_tune_string instead of
366         s390_cpu_string.
367         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
368
369 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
370
371         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
372
373 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
374
375         * jump.c (next_nonnote_insn_in_loop): New function.
376         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
377         next_nonnote_insn.
378         (duplicate_loop_exit_test). Likewise.
379
380 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
381
382         Merge from pch-branch:
383
384         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
385
386         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
387         load.
388
389         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
390
391         * cpplib.c (count_registered_pragmas): New function.
392         (save_registered_pragmas): New function.
393         (_cpp_save_pragma_names): New function.
394         (restore_registered_pragmas): New function.
395         (_cpp_restore_pragma_names): New function.
396         * cpphash.h (_cpp_save_pragma_names): Prototype.
397         (_cpp_restore_pragma_names): Likewise.
398         * cpppch.c (struct save_macro_item): Split from save_macro_data.
399         (struct save_macro_data): New field 'saved_pragmas'.
400         (save_macros): Update for changes to struct save_macro_data.
401         (cpp_prepare_state): Call _cpp_save_pragma_names, update
402         for changes to struct save_macro_data.
403         (cpp_read_state): Call _cpp_restore_pragma_names, update
404         for changes to struct save_macro_data.
405
406         * cpppch.c (cpp_read_state): Restore the hashtable references
407         in the cpp_reader.
408         
409         * tree.h (built_in_decls): Mark for PCH.
410
411         * dbxout.c (lastfile): Don't mark for PCH.
412
413         * ggc.h: Document PCH calls into memory managers.
414
415         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
416
417         * doc/invoke.texi (Precompiled Headers): Document the
418         directory form of PCH.
419         * cppfiles.c (validate_pch): New function.
420         (open_file_pch): Search suitably-named directories for PCH files.
421
422         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
423
424         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
425         reorder options.
426         (Type Information): Mention that the information is also
427         used to implement PCH.
428         * doc/passes.texi (Passes): Improve documentation of
429         language-specific files.
430
431         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
432
433         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
434         (struct walk_type_data): Add reorder_fn field.
435         (walk_type): Process 'reorder' option.
436         (write_types_process_field): Reorder parameters to gt_pch_note_object,
437         call reorder_note_routine.
438         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
439         (ggc_wtd): Update for change to struct write_types_data.
440         (pch_wtd): Likewise.
441         * ggc.h (gt_pch_note_object): Reorder parameters.
442         (gt_handle_reorder): New definition.
443         (gt_pch_note_reorder): New prototype.
444         * ggc-common.c (struct ptr_data): Add reorder_fn.
445         (gt_pch_note_object): Reorder parameters.
446         (gt_pch_note_reorder): New.
447         (gt_pch_save): Call reorder_fn.
448         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
449
450         * dbxout.c (cwd): Don't mark for PCH.
451
452         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
453
454         * gengtype.c (finish_root_table): Fix some warnings.
455         (write_root): Handle TYPE_STRING.
456         * ggc.h (gt_ggc_m_S): Add prototype.
457         * stringpool.c (gt_ggc_m_S): New function.
458
459         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
460
461         * dwarf2out.c (dw2_string_counter): New.
462         (AT_string_form): Use it.
463         (same_dw_val_p): Update for removal of hashtable.h hash tables.
464
465         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
466
467         * dbxout.c: Include gt-dbxout.h.
468         (lastfile): Mark for PCH/GGC.
469         (cwd): Likewise.
470         (struct typeinfo): Likewise.
471         (typevec): Likewise.
472         (typevec_len): Likewise.
473         (next_type_number): Likewise.
474         (struct dbx_file): Likewise.
475         (current_file): Likewise.
476         (next_file_number): Likewise.
477         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
478         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
479         (dbxout_end_source_file): Don't free struct dbx_file.
480         (dbxout_type): Use GGC to allocate typevec.
481         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
482         (GTFILES): Add dbxout.c.
483         (gt-dbxout.h): New rule.
484         
485         * Makefile.in (c-pch.o): Add debug.h as dependency.
486         * c-pch.c: Include debug.h.
487         (pch_init): Call start_source_file to keep nesting right.
488         (c_common_read_pch): Add orig_name parameter.  Call
489         start_source_file debug hook.  Call end_source_file debug hook.
490         * c-common.h (c_common_read_pch): Update prototype.
491         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
492         callback.
493         * cppfiles.c (struct include_file): Add new field `header_name'.
494         (find_or_create_entry): Default it to `name'.
495         (open_file_pch): Set it to the original header file searched for.
496         (stack_include_file): Don't stack an empty buffer, just handle
497         PCH files immediately.  Pass header_name field to read_pch callback.
498
499         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
500
501         * function.c (funcdef_no): Mark to be saved in a PCH.
502
503         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
504
505         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
506
507         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
508
509         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
510
511         * optabs.h (code_to_optab): Add GTY marker.
512
513         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
514
515         * Makefile.in (GTFILES): Add cpplib.h.
516         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
517         * c-decl.c (build_compound_literal): Don't use var_labelno.
518         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
519         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
520         * varasm.c (const_labelno): Use gengtype to mark.
521         (var_labelno): Likewise.
522         (in_section): Likewise.
523         (in_named_name): Likewise.
524         (struct in_named_entry): Likewise.
525         (in_named_htab): Likewise.
526         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
527         (init_varasm_once): Use GGC to allocate in_named_htab.
528         * config/darwin.c (current_pic_label_num): Mark for PCH.
529
530         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
531
532         * ggc-simple.c (init_ggc_pch): New stub procedure.
533         (ggc_pch_count_object): Likewise.
534         (ggc_pch_total_size): Likewise.
535         (ggc_pch_this_base): Likewise.
536         (ggc_pch_alloc_object): Likewise.
537         (ggc_pch_prepare_write): Likewise.
538         (ggc_pch_write_object): Likewise
539         (ggc_pch_finish): Likewise.
540         (ggc_pch_read): Likewise.
541
542         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
543
544         * c-pch.c (c_common_write_pch): Write the macro definitions after
545         the GCed data.
546         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
547         definitions after the GCed data.
548         * cpplib.c (save_macros): New.
549         (reset_ht): New.
550         (cpp_write_pch_deps): Split out of cpp_write_pch.
551         (cpp_write_pch_state): Split out of cpp_write_pch.
552         (cpp_write_pch): Delete.
553         (struct save_macro_data): Delete.
554         (cpp_prepare_state): New.
555         (cpp_read_state): Erase and restore initial macro definitions.
556         * cpplib.h (struct save_macro_data): Forward-declare.
557         (cpp_write_pch_deps): Prototype.
558         (cpp_write_pch_state): Prototype.
559         (cpp_write_pch): Delete prototype.
560         (cpp_prepare_state): Prototype.
561         (cpp_read_state): Add fourth argument.
562
563         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
564
565         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
566         (write_array): Remove warning.
567
568         * gengtype.c (contains_scalar_p): New.
569         (finish_root_table): Add the table to all languages, even if it's
570         empty.
571         (write_roots): Output gt_pch_scalar_rtab.
572         * ggc-common.c (gt_pch_save): Write out scalars.
573         (gt_pch_restore): Read scalars back.
574
575         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
576         (struct page_entry): Delete pch_page field.
577         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
578         (clear_marks): Likewise.
579         (sweep_pages): Likewise.
580         (poison_pages): Likewise.
581         (ggc_print_statistics): Likewise.
582         (ggc_pch_read): Don't free objects read from a PCH.
583         Properly set up in_use_p and page_tails.
584
585         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
586
587         * gengtype.c (struct write_types_data): New.
588         (struct walk_type_data): Make `cookie' const; add extra
589         prev_val item; add `orig_s' field.
590         (walk_type): Update prev_val[3].
591         (write_types_process_field): New.
592         (write_func_for_structure): Take write_types_data structure.
593         (write_types): New.
594         (ggc_wtd): New.
595         (pch_wtd): New.
596         (write_types_local_process_field): New.
597         (gc_mark_process_field): Delete.
598         (write_local_func_for_structure): New.
599         (gc_mark_func_name): Delete.
600         (write_gc_types): Delete.
601         (write_local): New.
602         (finish_root_table): Don't include 'ggc_' in PFX.
603         (write_root): Rename from write_root.  Fill pchw field of structures.
604         (write_array): New.
605         (write_roots): Rename from write_gc_roots.  Split out to write_array.
606         Update to changes to other routines.  Write gt_pch_cache_rtab table.
607         (main): Write PCH walking routines.
608         * ggc-common.c: Include toplev.h, sys/mman.h.
609         (ggc_mark_roots): For cache hashtables, also mark the hash table
610         and the array of entries.
611         (saving_htab): New.
612         (struct ptr_data): New.
613         (POINTER_HASH): New.
614         (gt_pch_note_object): New.
615         (saving_htab_hash): New.
616         (saving_htab_eq): New.
617         (struct traversal_state): New.
618         (call_count): New.
619         (call_alloc): New.
620         (compare_ptr_data): New.
621         (relocate_ptrs): New.
622         (write_pch_globals): New.
623         (struct mmap_info): New.
624         (gt_pch_save): New.
625         (gt_pch_restore): New.
626         * ggc-page.c (ROUND_UP_VALUE): New.
627         (ROUND_UP): New.
628         (struct page_entry): Add field `pch_page'.
629         (init_ggc): Use ROUND_UP.
630         (struct ggc_pch_data): Declare.
631         (init_ggc_pch): New.
632         (ggc_pch_count_object): New.
633         (ggc_pch_total_size): New.
634         (ggc_pch_this_base): New.
635         (ggc_pch_alloc_object): New.
636         (ggc_pch_prepare_write): New.
637         (ggc_pch_write_object): New.
638         (ggc_pch_finish): New.
639         (ggc_pch_read): New.
640         * ggc.h (gt_pointer_operator): New.
641         (gt_note_pointers): New.
642         (gt_pch_note_object): New prototype.
643         (gt_pointer_walker): New.
644         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
645         (LAST_GGC_ROOT_TAB): Update.
646         (gt_pch_cache_rtab): Declare.
647         (gt_pch_scalar_rtab): Declare.
648         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
649         (LAST_GGC_CACHE_TAB): Update.
650         (gt_pch_save_stringpool): Declare.
651         (gt_pch_restore_stringpool): Declare.
652         (gt_pch_p_S): Declare.
653         (gt_pch_n_S): Declare.
654         (struct ggc_pch_data): Forward-declare.
655         (init_ggc_pch): Declare.
656         (ggc_pch_count_object): Declare.
657         (ggc_pch_total_size): Declare.
658         (ggc_pch_this_base): Declare.
659         (ggc_pch_alloc_object): Declare.
660         (ggc_pch_prepare_write): Declare.
661         (ggc_pch_write_object): Declare.
662         (ggc_pch_finish): Declare.
663         (ggc_pch_read): Declare.
664         (gt_pch_save): Declare.
665         (gt_pch_restore): Declare.
666         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
667         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
668         const_double_htab, mem_attrs_htab using GGC.
669         * c-pch.c: Include ggc.h.
670         (pch_init): Allow reading PCH file back.
671         (c_common_write_pch): Call gt_pch_save.
672         (c_common_read_pch): Call gt_pch_restore.
673         * c-parse.in (init_reswords): Delete now-untrue comment.
674         Allocate ridpointers using GGC.
675         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
676         calling expand_deferred_fns.
677         * c-common.h (ridpointers): Mark for GTY machinery.
678         * Makefile.in (stringpool.o): Update dependencies.
679         (c-pch.o): Update dependencies.
680         (ggc-common.o): Update dependencies.
681         * stringpool.c: Include gt-stringpool.h.
682         (gt_pch_p_S): New.
683         (gt_pch_n_S): New.
684         (struct string_pool_data): New.
685         (spd): New.
686         (gt_pch_save_stringpool): New.
687         (gt_pch_restore_stringpool): New.
688         * tree.c (init_ttree): Make type_hash_table allocated using GC.
689         
690         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
691
692         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
693         (output_mangled_typename): Don't pass size_t to printf.
694
695         * tree.h (union tree_type_symtab): Add tag to `address' field.
696         (union tree_decl_u2): Add tag to 'i' field.
697         * varasm.c (union rtx_const_un): Add tags to all fields.
698         * gengtype.c (struct walk_type_data): New.
699         (output_escaped_param): Take struct walk_type_data parameter.
700         (write_gc_structure_fields): Delete.
701         (walk_type): New.
702         (write_gc_marker_routine_for_structure): Delete.
703         (write_func_for_structure): New.
704         (gc_mark_process_field): New.
705         (gc_mark_func_name): New.
706         (gc_counter): Delete.
707         (write_gc_types): Use write_func_for_structure.
708         (write_gc_roots): Use walk_type.
709
710         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
711
712         * ggc-common.c (ggc_mark_roots): Delete 'x'.
713         (ggc_splay_dont_free): Fix warning about unused 'x'.
714         (ggc_print_common_statistics): Remove warnings.
715
716         2002-10-01  Mike Stump  <mrs@apple.com>
717
718         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
719         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
720
721         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
722             Catherine Moore  <clm@redhat.com>
723
724         * Makefile (c-pch.o): Update dependencies.
725         (LIBCPP_OBJS): Add cpppch.o.
726         (cpppch.o): New.
727         * c-common.c (c_common_init): Don't call pch_init here.
728         * c-common.h (c_common_read_pch): Update prototype.
729         * c-lex.c (c_common_parse_file): Call pch_init here.
730         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
731         (c_common_decode_option): Handle them.
732         * c-pch.c: Include c-pragma.h.
733         (save_asm_offset): Delete.
734         (pch_init): Move contents of save_asm_offset into here, call
735         cpp_save_state.
736         (c_common_write_pch): Call cpp_write_pch.
737         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
738         cpp_valid_state.
739         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
740         * cppfiles.c (stack_include_file): Update for change to 
741         parameters of cb.read_pch.
742         * cpphash.h (struct cpp_reader): Add `savedstate' field.
743         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
744         `restore_pch_deps' fields.
745         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
746         (cpp_save_state): Prototype.
747         (cpp_write_pch): Prototype.
748         (cpp_valid_state): Prototype.
749         (cpp_read_state): Prototype.
750         * cpppch.c: New file.
751         * flags.h (version_flag): Remove prototype.
752         * mkdeps.c (deps_save): New.
753         (deps_restore): New.
754         * mkdeps.h (deps_save): Prototype.
755         (deps_restore): Prototype.
756         * toplev.c (late_init_hook): Delete.
757         (version_flag): Make static again.
758         (compile_file): Don't call late_init_hook.
759         * toplev.h (late_init_hook): Delete.
760         * doc/cppopts.texi: Document -fpch-deps.
761         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
762
763         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
764
765         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
766         callers.
767         (c_common_valid_pch): Rename from c_valid_pch, change callers.
768         (c_common_read_pch): Rename from c_read_pch, change callers.
769
770         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
771         a space between it and its argument.
772
773         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
774
775         * c-pch.c: New file.
776         * toplev.h (late_init_hook): Declare.
777         * toplev.c (late_init_hook): Define.
778         (version_flag): Make globally visible.
779         (compile_file): Call late_init_hook.
780         (init_asm_output): Make output file seekable.
781         * gcc.c (default_compilers): Update c-header rule.
782         * flags.h (version_flag): Declare.
783         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
784         fields.
785         * cppfiles.c (struct include_file): Add 'pch' field.
786         (INCLUDE_PCH_P): New.
787         (open_file_pch): New.
788         (stack_include_file): Handle PCH files specially.
789         (find_include_file): Call open_file_pch instead of open_file.
790         (_cpp_read_file): Explain why open_file is used instead of
791         open_file_pch.
792         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
793         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
794         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
795         in cpplib callbacks.
796         * c-common.c (pch_file): Correct comment.
797         (allow_pch): Define.
798         (c_common_init): Call pch_init.
799         * c-common.h (allow_pch): Declare.
800         (pch_init): Declare.
801         (c_valid_pch): Declare.
802         (c_read_pch): Declare.
803         (c_write_pch): Declare.
804         * Makefile.in (c-pch.o): New.
805         (C_AND_OBJC_OBJS): Add c-pch.o.
806         * doc/invoke.texi (Precompiled Headers): Add index entries,
807         complete truncated paragraph.
808
809         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
810
811         * c-common.c: (pch_file): Define.
812         * c-common.h (pch_file): Declare.
813         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
814         (missing_arg): Require --output-pch= to have an argument.
815         (c_common_decode_option): Handle --output-pch=.
816         * gcc.c: Document new %V.
817         (default_compilers): Handle compiling C header files.
818         (do_spec_1): Implement %V.
819         (main): Handle "gcc foo.h" without trying to run linker.
820         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
821         (Overall Options): Document what the driver does with header files,
822         document new -x option possibilities.
823         (Invoking G++): More documentation for PCH.
824         (Precompiled Headers): New.
825
826         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
827
828         * ggc.h: Don't include varray.h.  Rearrange functions to be more
829         organized.
830         (ggc_add_root): Delete.
831         (ggc_mark_rtx): Delete.
832         (ggc_mark_tree): Delete.
833         (struct ggc_statistics): Remove contents.
834         * ggc-common.c: Remove unneeded includes.
835         (struct ggc_root): Delete.
836         (roots): Delete.
837         (ggc_add_root): Delete.
838         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
839         (ggc_print_common_statistics): Remove most of the contents.
840         * Makefile.in (GGC_H): No longer uses varray.h.
841         (ggc-common.o): Update dependencies.
842         (c-parse.o): Add varray.h to dependencies.
843         (c-common.o): Add varray.h.
844         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
845         (mark_ident_hash): Rename to ggc_mark_stringpool.
846         (init_stringpool): Don't use ggc_add_root.
847         * c-parse.in: Include varray.h.
848         * c-common.c: Include varray.h.
849         * objc/Make-lang.in (objc-act.o): Add varray.h.
850         * objc/objc-act.c: Include varray.h.
851
852         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
853
854         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
855         (dw_cfi_oprnd1_desc): Likewise.
856
857         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
858
859         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
860         move out of ifdef.
861         (alpha_links): Use gengtype to mark; move out of ifdef.
862         (mark_alpha_links_node): Delete.
863         (mark_alpha_links): Delete.
864         (alpha_need_linkage): Use GGC to allocate splay tree, struct
865         alpha_links, strings.  Don't use ggc_add_root.
866         * ggc-common.c (ggc_splay_alloc): New.
867         (ggc_splay_dont_free): New.
868         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
869         (ggc_mark_tree): Likewise.
870         (splay_tree_new_ggc): New.
871         (ggc_splay_alloc): Declare.
872         (ggc_splay_dont_free): Declare.
873         * dwarf2asm.c: Include gt-dwarf2asm.h.
874         (mark_indirect_pool_entry): Delete.
875         (mark_indirect_pool): Delete.
876         (indirect_pool): Use gengtype to mark.
877         (dw2_force_const_mem): Don't use ggc_add_root.
878         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
879         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
880         (gt-dwarf2asm.h): Depend on s-gtype.
881
882         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
883
884         * tree.h (union tree_type_symtab): Mark `die' field.
885         * Makefile.in (dwarf2out.o): Update dependencies.
886         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
887         hash tables.
888         (dw_cfi_oprnd1_desc): New function.
889         (dw_cfi_oprnd2_desc): New function.
890         (indirect_string_alloc): Delete.
891         (debug_str_do_hash): New function.
892         (debug_str_eq): New function.
893         (mark_limbo_die_list): Delete.
894         (dwarf2out_init): Don't call ggc_add_root.
895
896 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
897
898         The following changes are merged from itanium-sched-branch:
899
900         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
901
902         * doc/md.texi: Clarify assignment of units to automata description.
903
904         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
905
906         * genautomata.c (unit_decl): Remove members
907         `the_same_automaton_unit' and
908         `the_same_automaton_message_reported_p'.
909         (process_unit_to_form_the_same_automaton_unit_lists,
910         form_the_same_automaton_unit_lists_from_regexp,
911         form_the_same_automaton_unit_lists, the_same_automaton_lists):
912         Remove them.
913         (annotation_message_reported_p): New global variable.
914         (check_unit_distribution_in_reserv,
915         check_regexp_units_distribution): New functions.
916         (check_unit_distributions_to_automata): Rewrite it.
917
918         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
919
920         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
921         Use continue instead of break if cycle is too big.
922
923         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
924
925         * genautomata.c (check_unit_distributions_to_automata): Output at
926         most one message for a unit.
927         (process_unit_to_form_the_same_automaton_unit_lists): Check
928         automaton of units instead of units themself.
929
930         * doc/md.texi: Describe the constraint about assigning unit to
931         automata.
932
933         2002-12-20  Jan Hubicka  <jH@suse.cz>
934                     Vladimir Makarov  <vmakarov@redhat.com>
935
936         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
937         and `in_set_p'.
938         (gen_cpu_unit): Initialize the new members.
939         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
940         up `min_occ_cycle_num'.
941         (evaluate_max_reserv_cycles): Change the function call.
942         (CLEAR_BIT): New macro.
943         (states_union, state_shift): Use the mask.
944         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
945         (form_reservs_matter): New function.
946         (make_automaton): Call the function and use the mask.
947         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
948         account.
949         
950         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
951
952         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
953
954         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
955
956         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
957         for Itanium.
958
959         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
960
961         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
962         default cpu.
963
964         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
965                 2002-10-31  Dale Johannesen <dalej@apple.com>
966
967         * haifa-sched.c (find_set_reg_weight): New function.
968         (find_insn_reg_weight): Use the new function.
969         (schedule_block): Do sorting ready queue always
970         after insn issue.
971
972         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
973
974         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
975
976         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
977
978         * haifa-sched.c (choice_entry): New structure.
979         (choice_stack, cycle_issued_insns): New variables.
980         (max_issue): Rewrite it.
981         (choose_ready): Set up ready_try for unknown insns too.
982         (schedule_block): Allocate and free choice_stack.  Set up
983         and modify cycle_issued_insns.
984
985         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
986         with and without filling the bundle.
987         (bundling): Combine calls of issue_nops_and_insn.
988         
989         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
990
991         * config/ia64/itanium1.md: New file.
992
993         * config/ia64/itanium2.md: New file.
994
995         * config/ia64/ia64.md: Move DFA descriptions into the new files.
996         Remove the old pipeline description.
997         
998         * config/ia64/ia64.c (ia64_override_options): Add aliases of
999         itanium processor names.
1000         
1001         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1002
1003         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1004         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1005
1006         * config/ia64/ia64.md: Add descriptions for Itanium2.
1007
1008         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1009
1010         * config/ia64/ia64.h (processor_type): New enumeration.
1011         (ia64_tune, ia64_tune_string): New external declarations.
1012         (TARGET_OPTIONS): Add option `tune='.
1013
1014         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1015         variables.
1016         (ia64_override_options): Set up `ia64_tune'.
1017         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1018         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1019         (bundling): Add nops for MM-insns only for Itanium.
1020         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1021         Itanium.
1022
1023         * config/ia64/ia64.md (cpu): New attribute.
1024         (DFA description): Enable it only for Itanium.
1025         
1026         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1027                     Richard Henderson  <rth@redhat.com>
1028
1029         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1030         MASK_EARLY_STOP_BITS.
1031         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1032         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1033         `early-stop-bits'.
1034         
1035         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1036         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1037         instead of TARGET_TUNE_STOP_BITS.
1038         
1039         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1040         `-mearly-stop-bits'.
1041
1042         * config/ia64/ia64.c (automata_option "v"): Comment it.
1043         
1044         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1045
1046         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1047         New macros.
1048         (TARGET_SWITCHES): Add entries for the new option.
1049         
1050         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1051         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1052         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1053         global variables.
1054         (ia64_sched_reorder2): Set up `clocks'.
1055         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1056         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1057         queue when TARGET_TUNE_STOP_BITS.
1058         (bundling): Insert additional nops for MM-insns.
1059         (final_emit_insn_group_barriers): Add insertion of stop bits
1060         according `stops_p'.
1061         (ia64_reorg): Initiate the new varibales.
1062
1063         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1064         
1065         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1066
1067         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1068         insns at the end of block insn scheduling.
1069
1070         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1071
1072         * sched-deps.c (remove_dependence, group_leader): Remove it.
1073         (add_dependence): Add dependence to group leader to.
1074         (set_sched_group_p): Add dependence to the first insn of the
1075         schedule group too.
1076         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1077         Change true dependence by anti-dependence when
1078         `reg_pending_barrier'.
1079
1080         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1081         add_branch_dependences): Ignore schedule groups.
1082
1083         * sched-ebb.c (init_ready_list): Ditto.
1084
1085         * (move_insn, set_priorities): Ditto.
1086
1087         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1088         flag is clear after reload.
1089         (adjust_cost): Change cost only for output dependencies.
1090         
1091         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1092         
1093         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1094
1095         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1096
1097         * target.h (gcc_target): Add member
1098         `dependencies_evaluation_hook'.
1099
1100         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1101         macro.
1102         (TARGET_SCHED): Add initiatialization of the new member.
1103
1104         * sched-ebb.c: Include `target.h'.
1105         (schedule_ebb): Call `dependencies_evaluation_hook'.
1106
1107         * sched-rgn.c (schedule_region): Call
1108         `dependencies_evaluation_hook'.
1109
1110         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1111         New macro.
1112         (ia64_dependencies_evaluation_hook): New function.
1113
1114         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1115         Describe the new hook.
1116         
1117         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1118
1119         * target.h (gcc_target): Add members
1120         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1121
1122         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1123         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1124         macros.
1125         (TARGET_SCHED): Add initiatialization of the new members.
1126
1127         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1128         insn scheduling too.
1129         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1130         initialize `ready_try'.
1131         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1132         `dfa_new_cycle' says not to do it.
1133         
1134         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1135         bundling.
1136
1137         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1138
1139         * config/ia64/ia64.c: Include `hashtab.h'.
1140         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1141         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1142         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1143         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1144         bundle_state_eq_p, insert_bundle_state,
1145         initiate_bundle_state_table, finish_bundle_state_table,
1146         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1147         get_template, get_next_important_insn, bundling): New functions.
1148         (ia64_internal_sched_reorder): Remove it.
1149         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1150         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1151         (ia64_safe_itanium_requires_unit0): Remove it.
1152         (group_barrier_needed_p): Place group barrier right before a real
1153         insn.
1154         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1155         Remove them.
1156         (bundle_name): New variable.
1157         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1158         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1159         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1160         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1161         temp_dfa_state, prev_cycle_state): New global variables.
1162         (insn_matches_slot, maybe_rotate, finish_last_head,
1163         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1164         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1165         find_best_packet, itanium_reorder, dump_current_packet,
1166         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1167         (sched_data, sched_ready, sched_types): Remove them.
1168         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1169         `init_insn_group_barriers'.
1170         (ia64_sched_reorder, ia64_sched_reorder2): Call
1171         ia64_dfa_sched_reorder.
1172         (ia64_variable_issue): Rewrite it.
1173         (bundle_state): New structure.
1174         (index_to_bundle_states, bundle_states_num,
1175         allocated_bundle_states_chain, free_bundle_state_chain): New
1176         global variables.
1177         (ia64_sched_finish): Add stop bits and call `bundling' after the
1178         2nd insn scheduling.
1179         (ia64_use_dfa_pipeline_interface): Return zero always.
1180         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1181         insn scheduling.
1182         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1183         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1184         (ia64_reorg): Add bundling insns.
1185
1186         * doc/tm.texi
1187         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1188         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1189         
1190         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1191
1192         * config/ia64/ia64.md: Add Itanium1 DFA description.
1193         (itanium_class): Add `nop' and `pre_cycle'.  Add
1194         define_function_unit for `nop'.
1195         (nop): Change attribute `itanium_class'.
1196         (pre_cycle): New define_insn.
1197
1198         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1199         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1200         ia64_produce_address_p): New function prototypes.
1201
1202         * config/ia64/ia64.c (bundling_p): New global variable.
1203         (ia64_use_dfa_pipeline_interface,
1204         ia64_first_cycle_multipass_dfa_lookahead,
1205         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1206         functions.
1207         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1208         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1209         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1210         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1211         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1212         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1213         (dfa_pre_cycle_insn): New variable.
1214         
1215         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1216
1217         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1218         constructions.
1219
1220         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1221         New function prototypes.
1222
1223         * genattrtab.c (main): Process the new constructions.
1224
1225         * genautomata.c (gen_presence_absence_set,
1226         process_presence_absence_names, process_presence_absence_patterns,
1227         add_presence_absence, check_absence_pattern_sets): Add parameter
1228         `final_p'.
1229         (unit_decl): Add new members `final_presence_list' and
1230         `final_absence_list'.
1231         (unit_pattern_rel_decl): Add new member `final_p'.
1232         (gen_final_presence_set, gen_final_absence_set): New functions.
1233         (process_decls): Use member `final_p'.
1234         (temp_reserv): New global variable.
1235         (reserv_sets_are_intersected): Add processing `final_presence_set'
1236         and `final_absence_set'.
1237         (initiate_states): Allocate `temp_reserv'.
1238         (unit_final_presence_set_table, unit_final_absence_set_table): New
1239         gloabal variables.
1240         (initiate_presence_absence_pattern_sets): Initiate them.
1241         (NDFA_to_DFA): Fix typo.
1242         (output_description): Output `final_presence_set' and
1243         `final_absence_set'.
1244
1245         * doc/md.texi (final_presence_set, final_absence_set): Describe
1246         them.
1247         
1248         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1249
1250         * genautomata.c (transform_3): Process a missing case (nothing on
1251         unit place).
1252
1253         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1254
1255         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1256         comments about queried units and the minimization.
1257         
1258         * doc/md.texi: Ditto.
1259         
1260         * genautomata.c (create_composed_state): Return nonzero if the new
1261         state has been created.
1262         (first_cycle_unit_presence): New function.
1263         (state_is_differed): Add new parameter.  Use the new function.
1264         Take queried units into account.
1265         (partition_equiv_class): Pass additional parameter to
1266         `state_is_differed'.
1267         (merge_states): Process composed states too.
1268         (build_automaton, create_automata, output_min_issue_delay_table,
1269         output_tables, output_statistics): Output more information.
1270         (output_reserved_units_table): Use function
1271         `first_cycle_unit_presence'.
1272         (output_tables): Output table of queried units even if the
1273         minimization is switched on.
1274         (write_automata): Output code for querying units even if the
1275         minimization is switched on.
1276         
1277         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1278
1279         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1280         syntax of the constructions.
1281         
1282         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1283         extended syntax of the constructions.
1284         
1285         * genautomata.c (unit_rel_decl): Rename it to
1286         `unit_pattern_rel_decl'.
1287         (pattern_set_el, pattern_reserv): New structures.
1288         (pattern_set_el_t, pattern_reserv_t): New types.
1289         (gen_presence_absence_set): New function.
1290         (process_presence_absence): Remove it.
1291         (process_presence_absence_names,
1292         process_presence_absence_patterns): New functions.
1293         (get_presence_absence_set): Remove it.
1294         (initiate_presence_absence_sets): Rename it on
1295         `initiate_presence_absence_pattern_sets'.  Use new function
1296         `form_reserv_sets_list'.
1297         (form_reserv_sets_list, check_presence_pattern_sets,
1298         check_absence_pattern_sets, output_pattern_set_el_list): New
1299         functions.
1300         (unit_decl): Change types of members `presence_list' and
1301         `absence_list'.
1302         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1303         (decl): Change types of members `excl', `presence', and `absence'.
1304         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1305         at the end of the vector.
1306         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1307         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1308         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1309         (gen_presence_set, gen_absence_set): Use new function
1310         `gen_presence_absence_set'.
1311         (add_presence_absence): Process `pattern_list' instead of
1312         `source_list'.
1313         (process_decls): USe new functions
1314         `process_presence_absence_names' and
1315         `process_presence_absence_patterns'.
1316         (reserv_sets_are_intersected): Use new function
1317         `check_presence_pattern_sets'.
1318         (presence_set, absence_set): Remove them.
1319         (unit_presence_set_table, unit_absence_set_table): New global
1320         variables.
1321         (output_description): Use new function
1322         `output_pattern_set_el_list'.
1323         (generate): Use `initiate_presence_absence_pattern_sets'.
1324         
1325         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1326
1327         * genattr.c (main): Add output of prototype of new interface
1328         function `dfa_clean_insn_cache'.
1329
1330         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1331         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1332         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1333         the generated code.
1334         (write_automata): Call the new function.
1335         
1336 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1337
1338         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1339         correctly.
1340
1341 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1342
1343         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1344
1345 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1346
1347         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1348         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1349         (CONSTRAINT_LEN): Provide default definition.
1350         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1351         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1352         (EXTRA_CONSTRAINT_STR): Likewise.
1353         (REG_CLASS_FROM_CONSTRAINT): Define.
1354         * genoutput.c (check_constraint_len, constraint_len): New functions.
1355         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1356         constraint / modifier.
1357         (gen_insn): Call check_constraint_len.
1358         * local-alloc.c (block_alloc): Update to use new macros / pass
1359         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1360         * ra-build.c (handle_asm_insn): Likewise.
1361         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1362         (constrain_operands, peep2_find_free_register): Likewise.
1363         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1364         * regmove.c (find_matches): Likewise.
1365         * reload.c (push_secondary_reload, find_reloads): Likewise.
1366         (alternative_allows_memconst): Likewise.
1367         * reload1.c (maybe_fix_stack_asms): Likewise.
1368         (reload_cse_simplify_operands): Likewise.
1369         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1370         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1371         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1372         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1373         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1374         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1375
1376         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1377
1378 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1379
1380         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1381         length.
1382         (*extzv_1_r_h8300hs): Likewise.
1383         (*extzv_1_r_inv_h8300): Likewise.
1384         (*extzv_1_r_inv_h8300hs): Likewise.
1385
1386 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1387
1388         * config/h8300/h8300.h (PREDICATE_CODES): New.
1389
1390 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1391
1392         * config/h8300/h8300.md (*addsi3_upper): New.
1393         (*iorsi3_shift): Likewise.
1394         (two splitters): Likewise.
1395         (*addsi3_shift): Likewise.
1396         (two splitters): Likewise.
1397
1398 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1399
1400         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1401         * basic-block.h (control_flow_insn_p): Fuction was exported.
1402         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1403         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1404         notes only when the region is contained in a single basic block.
1405
1406 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1407
1408         PR inline-asm/8832
1409         * tree.h (expand_asm): New prototype.
1410         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1411         to do so.
1412         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1413         down to expand_asm.
1414         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1415         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1416         (volatile_refs_p) [ASM_INPUT]: Likewise.
1417         (side_effects_p) [ASM_INPUT]: Likewise.
1418
1419 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1420
1421         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1422         athlon_decode attributes
1423         (imul/k8 optimization peep2s): New.
1424
1425         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1426         * i386.md (type attribute): Add ssecomi.
1427         (unit, memory, prefix attributes): Handle ssecomi.
1428         (cvt?2? patterns): Fix athlon_decode attribute
1429         (comi patterns): Set attribute to ssecomi.
1430
1431         PR target/8343
1432         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1433
1434 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1435
1436         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1437         that match register_operands.
1438         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1439         register_operand the default case.
1440
1441 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1442
1443         PR c/8032
1444         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1445         an empty element, do not advance the pointer to unfilled
1446         fields if there are pending initializers.
1447
1448 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1449
1450         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1451         (install-gcc-tooldir, install-cpp, installdirs,
1452         install-common, install-driver, install-info, install-man,
1453         install-headers, install-include-dir, install-headers-tar,
1454         install-headers-cpio, install-headers-cp, install-mkheaders,
1455         install-collect2, uninstall): Prepend $(DESTDIR) to
1456         destination paths in all (un)installation commands.
1457         (install-driver): Rewrite $(LN) commands to support DESTDIR
1458         with "ln" as well as with "ln -s".
1459         (installdirs): Simply use mkinstalldirs.
1460         (install-libgcc, install-multilib): Also pass DESTDIR.
1461         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1462         installation destination variable ldir.
1463         * config/alpha/t-osf4, config/arm/t-netbsd,
1464         config/ia64/t-hpux, config/mips/t-iris5-6,
1465         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1466         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1467         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1468         in the definition of SHLIB_INSTALL.
1469         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1470         $(libsubdir) in the installation commands.
1471
1472 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1473
1474         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1475         non-optimizing compile.
1476         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1477         compile.
1478
1479 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1480
1481         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1482         ms_struct and gcc_struct.
1483         (ix86_handle_struct_attribute): New function.
1484         (ix86_ms_bitfield_layout_p): Update to take new attributes
1485         into account.
1486         * doc/extend.texi: Document new attributes.
1487         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1488
1489 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1490
1491         PR optimization/8750
1492         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1493         scheduling pass to move insns across __alloca call.
1494
1495 2003-01-08  Dale Johannesen  <dalej@apple.com>
1496
1497         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1498         with *stmsi[3-8].
1499
1500 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1501
1502         PR target/9210
1503         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1504         Set SYMBOL_REF_FLAG on local data sym_ref.
1505
1506 2003-01-08  Dale Johannesen  <dalej@apple.com>
1507  
1508         * function.c (assign_parms):  Don't set pretend_args_size if 
1509           REG_PARM_STACK_SPACE.
1510           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set 
1511           pretend_args_size.
1512
1513 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1514
1515         * gcc.hlp: Delete.
1516
1517 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1518
1519         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1520
1521 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1522
1523         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1524         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1525         as hook_bool_tree_hwi_hwi_tree_true.
1526         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1527         (rs6000_emit_epilogue): Same.
1528         (rs6000_output_mi_thunk): Re-implement as RTL.
1529         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1530         xcoffout_declare_function if any debugging enabled.
1531
1532 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1533
1534         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1535         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1536         * config/mips/mips.h (enum processor_type): Rename
1537         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1538         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1539         Add PROCESSOR_M4K.
1540         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1541         (ISA_MIPS32R2): New define.
1542         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1543         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1544         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1545         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1546         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1547         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1548         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1549         compiling MIPS16 code.
1550         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1551         comment.
1552         (ISA_HAS_SEB_SEH): New define.
1553         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1554         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1555         processor_type value renaming.  Add support for MIPS32R2.
1556         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1557         entries.
1558         (override_options): Reimplement -mipsN option handling so that
1559         it will work correctly for -mips32r2.  Avoid branch-likely
1560         instructions on MIPS32R2.
1561         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1562         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1563         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1564         (extendhisi2_hw, extendqisi2_hw): New.
1565         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1566         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1567         MIPS32R2, and MIPS64.
1568         (LINK_SPEC): Pass -mips32r2 to linker.
1569         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1570         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1571         for mips32r2 in the -march description.  Alphabetically sort
1572         CPU names in the -march description.  Add long-missed -mips32
1573         and -mips64 to MIPS option summary.
1574
1575         * config.gcc: Update copyright years to include 2003.
1576         * config/mips/mips.c: Likewise.
1577         * config/mips/mips.h: Likewise.
1578         * config/mips/mips.md: Likewise.
1579         * config/mips/netbsd.h: Likewise.
1580         * doc/invoke.texi: Likewise.
1581
1582 2003-01-08  Andreas Schwab  <schwab@suse.de>
1583
1584         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1585         variable.
1586         * configure: Regenerated.
1587
1588 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1589
1590         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1591         extraction of det with b0, b1, w0, w2, etc.
1592         (compute_logical_op_length): Likewise.
1593         (compute_logical_op_cc): Likewise.
1594
1595 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1596
1597         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1598         HIGH on all variants.
1599
1600 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1601         
1602         * Makefile.in (PARTITION_H): New.
1603         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1604         * basic-block.h: Include hard-reg-set.h.
1605
1606 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1607
1608         * arm.h (ENABLE_XF_PATTERNS): Delete.
1609         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1610         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1611         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1612         (cmpxf_trap): Delete.
1613         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1614
1615 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1616
1617         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1618         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1619         (add??cc): New expanders.
1620         * i386.c (expand_int_addcc): New function.
1621         * i386-protos.h (expand_int_addcc): Declare.
1622
1623         * alias.c (memory_modified_1): New static function.
1624         (memory_modified): New static varaible.
1625         (memory_modified_in_insn_p): New global function.
1626         * rtl.h (memory_modified_in_insn_p): Declare.
1627         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1628         references.
1629
1630         * expr.h (emit_conditional_add): Declare.
1631
1632 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1633
1634         PR other/8947
1635         * doc/invoke.texi (-malign-double): Explain that the option breaks
1636         binary compatibility.
1637
1638 2003-01-08  Andreas Schwab  <schwab@suse.de>
1639
1640         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1641         should come from the generic *-*-linux* entry.
1642
1643 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1644
1645         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1646         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1647         we are inside libcall.
1648         * cselib.h (elt_loc_list): Add in_libcall.
1649         * gcse.c (do_local_cprop): Do not copy propagate using insns
1650         in libcalls.
1651
1652 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1653
1654         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1655         not normally affect to issue rate.
1656
1657 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1658
1659         * genopinit.c (optabs): Add addc_optab.
1660         * ifcvt.c (noce_try_store_flag): Rename to ...
1661         (noce_try_addcc): ... this one; handle generic conditional increment.
1662         (noce_process_if_block): Update noce_try_addcc call.
1663         * optabs.c (emit_conditional_add): New.
1664         (init_obtabs): Initialize addc_optab.
1665         * optabs.h (optab_index): Add OTI_addcc.
1666         (addcc_optab): New macro.
1667         * md.texi: Document addMcc
1668
1669         PR target/8322
1670         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1671         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1672         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1673
1674         * reload1.c (delete_output_reload): Avoid repeated attempts
1675         to delete insn.
1676
1677 2003-01-07  Andreas Schwab  <schwab@suse.de>
1678
1679         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1680         Move --enable-initfini-array check ...
1681         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1682         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1683         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1684         * configure: Rebuild.
1685
1686 2003-01-07  Richard Henderson  <rth@redhat.com>
1687
1688         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1689         if the register is set once.
1690
1691 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1692   
1693         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1694         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1695         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1696
1697 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1698             Sunil Davasam  <sunil.k.davasam@intel.com>
1699
1700         PR libstdc++/9076 
1701         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1702         DW_CFA_same_value, read next and ignore.
1703
1704 2003-01-07  Richard Henderson  <rth@redhat.com>
1705
1706         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1707
1708 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1709
1710         * cfg.c: Include alloc-pool.h
1711         (edge_pool): New pool.
1712         (bb_pool): New pool.
1713         (first_deleted_edge): Remove.
1714         (first_deleted_block): Remove.
1715         (init_flow): Alloc/free the pools.
1716         (free_edge): Use pools.
1717         (alloc_block): Ditto.
1718         (expunge_block): Ditto.
1719         (cached_make_edge): Ditto.
1720
1721         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1722
1723 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1724
1725         * et-forest.c: Include alloc-pool.h.
1726         (struct et_forest): Add node_pool and occur_pool.
1727         (et_forest_create): Create the new pools.
1728         (et_forest_delete): Delete them.
1729         (et_forest_add_node): Allocate and free using pools.
1730         (et_forest_add_edge): Ditto.
1731         (et_forest_remove_node): Ditto.
1732         (et_forest_remove_edge): Ditto.
1733
1734         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1735
1736 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1737
1738         * config/h8300/h8300.c (output_logical_op): Simplify and
1739         optimize the handling of SImode.
1740         * config/h8300/h8300.c (compute_logical_op_length): Update
1741         accordingly.
1742         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1743
1744 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1745
1746         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1747         big-endian correction to indirect arguments too.
1748
1749 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1750
1751         Segher Boessenkool  <segher@koffie.nl>
1752
1753         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1754         (alt_reg_names): Ditto, fix formatting.
1755         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1756
1757 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1758
1759         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1760         (output_logical_op): Constify intval and det.
1761         (compute_logical_length): Likewise.
1762         (compute_logical_cc): Likewise.
1763         (output_a_shift): Constify mask.
1764         (h8300_encode_label): Constify len.
1765
1766 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1767
1768         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1769         (h8300_expand_epilogue): Likewise.
1770
1771 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1772
1773         Segher Boessenkool  <segher@koffie.nl>
1774
1775         * config/rs6000/altivec.md: Remove spaces from assembler
1776         instruction argument lists.
1777         
1778 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1779
1780         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1781         c4x_assembler_function_p.
1782         (c4x_null_epilogue_p): Complement return value, all uses updated.
1783         (c4x_insert_attributes): Add naked.
1784         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1785         * doc/extend.texi: Update C4x function attributes.
1786
1787 2003-01-06  Richard Henderson  <rth@redhat.com>
1788
1789         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1790         properly when changing "local-ness".
1791         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1792
1793 2003-01-06  Dale Johannesen  <dalej@apple.com>
1794
1795         * config/darwin-protos.h:  Add prototypes for new section functions.
1796
1797 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1798
1799         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1800         to EABI.
1801
1802 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1803
1804         * hwint.h: If the current compiler has no 64-bit type at all,
1805         make HOST_WIDEST_INT 32 bits.
1806
1807 2003-01-06  Eric Christopher  <echristo@redhat.com>
1808
1809         * config/mips/mips.md (movdf_internal2): Fix constraints.
1810
1811 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1812
1813         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1814
1815 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1816
1817         * config/mips/mips.md (leadi): Use dla rather than la.
1818
1819 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1820
1821         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1822         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1823
1824 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1825
1826         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1827         redefinition.
1828
1829 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1830
1831         * config/h8300/h8300.md (*extzv_8_23): New.
1832
1833 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1834
1835         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1836         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1837         USE_EH_FRAME_REGISTRY when defining.
1838
1839 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1840
1841         * config/h8300/h8300.c (output_a_shift): Do not output a
1842         variable shift.
1843         * config/h8300/h8300.md (two splitters): New.
1844
1845 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1846
1847         * config/mips/mips.md: Disable the movstrsi define_split.
1848
1849 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1850
1851         * alloc-pool.c: Don't include "libiberty.h".
1852         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1853         * convert.c (convert_to_real): Hide unused variable.
1854
1855 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1856
1857         * Makefile.in (gtyp-gen.h): Const-ify.
1858         * gcov-dump.c (tag_table): Likewise.
1859
1860 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1861
1862         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1863         of *both* the file name and the fix name.
1864
1865 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
1866
1867         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
1868         collect2.
1869         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1870         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1871         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1872         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1873         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1874         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1875         elfos.h.
1876         (EH_FRAME_IN_DATA_SECTION): Delete define.
1877         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1878         (STARTFILE_SPEC): Use crtbegin.o.
1879         (ENDFILE_SPEC): Use crtend.o.
1880         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1881         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1882         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1883         DTOR_LIST_BEGIN): Define.
1884         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
1885         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
1886         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
1887
1888 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
1889
1890         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
1891         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
1892         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
1893         Cleanup handling of replacement text.
1894         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
1895
1896 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1897
1898         * fixinc/tests/base/math.h: removed obsolete results
1899         * fixinc/tests/base/stdlib.h: ditto
1900         * fixinc/tests/base/sys/param.h: ditto
1901         * fixinc/tests/base/sys/stat.h: ditto
1902         * fixinc/tests/base/time.h: ditto
1903         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
1904         * fixinc/tests/base/sys/byteorder.h: ditto
1905         * fixinc/inclhack.def: Remove superfluous backslashes
1906
1907 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
1908
1909         * config/h8300/h8300-protos.h: Add prototypes for
1910         the new functions defined below.
1911         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
1912         define.
1913         (dosize): Emit RTL instead of assembly code.
1914         (push): Likewise.
1915         (pop): Likewise.
1916         (h8300_output_function_prologue): Remove.
1917         (h8300_expand_prologue): New.
1918         (h8300_expand_epilogue): New.
1919         (h8300_output_function_epilogue): Do only the reset of
1920         pragma_saveall.
1921         * config/h8300/h8300.md (push_h8300): New.
1922         (push_h8300hs): Likewise.
1923         (pop_h8300): Likewise.
1924         (pop_h8300hs): Likewise.
1925         (*stm_h8300s_2): Change the name to stm_h8300s_2.
1926         (*stm_h8300s_3): Change the name to stm_h8300s_3.
1927         (*stm_h8300s_4): Change the name to stm_h8300s_4.
1928         (*ldm_h8300s_2): New.
1929         (*ldm_h8300s_3): Likewise.
1930         (*ldm_h8300s_4): Likewise.
1931         (return): Likewise.
1932         (*return_1): Likewise.
1933         (prologue): Likewise.
1934         (epilogue): Likewise.
1935         (monitor_prologue): Likewise.
1936
1937 2003-01-03  Dale Johannesen  <dalej@apple.com>
1938
1939         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
1940           machopic_picsymbol_stub1.
1941           (EXTRA_SECTION_FUNCTIONS):  Ditto.
1942         * rs6000/rs6000.c:  Update copyright.
1943           (machopic_output_stub):  Use them.  Remove an insn from stub code.
1944
1945 2003-01-02  Jason Merrill  <jason@redhat.com>
1946
1947         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
1948
1949         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
1950         static/external decls.
1951
1952         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
1953         outermost scope.
1954         * c-decl.c (c_make_fname_decl): Push the decls there, too.
1955
1956 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
1957
1958         * config/h8300/h8300-protos.h: Add a prototype for
1959         h8300_current_function_interrupt_function_p.
1960         * config/h8300/h8300.c (interrupt_handler): Remove.
1961         (os_task): Likewise.
1962         (monitor): Likewise.
1963         (pragma_interrupt): New.
1964         (WORD_REG_USED): Use
1965         h8300_current_function_interrupt_function_p.
1966         (dosize): Likewise.
1967         (h8300_output_function_prologue): Likewise.
1968         Do not set interrupt_handler, os_task, monitor.
1969         (h8300_output_function_prologue): Use
1970         h8300_current_function_interrupt_function_p.
1971         Do not set interrupt_handler, os_task, monitor.
1972         (h8300_current_function_interrupt_function_p): New.
1973         (h8300_pr_interrupt): Set pragma_interrupt.
1974         (h8300_insert_attributes): Reset pragma_interrupt.
1975
1976 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1977
1978         * doc/install.texi (Configuration): Fix markup for reference to
1979         gcc/config.gcc.
1980
1981 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
1982
1983         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
1984         (*iorhi3_two_qi): Likewise.
1985         (*iorsi3_zexthi): Likewise.
1986         (*xorhi3_zextqi): Likewise.
1987         (*xorsi3_zexthi): Likewise.
1988         (*xorsi3_zextqi): Likewise.
1989
1990 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
1991
1992         * config/h8300/h8300.c (stack_pointer_operand): New.
1993         (const_int_gt_2_operand): Likewise.
1994         (const_int_ge_8_operand): Likewise.
1995         * config/h8300/h8300.md (a splitter): Likewise.
1996         (a peephole2): Likewise.
1997         * config/h8300/h8300-protos.h: Add prototypes for the new
1998         functions above.
1999
2000 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2001
2002         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2003         objc/objc-act.h: Fix copyright years.
2004
2005 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2006
2007         * doc/passes.texi: Fix documentation for -fssa-ccp
2008
2009 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2010
2011         * gccbug.in: Update for new categories.
2012
2013 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2014
2015         * config/h8300/h8300.md: Reorder some patterns.
2016
2017 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2018
2019         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2020
2021 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2022
2023         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2024         config/cris/cris-protos.h, config/i370/i370-protos.h,
2025         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2026         config/v850/v850-protos.h: Use struct, and don't conditionally
2027         compile on GCC_C_PRAGMA_H.
2028
2029 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2030
2031         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2032         * config/h8300/h8300-protos.h: Likewise.
2033         * config/sh/sh-protos.h: Likewise.
2034
2035 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2036
2037         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2038         cpp_reader.
2039         * config/h8300/h8300-protos.h: Likewise.
2040         * config/sh/sh-protos.h: Likewise.
2041
2042 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2043
2044         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2045         arm_pr_long_calls_off): Use struct.
2046         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2047         : Similarly.
2048         Don't include cpplib.h.
2049         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2050         sh_pr_nosave_low_regs): Similarly.
2051
2052 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2053
2054         * config/h8300/h8300.c: Include cpplib.h.
2055
2056 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2057
2058         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2059           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2060           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2061           "GCC" in the copyright header.
2062
2063 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2064
2065         * c-pragma.c (c_register_pragma): New.
2066         (init_pragma): Use it.
2067         * c-pragma.h (cpp_register_pragma): Don't declare.
2068         (c_register_pragma): New.
2069         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2070         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2071         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2072         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2073         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2074         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2075         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2076         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2077         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2078         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2079         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2080         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2081
2082 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2083
2084         * config/h8300/h8300-protos.h: Update the prototypes.
2085         * config/h8300/h8300.c (const_le_2_operand): Change to
2086         const_int_le_2_operand.
2087         (const_int_le_6_operand): Change to const_int_le_6_operand.
2088         * config/h8300/h8300.md (two peepholes): Update the function
2089         names.
2090
2091 2002-12-31  Tom Tromey  <tromey@redhat.com>
2092
2093         * doc/install.texi (Testing): Fixed typo.
2094
2095 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2096
2097         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2098         (TRAMPOLINE_SIZE): Support the normal mode.
2099         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2100
2101 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2102
2103         * c-common.h (pending_lang_change): Declare.
2104
2105 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2106
2107         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2108         descriptions.
2109
2110 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2111
2112         * gcc/doc/invoke.texi (Optimization Options): List the options
2113         enabled by each -O flag.
2114
2115 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2116
2117         * doc/install.texi (Configuration): Explicitly refer
2118         gcc/config.gcc for a list of cpu models.
2119
2120 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2121
2122         * config/h8300/h8300.h: Fix comment typos.
2123
2124 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2125
2126         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2127
2128 2002-12-30  Tom Tromey  <tromey@redhat.com>
2129
2130         * doc/install.texi (Testing): Mention Jacks.
2131
2132 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2133
2134         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2135
2136 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2137
2138         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2139         cases.
2140         (compute_logical_op_length): Update to reflect the change in
2141         output_logical_op.
2142         (compute_logical_op_cc): Likewise.
2143
2144 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2145
2146         * doc/service.texi: Uncomment and update FAQ link.
2147
2148 2002-12-30  Andreas Jaeger  <aj@suse.de>
2149
2150         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2151
2152 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2153
2154         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2155
2156 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2157
2158         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2159         are clearing the most significant byte.
2160         (compute_logical_op_length): Update to reflect the change in
2161         output_logical_op.
2162         (compute_logical_op_cc): Likewise.
2163
2164 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2165
2166         * config/h8300/h8300.md: Give internal names to anonymous
2167         insns.
2168
2169 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2170
2171         * config/h8300/h8300.md: Reorder some insns.
2172
2173 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2174
2175         * config/h8300/h8300-protos.h: Add prototypes for
2176         const_int_qi_operand and const_int_hi_operand.
2177         * config/h8300/h8300.c (const_int_qi_operand): New.
2178         (const_int_hi_operand): Likewise.
2179         * config/h8300/h8300.md (three peepholes): New.
2180
2181 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2182
2183         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2184         Use @copying.
2185
2186 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2187
2188         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2189         * configure: Regenerate.
2190         * doc/install.texi: Update Texinfo version requirement.
2191
2192 2002-12-28  Andreas Jaeger  <aj@suse.de>
2193
2194         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2195         possibly unused.
2196
2197         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2198         correct format.
2199
2200 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2201
2202         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2203         *iorhi_ashift_8.
2204         (*iorhi_lshiftrt_8): New.
2205
2206 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2207
2208         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2209
2210 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2211
2212         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2213
2214 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2215
2216         * config/h8300/h8300-protos.h: Fix comment typos.
2217         Update copyright.
2218         * config/h8300/h8300.c: Fix comment typos.
2219
2220 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2221
2222         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2223
2224 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2225
2226         * config/i386/athlon.md: Fix comment typos.
2227         * config/i386/crtdll.h: Likewise.
2228         * config/i386/djgpp.h: Likewise.
2229         * config/i386/i386-interix.h: Likewise.
2230         * config/i386/i386.c: Likewise.
2231         * config/i386/i386.h: Likewise.
2232         * config/i386/i386.md: Likewise.
2233         * config/i386/k6.md: Likewise.
2234         * config/i386/mingw32.h: Likewise.
2235         * config/i386/pentium.md: Likewise.
2236         * config/i386/sco5.h: Likewise.
2237         * config/i386/winnt.c: Likewise.
2238         * config/i386/xmmintrin.h: Likewise.
2239
2240 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2241
2242         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2243         INSN_P before checking to see if it is dead.
2244         (mark_all_insn_unnecessary): Similarly.
2245         (ssa_eliminate_dead_code): Similarly.
2246         * rtl.h (struct rtx_def): Update comments for in_struct usage
2247         in dead code elimination pass.
2248         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2249
2250 2002-12-26  Andreas Schwab  <schwab@suse.de>
2251
2252         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2253
2254 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2255
2256         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2257         tartet_flags_explicit.
2258         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2259         Compact target_flags bits.
2260         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2261         (TARGET_SWITCHES): Delete references to *_SET flags.
2262
2263 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2264
2265         * i386.md (memory attribute): Fix setcc attribute.
2266
2267 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2268
2269         * output.h: Fix comment typos.
2270         * predict.c: Likewise.
2271         * print-tree.c: Likewise.
2272         * profile.c: Likewise.
2273         * ra-build.c: Likewise.
2274         * ra-colorize.c: Likewise.
2275         * ra-debug.c: Likewise.
2276         * ra-rewrite.c: Likewise.
2277         * ra.c: Likewise.
2278         * ra.h: Likewise.
2279         * real.c: Likewise.
2280         * recog.c: Likewise.
2281         * reg-stack.c: Likewise.
2282         * regclass.c: Likewise.
2283
2284 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2285
2286         * config/h8300/h8300.c (print_operand_address): Do not negate
2287         a negative number when printing one.
2288
2289 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/h8300/h8300-protos.h: Add prototypes for
2292         output_plussi, compute_plussi_length, and compute_plussi_cc.
2293         * config/h8300/h8300.c (output_plussi): New.
2294         (compute_plussi_length): Likewise.
2295         (compute_plussi_cc): Likewise.
2296         * config/h8300/h8300.md (addsi_h8300h): Call
2297         output_plussi, compute_plussi_length, and compute_plussi_cc.
2298
2299 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2300
2301         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2302         of match_operand in the new patterns.
2303
2304 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2305
2306         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2307
2308 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2309
2310         * configure.in (enable-coverage): Add SELF_COVERAGE.
2311         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2312
2313 2002-12-24  Jim Wilson  <wilson@redhat.com>
2314
2315         * alias.c (record_set): Handle multi-reg hard registers.
2316
2317 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2318
2319         * regmove.c: Fix comment typos.
2320         * reload.c: Likewise.
2321         * reload1.c: Likewise.
2322         * resource.c: Likewise.
2323         * rtl.def: Likewise.
2324         * rtl.h: Likewise.
2325         * rtlanal.c: Likewise.
2326         * sched-deps.c: Likewise.
2327         * sched-rgn.c: Likewise.
2328         * sibcall.c: Likewise.
2329         * simplify-rtx.c: Likewise.
2330         * ssa-ccp.c: Likewise.
2331         * ssa.c: Likewise.
2332         * stmt.c: Likewise.
2333         * stor-layout.c: Likewise.
2334         * system.h: Likewise.
2335         * tlink.c: Likewise.
2336         * toplev.c: Likewise.
2337         * tracer.c: Likewise.
2338         * tree-inline.c: Likewise.
2339         * tree.c: Likewise.
2340         * tree.h: Likewise.
2341         * unroll.c: Likewise.
2342         * varasm.c: Likewise.
2343
2344 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2345
2346         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2347         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2348         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2349         DG/UX entries.
2350         * doc/md.texi: Remove AMD 29K entries.
2351         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2352         1.38.1, NewsOS, RT PC, WE32K entries.
2353
2354 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2355
2356         PR/8763
2357         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2358         (altivec_vspltisw_v4sf): Name pattern.
2359         (altivec_vslw_v4sf): New pattern.
2360
2361 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2362
2363         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2364
2365 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2366
2367         * stor-layout.c (update_alignment_for_field): Correct handling of
2368         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2369         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2370         bitfield does not affect alignment.
2371
2372 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2373
2374         * expr.c (expand_assignment): Apply special treatment to
2375         ARRAY_TYPE.
2376
2377 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2378
2379         * config/h8300/h8300-protos.h: Update the prototype of
2380         expand_a_shift.
2381         * config/h8300/h8300.c (expand_a_shift): Change the return
2382         type to void.
2383         * config/h8300/h8300.md: Update all the uses of
2384         expand_a_shift.
2385
2386 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2387
2388         * tree.c (save_expr): Allow either side of a dyadic operand to be
2389         constant.
2390
2391         * doc/portability.texi (portability): Update portability goals.
2392
2393 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2394
2395         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2396
2397 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2398
2399         * stor-layout.c (update_alignment_for_field): Guard use of
2400         ADJUST_FIELD_ALIGN with #ifdef.
2401
2402         * stor-layout.c (update_alignment_for_field): Use
2403         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2404         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2405
2406 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2407
2408         * genautomata.c: Fix comment typos.
2409
2410 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2411
2412         * params.def (tracer-min-branch-probability-feedback): Fix default.
2413         * final.c (compute_alignments): Use profile to avoid code bloat.
2414
2415 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2416
2417         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2418         sequences end with a valid cc0 whenever possible.
2419
2420 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2421
2422         * config/h8300/h8300.md (negsf2): New.
2423         (*negsf2_h8300): Likewise.
2424         (*negsf2_h8300hs): Likewise.
2425
2426 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2427
2428         * integrate.c (output_inline_function): Don't hold private
2429         pointers to 'struct function' over GC calls.
2430
2431 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2432
2433         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2434         NO_FPSCR_VALUES.
2435         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2436
2437 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2438
2439         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2440         length.
2441
2442 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2443
2444         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2445         second alternative "#".
2446         (*zero_extendqihi2_h8300hs): Likewise.
2447         (a define_split): New.
2448
2449 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2450
2451         * config/h8300/h8300-protos.h: Update the prototype for
2452         split_adds_subs.
2453         Add prototypes for const_le_2_operand and const_le_6_operand.
2454         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2455         specify whether inc/dec should be used when possible.
2456         (const_le_2_operand): New.
2457         (const_le_6_operand): Likewise.
2458         * config/h8300/h8300.md (two peepholes): New.
2459
2460 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2461
2462         * config/fr30/fr30.md: Fix a comment typo.
2463         * config/i386/i386.c: Likewise.
2464         * config/ip2k/ip2k.h: Likewise.
2465
2466 2002-12-20  Jim Wilson  <wilson@redhat.com>
2467
2468         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2469         (__ev_subw, __ev_subiw): New.
2470         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2471         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2472
2473 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2474
2475         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2476         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2477         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2478         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2479
2480 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2481
2482         * config/h8300/h8300-protos.h: Add prototypes for
2483         incdec_operand and eqne_operator.
2484         * config/h8300/h8300.c (incdec_operand): New.
2485         (eqne_operator): Likewise.
2486         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2487         (CONST_OK_FOR_O): Likewise.
2488         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2489         CONST_OK_FOR_O.
2490         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2491         (addhi3_incdec): New.
2492         (addsi3_incdec): Likewise.
2493         (two peepholes): Likewise.
2494
2495 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2496
2497         * config/h8300/h8300.c (dosize): Remove warnings.
2498         (print_operand): Likewise.
2499
2500 2002-12-20  Richard Henderson  <rth@redhat.com>
2501
2502         * config/alpha/alpha.c (decl_has_samegp): New.
2503         (samegp_function_operand): Use it.  Rename from
2504         current_file_function_operand.
2505         (direct_call_operand): Handle -msmall-text via symbol->jump.
2506         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2507         (tls_symbolic_operand_type): Likewise.
2508         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2509         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2510         (alpha_end_function): Set symbol->jump for functions defined in
2511         the text section.
2512         * config/alpha/alpha-protos.h: Update.
2513         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2514         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2515         (PREDICATE_CODES): Update.
2516         * config/alpha/alpha.md (call patterns): Update for
2517         samegp_function_operand rename; use !samegp reloc if
2518         TARGET_EXPLICIT_RELOCS.
2519         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2520
2521 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2522
2523         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2524         all registers capable of holding a double float.
2525         (*rcond): change name of "reverse branch" insns to
2526         something more meaningful.
2527         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2528         comparisons properly.
2529         (*ffs): Change operand 0 from write to read-modify-write.
2530         (*ffsssi2): Drop constraints from define_expand.
2531
2532         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2533         MOVE_RATIO as default for store operations.
2534
2535         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2536         LONG_REGS class.
2537         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2538         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2539         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2540
2541         * config/ns32k/STATUS: New File
2542         * config/ns32k/NOTES: New file.
2543
2544 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2545
2546         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2547         option for S/390 and zSeries.
2548         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2549         s390_arch_string): New variables.
2550         (override_options): Checking for options and setting of
2551         appropriate target_flags, cpu and arch flags.
2552         * config/s390/s390.h: (processor_type): New enum.
2553         (TARGET_SWITCHES): New switches -mesa/zarch.
2554         * config/s390/s390.md: New attribute 'cpu'.
2555
2556 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2557
2558         * c-pretty-print.h: Fix comment typos.
2559         * integrate.c: Likewise.
2560         * varasm.c: Likewise.
2561         * config/c4x/c4x.h: Likewise.
2562         * config/c4x/c4x.md: Likewise.
2563         * config/fr30/fr30.md: Likewise.
2564         * config/frv/frv.c: Likewise.
2565         * config/h8300/h8300.c: Likewise.
2566         * config/i386/i386.c: Likewise.
2567         * config/i386/i386.h: Likewise.
2568         * config/ia64/ia64.c: Likewise.
2569         * config/ia64/ia64.h: Likewise.
2570         * config/ip2k/ip2k.md: Likewise.
2571         * config/m68hc11/m68hc11-crt0.S: Likewise.
2572         * config/m68hc11/m68hc11.h: Likewise.
2573         * config/m68hc11/m68hc11.md: Likewise.
2574         * config/m68hc11/m68hc12.h: Likewise.
2575         * config/mcore/mcore.md: Likewise.
2576         * config/mips/mips.c: Likewise.
2577         * config/mips/mips.md: Likewise.
2578         * config/mmix/mmix-modes.def: Likewise.
2579         * config/pa/pa.c: Likewise.
2580         * config/rs6000/rs6000.c: Likewise.
2581         * config/rs6000/rs6000.h: Likewise.
2582         * config/rs6000/rs6000.md: Likewise.
2583
2584 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2585
2586         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2587         output shifts using rotation.
2588
2589 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2590
2591         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2592
2593 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2594
2595         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2596         pointer.
2597         (pushqi_h8300hs): Likewise.
2598         (pushhi_h8300): Likewise.
2599         (pushhi_h8300hs): Likewise.
2600
2601 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2602
2603         * sched-rgn.c (init_regions): Update comment.
2604
2605 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2606
2607         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2608         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2609         attributes.
2610         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2611         (get_vrsave_internal,set_vrsave_internal): Same.
2612         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2613         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2614         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2615
2616 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2617             Danny Smith  <dannysmith@users.sourceforge.net>
2618             Eric Kohl  <ekohl@rz-online.de>
2619
2620         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2621         attributes incompatible with fastcall attribute.
2622         (ix86_handle_regparm_attribute): Likewise.
2623
2624         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2625         fastcall types.
2626
2627         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2628         attributes.
2629         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2630         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2631         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2632         i386_pe_output_labelref rather than here.
2633         (gen_fastcall_suffix): New function. Decorates a label name with the
2634         fastcall prefix (@) and the stdcall suffix.
2635         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2636         has a fastcall attribute.
2637         (i386_pe_output_labelref): New function. Outputs a label reference.
2638         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2639         valid attribute.
2640         (ix86_return_pops_args): Fastcall functions pop the stack.
2641         (init_cumulative_args): Reserve registers ECX and EDX if function has
2642         fastcall attribute.
2643         (function_arg): Use registers ECX and EDX if function has fastcall
2644         attribute.
2645         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2646         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2647         (FASTCALL_PREFIX): Define as '@'.
2648         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2649         attributes.
2650         * doc/extend.texi: Add documentation of fastcall attribute.
2651
2652 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2653
2654         * configure.in: FORBUILD when build!=host changed from
2655         ../$build-alias to ../build-$build_alias to match change made
2656         in top directory.
2657         * configure: Regenerated.
2658
2659 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2660
2661         PR optimization/8988
2662         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2663         the biv when eliminating.
2664
2665 2002-12-19  Devang Patel  <dpatel@apple.com>
2666         * gcc.c (struct default_compiler): Recognizes input file name with
2667         .CPP extension as C++ source files
2668         * cp/lang-spec.h: Same
2669         * doc/invoke.texi:  Add documentation for .CPP support.
2670
2671 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2672
2673         PR 8553
2674         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2675         registers.
2676         ("absv16qi2"): Same.
2677         ("absv4si2"): Same.
2678         ("absv4sf2"): Same.
2679         ("altivec_abss_v16qi"): Same.
2680         ("altivec_abss_v8hi"): Same.
2681         ("altivec_abss_v4si"): Same.
2682
2683 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2684
2685         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2686         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2687
2688 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2689
2690         PR target/8340
2691         * stmt.c (expand_asm_operands): Produce an error when
2692         the PIC register is clobbered.
2693
2694 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2695
2696         * Makefile.in (OBJS): Add alloc-pool.o
2697         (alloc-pool.o): New object.
2698
2699         * alloc-pool.c: New file.
2700         * alloc-pool.h: New file.
2701
2702 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2703
2704         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2705
2706 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2707
2708         * config.gcc: Set extra_objs in the generic Darwin rule,
2709         not in the machine-specific rules.
2710
2711 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2712
2713         * ChangeLog: Follow spelling conventions.
2714         * ChangeLog.2: Likewise.
2715         * ChangeLog.4: Likewise.
2716         * ChangeLog.5: Likewise.
2717         * cppexp.c: Likewise.
2718         * df.c: Likewise.
2719         * gcov.c: Likewise.
2720         * gengtype.c: Likewise.
2721         * reload1.c: Likewise.
2722         * sched-rgn.c: Likewise.
2723         * stmt.c: Likewise.
2724         * stor-layout.c: Likewise.
2725         * timevar.c: Likewise.
2726         * toplev.c: Likewise.
2727         * tree.h: Likewise.
2728         * varasm.c: Likewise.
2729         * config/fr30/fr30.md: Likewise.
2730         * config/i386/i386.c: Likewise.
2731         * config/ia64/ia64.c: Likewise.
2732         * config/pa/pa.c: Likewise.
2733
2734 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2735
2736         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2737
2738 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2739
2740         PR 8551
2741         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2742         macro.
2743         (vec_cmplt C++ functions): Reverse arguments.
2744
2745 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2746
2747         * config/rs6000/t-rs6000: Move contents to t-fprules,
2748         add rules for dependencies of rs6000.o and to build rs6000-c.o
2749         * config/rs6000/t-fprules: New file from t-rs6000.
2750         * config/rs6000/t-beos: Remove soft-fp rules.
2751         * config/rs6000/t-ppccomm: Likewise.
2752         * config/rs6000/t-newas: Likewise.
2753         * config/rs6000/t-rs6000-c-rule: Delete.
2754         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2755         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2756         Create generic Darwin rules.
2757
2758         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2759
2760 2002-12-18  Doug Evans  <dje@sebabeach.org>
2761
2762         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2763         and LIT_NAME_P.
2764         (move_src_operand): Remove compile-time warning.
2765         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2766
2767 2002-12-18  Jason Merrill  <jason@redhat.com>
2768
2769         * unwind-dw2-fde.c (frame_downheap): Split out from...
2770         (frame_heapsort): Here.
2771
2772 2002-12-17  Jason Merrill  <jason@redhat.com>
2773
2774         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2775         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2776
2777         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2778
2779         * calls.c (expand_call): Don't try to be clever about expanding
2780         the return slot address.
2781
2782 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2783
2784         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2785         Define.
2786
2787 2002-12-17  Jason Merrill  <jason@redhat.com>
2788
2789         * genmultilib: Use 'cd ./foo'.
2790
2791 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2792
2793         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2794
2795 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2796
2797         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2798         * doc/cpp.texi: Likewise.
2799         * doc/extend.texi: Likewise.
2800         * doc/gty.texi: Likewise.
2801         * doc/install.texi: Likewise.
2802         * doc/invoke.texi: Likewise.
2803         * doc/md.texi: Likewise.
2804         * doc/passes.texi: Likewise.
2805         * doc/rtl.texi: Likewise.
2806         * doc/sourcebuild.texi: Likewise.
2807         * doc/tm.texi: Likewise.
2808
2809 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2810
2811         * doc/invoke.texi: Minor spelling and grammar fixes.
2812
2813 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2814
2815         * config/s390/s390.c (s390_output_constant_pool): Replace
2816         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2817
2818 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2819
2820         * convert.c (convert_to_real): Disable function transformation for
2821         now.
2822
2823 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2824
2825         * gcc.c (handle_braces): Allow '@' as a switch name.
2826
2827 2002-12-16  Jason Merrill  <jason@redhat.com>
2828
2829         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2830         with special struct-return ABIs.
2831
2832         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2833         doesn't match the begin SCOPE_STMT in partialness.
2834
2835 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2836
2837         * genmultilib: Create temporary files in unique subdirectory.
2838
2839         * gcc.c (validate_switches): Allow '@' as a switch name.
2840
2841 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2842
2843         * Makefile.in (gcov-iov.h): Improve portability.
2844
2845 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2846
2847         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2848         gas
2849         * mips.md (tablejump insn): Likewise.
2850
2851 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2852
2853         * doc/include/gcc-common.texi: Change version number to 3.4.
2854
2855 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2856
2857         * fixinc/fixlib.h: add: #include <signal.h>
2858         * fixinc/fixincl.c: remove: #include <signal.h>
2859
2860 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2861
2862         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2863         (EXTRA_CONSTRAINT): Use it.
2864         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2865
2866 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
2867
2868         * config.gcc (need_64bit_hwint): New variable.
2869         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2870         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2871         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2872         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2873         Set it.
2874         (powerpc*-*-darwin*): Unset it.
2875         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2876         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2877         deleted/nonexistent xm-*.h headers.
2878         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2879         target set need_64bit_hwint in config.gcc.
2880         * configure, config.in: Regenerate.
2881
2882         * hwint.h: Overhaul.  Don't bother trying int for
2883         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
2884         decision to force 64-bit HOST_WIDE_INT on
2885         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
2886         not visible at this point.  Don't allow prior definition of
2887         any macro defined by this file.
2888
2889         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
2890         HOST_BITS_PER_WIDE_INT.
2891         * config/c4x/c4x.h: Adjust redefinition of
2892         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
2893         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
2894         config/i386/xm-i386-interix.h: Delete file.
2895
2896 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
2897             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2898
2899         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
2900         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2901
2902 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2903
2904         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
2905
2906 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2907
2908         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
2909         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
2910         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
2911         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
2912         config/v850/t-v850:  Correct dependencies and normalize
2913         compilation commands for files that include coretypes.h and tm.h.
2914
2915         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
2916         not config.h and system.h.
2917
2918 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2919
2920         * i386.c (flags_reg_operand):  New function.
2921         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
2922         * i386.md (cmov splitter, movqicc): Use new predicate.
2923
2924 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2925
2926         * i386.md (movqicc splitter): Fix template.
2927
2928 2002-12-13  Jason Merrill  <jason@redhat.com>
2929
2930         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
2931         * calls.c (expand_call): Handle it.
2932         * tree-inline.c (struct inline_data): Remove target_exprs field.
2933         (optimize_inline_calls): Don't initialize it.
2934         (expand_call_inline): Don't modify it.  Handle
2935         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
2936         (declare_return_variable): Take return slot addr.
2937         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
2938         to return_slot_addr.
2939         * langhooks-def.h, langhooks.c: Adjust.
2940         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
2941         a decl with no DECL_INITIAL.
2942
2943         * expr.c (expand_expr): Don't discard the target of a call which
2944         returns in memory.
2945
2946 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
2947
2948         * cppinit.c (path_include): Take an environment variable name.
2949         Tidy up.
2950         (init_standard_includes): Simplify environment handling, and
2951         move to ...
2952         (cpp_read_main_file): ...here as -nostdinc should not affect
2953         environment variable paths.
2954
2955 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2956
2957         * pa.c (output_millicode_call): Correct typo.
2958         (output_call): Likewise.
2959
2960 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
2961
2962         * config/mn10300/mn10300.c (print_operand) <case N>: Check
2963         operand's range.  Print value directly, without aid from
2964         output_address.
2965         <case U>: New.
2966         <case S>: Make sure argument to fprintf has the right type.
2967         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
2968         (EXTRA_CONSTRAINT): Adjust.
2969         * config/mn10300/mn10300.md: Add new all-QImode pattern for
2970         bclr.  Use %U for immediate operands of bset and bclr.
2971         (iorqi3): New expand, with insns for AM33 and mn10300.
2972
2973 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
2974
2975         * sh.c (sh_register_operand): New function.
2976         (prepare_move_operands): Use it.
2977         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
2978         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
2979         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
2980         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
2981         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
2982         (movv2si_i): Likewise.
2983
2984 2002-12-13  Jim Wilson  <wilson@redhat.com>
2985
2986         * doc/extend.texi (Complex Numbers): Update info on debug info.
2987
2988 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
2989
2990         * config/h8300/h8300.md (addhi3_h8300): Remove the last
2991         alternative.
2992
2993 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2994
2995         * hooks.h (hook_tree_tree_bool_false): Declare
2996         hook_bool_tree_tree_false instead.
2997
2998 2002-12-12  Devang Patel  <dpatel@apple.com>
2999
3000         * doc/invoke.texi: Document Darwin linker options, -bundle
3001         -bind_at_load, -all_load and -arch_errors_fatal
3002
3003 2002-12-12  Jim Wilson  <wilson@redhat.com>
3004
3005         * dbxout.c (dbxout_fptype_value): New.
3006         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3007
3008 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3009
3010         * c-decl.c: Fix a comment typo.
3011         * cfg.c: Likewise.
3012         * cfgcleanup.c: Likewise.
3013         * cfglayout.c: Likewise.
3014         * cfgrtl.c: Likewise.
3015         * c-typeck.c: Likewise.
3016         * dominance.c: Likewise.
3017         * dwarf2asm.c: Likewise.
3018         * dwarfout.c: Likewise.
3019         * expmed.c: Likewise.
3020         * expr.c: Likewise.
3021         * final.c: Likewise.
3022         * flow.c: Likewise.
3023         * function.c: Likewise.
3024         * gcc.c: Likewise.
3025         * genautomata.c: Likewise.
3026         * integrate.c: Likewise.
3027         * loop.c: Likewise.
3028         * loop.h: Likewise.
3029         * output.h: Likewise.
3030         * profile.c: Likewise.
3031         * ra.h: Likewise.
3032         * reload1.c: Likewise.
3033         * reload.c: Likewise.
3034         * sched-rgn.c: Likewise.
3035         * stmt.c: Likewise.
3036         * tree.h: Likewise.
3037         * vmsdbgout.c: Likewise.
3038
3039 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3040
3041         * config/h8300/h8300.md: Add a new peephole2.
3042
3043 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3044
3045         * config/h8300/h8300.md (a peephole2): Accept a constant
3046         that's accepted by CONST_OK_FOR_J.
3047
3048 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3049
3050         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3051         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3052         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3053         (*addhi_h8300hs): Likewise.
3054
3055 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3056
3057         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3058         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3059         Increase cost for moves involving multiple general purpose registers.
3060         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3061         TARGET_FMOVD.
3062         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3063         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3064         (enum reg_class reg_class_from_letter): No longer const.
3065         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3066         REGCLASS_HAS_GENERAL_REG.
3067         Handle SImode moves from/to fp registers.
3068         ! TARGET_SHMEDIA && TARGET_FMOVD.
3069         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3070         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3071
3072 2002-12-12  Andreas Schwab  <schwab@suse.de>
3073
3074         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3075         change and some warnings.
3076
3077 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3078
3079         * doc/md.texi (pushm): Fix a typo.
3080
3081 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3082
3083         * config/mips/mips.c (mips_output_conditional_branch): Support
3084         PIC-safe out-of-range branch and branch-likely.
3085         * config/mips/mips.md (attr length): PIC-safe out-of-range
3086         branches are longer.
3087         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3088         unused code to support indirect jumps.
3089
3090 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3091
3092         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3093         $(tm_file_list).
3094
3095 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3096
3097         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3098
3099 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3100
3101         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3102
3103 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3104
3105         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3106         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3107         BIGGEST_ALIGNMENT.
3108         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3109         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3110
3111 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3112
3113         * doc/invoke.texi: Correct dump file names.
3114
3115 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3116
3117         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3118         name to globalize_label or assemble_name.
3119
3120 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3121
3122         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3123         if not TARGET_SHMEDIA.
3124
3125 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3126
3127         * sh.h (REG_CLASS_HAS_FP_REG): New.
3128         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3129         move it into:
3130         * sh.c (sh_register_move_cost).
3131         * sh-protos.h (sh_register_move_cost): Declare.
3132
3133         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3134         (sh_adjust_cost): Always return a value.
3135
3136 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3137
3138         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3139         (REGISTER_MOVE_COST): Use it.
3140
3141 2002-12-11  Richard Henderson  <rth@redhat.com>
3142
3143         * tree.h (MODULE_LOCAL_P): Kill.
3144         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3145
3146 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3147
3148         * config/h8300/h8300.md (two define_peephole2): New.
3149
3150 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3151
3152         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3153         (CONST_OK_FOR_K): Likewise.
3154         (CONST_OK_FOR_M): Likewise.
3155         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3156
3157 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3158
3159         * c-common.c (builtin_define_type_max): Handle unsigned
3160         types too.
3161
3162 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3163
3164         * haifa-sched.c (rank_for_schedule): Correct style.
3165
3166 2002-12-10  Per Bothner  <pbothner@apple.com>
3167
3168         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3169         directive_index into an unsigned field and a new is_directive field.
3170         * cppinit.c (mark_named_operators):  Update to set new fields.
3171         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3172         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3173         No longer need to subtract 1 from directive_index.
3174         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3175         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3176
3177 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3178
3179         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3180         check for evaluating sqrt of a constant at compile time.
3181         * simplify-rtx.c (simplify_unary_operation): Likewise.
3182
3183 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3184
3185         PR other/8882
3186         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3187
3188 2002-12-10  Devang Patel  <dpatel@appple.com>
3189
3190         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3191         * doc/invoke.texi: Add new "Darwin Options" section.
3192
3193 2002-12-10  Jim Wilson  <wilson@redhat.com>
3194
3195         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3196         memory.
3197
3198 2002-12-10  Andrew Haley  <aph@redhat.com>
3199
3200         * cse.c (cse_insn): Don't cse past a basic block boundary.
3201
3202 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3203
3204         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3205         -shared.
3206         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3207         * config/alpha/linux.h (LIB_SPEC): Likewise.
3208         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3209         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3210         * config/sparc/linux.h (LIB_SPEC): Likewise.
3211         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3212
3213 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3214
3215         * doc/invoke.texi: Document UltraSparc III option.
3216
3217 2002-12-09  Richard Henderson  <rth@redhat.com>
3218
3219         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3220         __tune_pentium2__ and __tune_pentium3__ as necessary.
3221
3222 2002-12-09  Richard Henderson  <rth@redhat.com>
3223
3224         * target.h (gcc_target): Add cannot_force_const_mem.
3225         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3226         (TARGET_INITIALIZER): Add it.
3227         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3228         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3229         * reload1.c (reload): Likewise.
3230         * hooks.c (hook_bool_rtx_false): New.
3231         * hooks.h: Declare it.
3232
3233         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3234         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3235         (ix86_expand_move): Remove de-const-pooling hack.
3236
3237 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3238
3239         * toplev.c (dump_file): Fix order to match reality.
3240
3241 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3242
3243         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3244         (store_multiple): Likewise.
3245
3246 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3247
3248         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3249         function pointers in page 0.
3250
3251 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3252
3253         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3254         definition
3255         (MEMBER_TYPE_FORCES_BLK): Move.
3256         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3257         aggregate arguments.
3258         (ia64_function_value): Use PARALLEL to return aggregate values.
3259
3260 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3261
3262         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3263         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3264         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3265         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3266         * stmt.c (expand_return): Ditto.
3267         * expr.c (move_block_from_reg): Ditto.
3268         (copy_blkmode_from_reg): Ditto.
3269         * expmed.c (store_bit_field): Ditto.
3270
3271 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3272
3273         * config.gcc: Added tic4x-* target as an alias to c4x-*
3274
3275 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3276
3277         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3278         constructing insn directly.
3279
3280 2002-12-06  Per Bothner  <pbothner@apple.com>
3281
3282         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3283         char to an int bit-field, for hosts where char is unsigned.
3284
3285 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3286             Richard Henderson <rth@redhat.com>
3287
3288         * real.c (ieee_extended_motorola_format,
3289         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3290         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3291         Provide appropriate values for new signbit field.
3292
3293 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3294
3295         * real.h (real_format): Add signbit field.
3296         * real.c (ieee_single_format, ieee_double_format,
3297         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3298         ieee_extended_intel_128_format, ibm_extended_format,
3299         ieee_quad_format, vax_f_format, vax_d_format,
3300         vax_g_format, i370_single_format, i370_double_format,
3301         c4x_single_format, c4x_extended_format, real_internal_format):
3302         Provide suitable signbit value, or -1 to avoid bit twiddling.
3303
3304         * optabs.c (expand_unop): Try implementing negation of
3305         floating point modes by flipping the sign bit.
3306         (expand_abs): Try implementing abs of floating point modes
3307         by clearing the sign bit.
3308
3309 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3310
3311         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3312         of constructing insn directly.
3313
3314 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3315
3316         * config/h8300/h8300.md (*iorhi_shift_8): New.
3317
3318 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3319
3320         * doc/invoke.texi: Document FRV port options.
3321         * doc/md.texi: Document FRV register classes.
3322
3323 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3324
3325         * doc/install.texi (Configuration): Improve description of cases
3326         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3327
3328 2002-12-06  Per Bothner  <pbothner@apple.com>
3329
3330         * cpplib.h (NODE_MACRO_ARG):  New flag.
3331         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3332         Remove value.operator field.  Move arg_index field to value union.
3333         (directive_index):  Make signed, since also used for C++ operators.
3334         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3335         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3336         Save node->value, and set node->value.arg_index.
3337         (_cpp_create_definition):  For each paramater, restore node->value.
3338         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3339         * cpptrad.c (scan_out_logical_line): Likewise.
3340         (scan_out_logical_line): Check for directive > 0.
3341         * cpplib.c (cpp_handle_directive):  Likewise.
3342         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3343         by negative of directive_index.
3344         * cppinit.c (mark_named_operators):  Likewise.
3345
3346         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3347
3348 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3349
3350         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3351         FPU.
3352         (push): Generate push_fpscr.
3353         (pop): Generate pop_fpscr.
3354         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3355         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3356
3357 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3358
3359         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3360         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3361
3362 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3363
3364         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3365
3366 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3367         Merged from basic improvements branch (excerpt):
3368
3369         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3370         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3371
3372 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3373
3374         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3375
3376 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3377
3378         * i386.md (dimode peep2s): Re-add "&& 1".
3379
3380 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3381
3382         * i386.c (ix86_expand_prologue):  Add comment, do not use
3383         fast prologues for cold and normal functions.
3384
3385 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3386
3387         * i386.c (x86_rep_movl_optimal): New variable.
3388         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3389         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3390
3391         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3392         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3393         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3394         generate unnecesary subregs.
3395
3396 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3397
3398         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3399         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3400
3401 2002-12-05  Dale Johannesen  <dalej@apple.com>
3402
3403         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3404
3405 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3406
3407         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3408         PROFILE_HOOK.
3409         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3410
3411 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3412
3413         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3414         (__ev_mwlufia): Remove.
3415         (__ev_mwlumfaaw): Remove.
3416         (__ev_mwlusfaaw): Remove.
3417         (__ev_mwlumfanw): Remove.
3418         (__ev_mwlusfanw): Remove.
3419
3420 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3421
3422         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3423
3424 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3425
3426         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3427         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3428         (get_shift_alg): Return optimal assembly instructions for the
3429         shifts mentioned above.
3430
3431 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3432
3433         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3434         condtiional moves.
3435
3436 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3437
3438         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3439         implement ashiftrt:HI by 13 bits on H8S.
3440
3441 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3442
3443         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3444         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3445         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3446         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3447         CTOR_LIST_BEGIN): New defines.
3448         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3449         (fptr.c): Add make rules.
3450
3451 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3452
3453         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3454         * doc/md.texi (Insn Canonicalizations): Document new
3455         canonicalizations for multiply/add combinations.
3456         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3457         patterns to ensure they're used whenever they can be.
3458
3459 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3460
3461         * config/h8300/h8300.c: Update the comments related to shifts.
3462
3463 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3464
3465         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3466
3467 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3468
3469         * config/h8300/h8300.md (*extzv_8_8): New.
3470         (*extzv_8_16): Likewise.
3471
3472 2002-12-04  Jason Merrill  <jason@redhat.com>
3473
3474         PR c++/8461, c++/8625
3475         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3476         references.
3477         * tree-inline.c (initialize_inlined_parameters): Likewise.
3478
3479         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3480
3481 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3482
3483         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3484         macro instruction in a branch delay slot, to avoid assembler
3485         warnings.
3486
3487 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3488
3489         PR c/7622
3490         * c-semantics (genrtl_scope_stmt): Do not output inlined
3491         nested functions that contain no code.
3492
3493 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3494
3495         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3496         to be forced into nonfallthru.
3497
3498 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3499
3500         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3501
3502 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3503
3504         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3505
3506 2002-12-03  Richard Henderson  <rth@redhat.com>
3507
3508         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3509
3510 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3511
3512         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3513         Initialize tmp.using_obstack to 0.
3514
3515 2002-12-03  Andreas Schwab  <schwab@suse.de>
3516
3517         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3518         (EH_RETURN_STACKADJ_RTX): Define.
3519         (EH_RETURN_HANDLER_RTX): Define.
3520         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3521         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3522         registers and don't save fixed registers.
3523         (m68k_output_function_prologue): Use it.
3524         (use_return_insn): Likewise.
3525         (m68k_output_function_epilogue): Likewise.
3526
3527 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3528
3529         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3530         (single_zero_operand): Likewise.
3531
3532 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3533
3534         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3535         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3536         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3537         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3538         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3539         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3540         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3541         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3542         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3543
3544 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3545
3546         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3547         (ffsdi): Likewise.
3548         (cntlzw2, cntlzd2): New patterns.
3549
3550 2002-12-02  H.J. Lu <hjl@gnu.org>
3551
3552         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3553         (mips*-*-linux*): Remove mips/t-linux.
3554
3555 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3556
3557         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3558
3559 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3560
3561         * config/h8300/h8300.c (dosize): Replace argument op with
3562         sign.
3563         (h8300_output_function_prologue): Update the call to dosize.
3564         (h8300_output_function_epilogue): Likewise.
3565
3566 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3567
3568         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3569
3570 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3571
3572         * configure.in: Use "missing" script to generate warning if
3573         flex or bison programs not found, instead of invoking "false".
3574         * configure: Rebuilt.
3575
3576 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3577
3578         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3579
3580 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3581
3582         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3583
3584 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3585
3586         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3587         (push): Likewise.
3588         (pop): Likewise.
3589         (h8300_output_function_prologue): Likewise.
3590         (h8300_output_function_epilogue): Likewise.
3591
3592 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3593
3594         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3595         corresponding mode of non-integer mode, unless it is VOIDmode.
3596
3597 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3598
3599         * config/h8300/h8300.md (stm_h8300s_2): New.
3600         (stm_h8300s_3): Likewise.
3601         (stm_h8300s_4): Likewise.
3602         (five define_peephole2): Likewise.
3603
3604 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3605
3606         * ra-build.c: Fix a comment typo.
3607
3608 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3609
3610         * i386.c (ix86_expand_int_movcc): fix
3611         reversed BRANCH_COST test; be curefull about infinite recursion.
3612
3613 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3614
3615         * config/h8300/h8300.c (h8300_output_function_prologue):
3616         Remove variable idx.
3617         (h8300_output_function_epilogue): Likewise.
3618
3619 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3620
3621         * config/frv/xm-frv.h: Delete, unnecessary.
3622
3623 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3624
3625         * config/h8300/h8300.md: Add comments for define_peephole2.
3626
3627 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3628
3629         * builtin-types.def (BT_SIZE): Use size_type_node.
3630         * builtins.c (fold_builtin): Make the builtin strlen returns a
3631         size_t, not a sizetype.
3632         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3633         c_size_type_node.
3634         (c_alignof_expr): Likewise.
3635         (c_common_nodes_and_builtins): Likewise.
3636         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3637         (c_size_type_node): Likewise.
3638         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3639         * tree.h (TI_SIZE_TYPE): New enumeral.
3640         (size_type_node): Likewise.
3641
3642 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3643
3644         * configure.in: Don't put ${tm_file} into host_xm_file,
3645         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3646         Take location of tm-preds.h into account when calculating
3647         tm_p_file_list.
3648         * configure: Regenerate.
3649         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3650         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3651         Remove special case code for tm_p.h and *config.h; add new
3652         special case code for tm.h and tconfig.h. Clean up a bit.
3653
3654         * Makefile.in (tm_file, tm_file_list): New variables set from
3655         @-substitutions.
3656         (GCONFIG_H): Deleted.
3657         (GTM_H, TM_H): New.
3658         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3659         (TM_P_H): Move up with the other mkconfig.sh-generated
3660         headers; don't mention tm-preds.h explicitly.
3661         (tm.h, cs-tm.h): New rule.
3662         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3663         invocations of mkconfig.sh for changes to that program.
3664         (mostlyclean): Delete print-rtl1.c.
3665         (clean): Delete tm.h.
3666         Update dependencies for the files listed below.
3667
3668         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3669
3670         * coretypes.h: New file.
3671         * system.h: #define malloc to xmalloc and realloc to xrealloc
3672         when FLEX_SCANNER or YYBISON is defined, independent of the
3673         value of GCC_VERSION.
3674         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3675         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3676         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3677         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3678         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3679         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3680         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3681         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3682         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3683         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3684         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3685         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3686         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3687         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3688         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3689         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3690         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3691         genconstants.c, genemit.c, genextract.c, genflags.c,
3692         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3693         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3694         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3695         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3696         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3697         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3698         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3699         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3700         print-tree.c, profile.c, protoize.c, ra-build.c,
3701         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3702         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3703         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3704         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3705         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3706         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3707         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3708         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3709         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3710         xcoffout.c, config/darwin-c.c, config/darwin.c,
3711         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3712         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3713         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3714         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3715         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3716         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3717         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3718         config/i960/i960-c.c, config/i960/i960.c,
3719         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3720         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3721         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3722         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3723         config/mmix/mmix.c, config/mn10200/mn10200.c,
3724         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3725         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3726         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3727         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3728         config/sparc/sparc.c, config/stormy16/stormy16.c,
3729         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3730         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3731         Include coretypes.h and tm.h.
3732
3733         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3734         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3735         genrecog.c: Include coretypes.h and tm.h from the file
3736         generated by this program.
3737
3738         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3739         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3740         coretypes.h and tm.h, and tsystem.h when not already included.
3741         No need to include stddef.h nor stdlib.h.
3742
3743         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3744         include auto-host.h or ansidecl.h/
3745         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3746         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3747         include auto-host.h, ansidecl.h, or system.h.
3748         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3749         and do not redefine volatile.
3750
3751 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3752
3753         * i386.md (movdf_integer):  Always enable in 64bit.
3754         (movdf_nointeger): Always disable in 64bit.
3755
3756 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3757
3758         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3759         pseudo register number plus 1.
3760
3761 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3762
3763         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3764         corresponding mode of non-integer mode, unless it is VOIDmode.
3765
3766 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3767
3768         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3769
3770         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3771
3772 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3773
3774         * config/s390/t-crtstuff: New target makefile fragment.
3775         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3776
3777 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3778
3779         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3780         alternatives to correct the length when the memory operand is
3781         either pre_dec or post_inc.
3782
3783 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3784
3785         * config/h8300/h8300.md (an anonymous pattern): Give an
3786         internal name *tst_extzv_bitqi_1_n.
3787         Accept bit_operand instead of bit_memory_operand.
3788         Do not accept bit tests with the MSB.
3789         (*tst_extzv_memqi_1_n): New.
3790
3791 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3792
3793         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3794         sharing when operand is SUBREG.
3795
3796 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3797
3798         * athlon.md (athlon-decodev): New reservation unit.
3799         (athlon-direct0): New reservation.
3800         (athlon-vector): New use athlon-decodev.
3801         (athlon-double, athlon-direct): Better model.
3802         (athlon_imul_k8): Use athlon-direct0.
3803         (athlon_movlpd_load): New insn reservation.
3804
3805 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3806
3807         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3808         Fix a comment typo.
3809         (h8300_tiny_constant_address_p): Likewise.
3810
3811 2002-11-28  Michael Matz  <matz@suse.de>
3812
3813         * doc/passes.texi: Mention the other register allocator.
3814
3815 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3816
3817         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3818
3819 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3820
3821         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3822         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3823         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3824
3825 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3826
3827         * config/h8300/h8300.c (h8300_and_costs): New.
3828         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3829         * config/h8300/h8300-protos.h: Add a prototype for
3830         h8300_and_costs.
3831
3832 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3833
3834         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3835         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3836         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3837         * i386.md (truncdfsf patterns and splitters): Use
3838         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3839
3840 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3841
3842         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3843         pointer argument in the prototypes of the following builtins
3844         be (const TYPE *) rather than (TYPE *):
3845          + __builtin_altivec_ld_internal_4sf
3846          + __builtin_altivec_ld_internal_4si
3847          + __builtin_altivec_ld_internal_8hi
3848          + __builtin_altivec_ld_internal_16qi
3849          + __builtin_altivec_lvsl
3850          + __builtin_altivec_lvsr
3851          + __builtin_altivec_lvebx
3852          + __builtin_altivec_lvehx
3853          + __builtin_altivec_lvewx
3854          + __builtin_altivec_lvxl
3855          + __builtin_altivec_lvx
3856          + __builtin_altivec_dst
3857          + __builtin_altivec_dstt
3858          + __builtin_altivec_dstst
3859          + __builtin_altivec_dststt
3860
3861 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3862
3863         * except.c (default_exception_section): Move variable into the
3864         scope where it is used.
3865
3866 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
3867
3868         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3869         correct version.
3870
3871 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3872
3873         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3874
3875 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3876
3877         * config/h8300/h8300.c (h8300_shift_costs): New.
3878         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3879         * config/h8300/h8300-protos.h: Add a prototype for
3880         h8300_shift_costs.
3881
3882 2002-11-27  Jim Wilson  <wilson@redhat.com>
3883
3884         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
3885         in output template.
3886
3887 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3888
3889         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
3890         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
3891         DLL_IMPORT_EXPORT_PREFIX, not '@'.
3892         (i386_pe_dllimport_name_p): Likewise.
3893         (i386_pe_mark_dllexport): Likewise.
3894         (i386_pe_mark_dllimport): Likewise.
3895         (i386_pe_encode_section_info): Likewise.
3896         (i386_pe_strip_name_encoding): Likewise.
3897
3898 2002-11-27  Richard Henderson  <rth@redhat.com>
3899
3900         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
3901         (nm && NF == 3): Set sawsymbol true.
3902         (END): Exit if no symbols seen.
3903         (output): Fix map syntax error if no globals for the version.
3904
3905 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3906
3907         * builtins.def (DEF_C99_BUILTIN): Fix.
3908
3909 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
3910
3911         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
3912         (all): Add .size and .type information.
3913
3914 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3915
3916         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
3917         partial_reg_stall target.
3918
3919 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3920
3921         * i386.md (movhicc): Allow general operand.
3922         (movqicc): New expander.
3923         (movqicc_noc): New pattern.
3924         * i386.c (ix86_expand_carry_flag_compare): New function.
3925         (ix86_expand_int_movcc): Optimize harder using sbb; support more
3926         HImode conversion; support QImode conditional moves
3927
3928 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
3929
3930         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
3931         (ix86_expand_prologue): Multiply the count by amount of registers to be
3932         pushed.
3933
3934 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
3935
3936         * i386.c (override_options): Error about wrong -mcpu on x86-64
3937         compilation.
3938
3939 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
3940
3941         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
3942
3943 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
3944
3945         * i386-protos.h (x86_extended_QIreg_mentioned_p,
3946         x86_extended_reg_mentioned_p): Declare.
3947         * i386.c (extended_reg_mentioned_1): New static function.
3948         (x86_extended_QIreg_mentioned_p,
3949         x86_extended_reg_mentioned_p): New global functions.
3950         * i386.h (REX_SSE_REGNO_P): New macro.
3951         * i386.md (prefix_rex): New attribute.
3952         (length attribute): Add rex.
3953
3954 2002-11-26  Andrew Haley  <aph@redhat.com>
3955
3956         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
3957         from_Unwind_Find_Enclosing_Function.
3958         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
3959         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
3960         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
3961         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
3962         * unwind.h (_Unwind_FindEnclosingFunction): Add.
3963
3964 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
3965
3966         * config/s390/s390.c (390_output_constant_pool): Set alignment
3967         before label in 64 bit mode, behind otherwise.
3968
3969 2002-11-26  Richard Henderson  <rth@redhat.com>
3970
3971         * c-common.c (handle_visibility_attribute): Accept "default".
3972         * tree.h (enum symbol_visibility): New.
3973         (decl_visibility): Declare.
3974         * target.h (gcc_target.visibility): Take visibility arg as integer.
3975         * varasm.c (default_assemble_visibility): Likewise.
3976         (decl_visibility): New.
3977         (maybe_assemble_visibility): Use it.
3978         * output.h (default_assemble_visibility): Update prototype.
3979         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
3980         visibility arg as integer.
3981         * doc/extend.texi: Document default visibility.
3982
3983 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3984
3985         * config/h8300/h8300.c: Adjust spacing.
3986         * config/h8300/h8300.h: Likewise.
3987
3988 2002-11-26  Richard Henderson  <rth@redhat.com>
3989
3990         * hooks.c (hook_bool_void_false, hook_void_tree_int,
3991         hook_void_FILEptr_constcharptr): Rename so that the return
3992         type is first.
3993         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
3994         hook_bool_tree_false): New.
3995         * hooks.h: Update.
3996         * langhooks-def.h: Update for renames.
3997         * target-def.h: Likewise.
3998         * tree.c (default_comp_type_attributes,
3999         default_set_default_type_attributes, default_insert_attributes,
4000         default_function_attribute_inlinable_p,
4001         default_ms_bitfield_layout_p): Remove.
4002         * tree.h: Update.
4003
4004 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4005
4006         * pa-protos.h (function_value): New prototype.
4007         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4008         TARGET_64BIT.
4009         * pa.h (FUNCTION_VALUE): Use function_value.
4010         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4011         call_value_internal_reg, sibcall_value_internal_symref,
4012         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4013         value.
4014
4015 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4016
4017         * expr.c (gen_group_rtx, emit_group_move): New functions.
4018         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4019         * function.c (expand_function_start): Use gen_group_rtx to create a
4020         PARALLEL rtx to hold the return value when the real return rtx is a
4021         PARALLEL.
4022         (expand_function_end): Use emit_group_move to move the return value
4023         from a PARALLEL to the real return registers.
4024         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4025         in PARALLELs.
4026
4027 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4028
4029         * config/t-libc-ok: Fix typo.
4030
4031 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4032
4033         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4034         before AC_PROG_CC.
4035         * configure: Rebuilt.
4036
4037 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4038
4039         * c-decl.c: (start_struct): Commonize flag setting.
4040
4041 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4042
4043         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4044         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4045         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4046         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4047
4048 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4049
4050         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4051         insns.
4052         * config/s390/s390.c (struct machine_function): Introduction of
4053         struct machine_function.
4054         (s390_output_symbolic_const): Use of cfun.
4055         (s390_optimize_prolog): Likewise.
4056         (s390_fixup_clobbered_return_reg): Likewise.
4057         (s390_frame_info): Likewise.
4058         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4059         (s390_init_machine_status): New function.
4060         (override_options): call s390_init_machine_status.
4061         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4062         prototype.
4063
4064 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4065
4066         * varasm.c (output_constant_pool): For pool constants in mergeable
4067         section ensure each constant is padded to multiple of entity size.
4068
4069 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4070
4071         * varasm.c (default_exception_section): Move to...
4072         * except.c (default_exception_section): ... here. Make
4073         .gcc_except_table read-only if it is not expected to have any
4074         dynamic relocations and linker handles it.
4075         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4076         if it is not expected to have any dynamic relocations and linker
4077         handles it.
4078         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4079         when linking read-only and read-write sections together.
4080         * configure, config.in: Rebuilt.
4081         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4082         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4083
4084 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4085
4086         * i386.md (pushsf_rex64): Fix typo.
4087
4088 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4089
4090         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4091         new function.
4092         (__ev_create_ufix32_fs): Same.
4093         (__ev_get_sfix32_fs_internal): New.
4094         (__ev_get_sfix32_fs): Define to use function.
4095         (__ev_get_ufix32_fs_internal): New.
4096         (__ev_get_ufix32_fs): Define to use function.
4097         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4098         (__ev_get_lower_ufix32_fs): Same.
4099         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4100         (__ev_get_lower_sfix32_fs): Same.
4101         (__ev_set_sfix32_fs_internal): New.
4102         (__ev_set_ufix32_fs_internal): New.
4103         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4104         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4105         (__ev_set_upper_sfix32_fs): Call function.
4106         (__ev_set_lower_sfix32_fs): Same.
4107         (__ev_set_upper_ufix32_fs): Same.
4108         (__ev_set_lower_ufix32_fs): Same.
4109
4110 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4111
4112         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4113
4114 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4115
4116         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4117         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4118         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4119         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4120         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4121         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4122         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4123         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4124         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4125         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4126         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4127         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4128         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4129         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4130         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4131         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4132         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4133         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4134         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4135         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4136         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4137         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4138         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4139         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4140         defining.
4141         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4142         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4143
4144 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4145
4146         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4147
4148 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4149
4150         * config/h8300/h8300.md (an anonymous pattern): New.
4151
4152 2002-11-25  Richard Henderson  <rth@redhat.com>
4153
4154         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4155         (copying_arguments): Make boolean.
4156
4157 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4158
4159         * gcc.c (static_spec_functions): Add if-exists-else spec
4160         function.
4161         (if_exists_else_spec_function): New function.
4162         * doc/invoke.texi: Document the if-exists-else spec function.
4163
4164         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4165         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4166
4167 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4168
4169         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4170         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4171         "${tmake_file} rs6000/t-netbsd".
4172         * config/rs6000/netbsd.h: Rewrite.
4173         * config/rs6000/t-netbsd: New file.
4174
4175 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4176
4177         * config/h8300/h8300.md (an anonymous pattern): Relax the
4178         condition for the pattern.
4179
4180 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4181
4182         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4183         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4184         evmwlssfanw, evmwlsmfanw.
4185
4186         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4187
4188         * config/rs6000/spe.md: Same for patterns.
4189
4190 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4191
4192         PR c/8639
4193         * fold-const.c (extract_muldiv): Don't propagate division unless
4194         both arguments are multiples of C.
4195
4196 2002-11-25  Andrew Haley  <aph@redhat.com>
4197
4198         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4199         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4200         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4201         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4202
4203 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4204
4205         * i386.c (x86_use_ffreep): New global variable.
4206         * i386.h (x86_use_frfeep): Declare
4207         (TARGET_USE_FFREEP): New macro
4208         * i386.md  (movs?f*): Use freep when asked for.
4209         (push?f): Remove dead code.
4210
4211 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4212
4213         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4214         target help message.
4215
4216 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4217
4218         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4219         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4220         crtbeginT.o".
4221         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4222         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4223         to "" for a.out configurations.
4224         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4225
4226 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4227
4228         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4229         NETBSD_CPP_SPEC directly.
4230         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4231         netbsd_endfile_spec.
4232         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4233
4234 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4235
4236         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4237         NETBSD_STARTFILE_SPEC.
4238         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4239         (ENDFILE_SPEC): Likewise.
4240         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4241
4242 2002-11-24  Andreas Schwab  <schwab@suse.de>
4243
4244         * Makefile.in (install-driver): Remove versioned link before
4245         trying to create it.
4246
4247         * config/m68k/m68k.c: Fix typo in last change defining
4248         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4249
4250 2002-11-23  H.J. Lu <hjl@gnu.org>
4251
4252         * aclocal.m4: Include ../config/accross.m4.
4253         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4254         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4255         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4256         instead of $ac_cv_c_compile_endian.
4257
4258         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4259         AC_COMPILE_CHECK_SIZEOF.
4260         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4261         * configure: Rebuild.
4262
4263 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4264
4265         * config/h8300/h8300.c (print_operand): Update the use of
4266         h8300_tiny_constant_address_p.
4267         (h8300_adjust_insn_length): Likewise.
4268         (h8300_tiny_constant_address_p): Check if the given rtx is a
4269         variable declared with __attribute__ ((tiny_data)).
4270
4271 2002-11-22  Dale Johannesen  <dalej@apple.com>
4272
4273         * toplev.c (rest_of_compilation):  Fix comments.
4274
4275 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4276
4277         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4278         allow mmap from /dev/zero.  Don't make decisions for the host
4279         based on presence or absence of /dev/zero on the build machine.
4280         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4281         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4282         * configure: Regenerate.
4283
4284 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4285
4286         * gcc.c (make_relative_prefix, split_directories)
4287         (free_split_directories): Removed.
4288
4289 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4290
4291         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4292         * configure: Regenerated.
4293
4294 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4295
4296         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4297         length computation when xor.l is output.
4298
4299 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4300
4301         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4302         (call_vms_1, call_value_vms_1): Cleanup syntax.
4303
4304 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4305
4306         * athlon.md (define_atuomaton): Add athlon_load.
4307         (athlon-double): New reservation.
4308         (athlon-ieu0): New CPU unit.
4309         (athlon-load?): Use athlon_load automaton.
4310         (*_k8 reservations): New.
4311         (other insn revervations): Activate for K8.
4312
4313 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4314
4315         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4316
4317 2002-11-21  Jim Wilson  <wilson@redhat.com>
4318
4319         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4320         vectors to SI.
4321
4322 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4323
4324         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4325         * config/xtensa/xtensa.c (struct machine_function): Add
4326         incoming_a7_copied flag.
4327         (xtensa_copy_incoming_a7): Define.
4328         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4329         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4330
4331 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4332
4333         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4334         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4335         x86_64_nonmemory_operand, x86_64_movabs_operand,
4336         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4337         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4338         (local_symbolic_operand): Do not care the 64bit limits.
4339         (x86_64_sign_extended_value): Remove allow_rip support.
4340         (legitimate_pic_address_disp_p): Handle all cases allowed
4341         with RIP addressing.
4342         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4343         (legitimize_pic_address): Reorganize.
4344         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4345
4346 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4347
4348         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4349         * config/arm/netbsd-elf.h: New file.
4350
4351 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4352
4353         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4354         subtarget_asm_float_spec.
4355         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4356         defaults from...
4357         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4358
4359 2002-11-21  Nick Clifton  <nickc@redhat.com>
4360
4361         * config/fr30/fr30.md (movsf_constant_store): Move code to
4362         detect 0.0 into fr30.c.
4363         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4364         Prototype.
4365         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4366         function.  Return true if the rtx is 0.0.
4367
4368 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4369
4370         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4371         if -mlittle-endian is specified.
4372
4373 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4374
4375         PR optimization/2903
4376         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4377         (anddi_notsesidi_di): Likewise.
4378
4379 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4380
4381         * config/h8300/h8300.c (print_operand): Use
4382         h8300_eightbit_constant_address_p and
4383         h8300_tiny_constant_address_p.
4384         (h8300_adjust_insn_length): Likewise.
4385         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4386         (TINY_CONSTANT_ADDRESS_P): Likewise.
4387         (OK_FOR_U): Use eightbit_constant_address_p.
4388
4389 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4390
4391         * config/s390/libgcc-libc.ver: Add multilib support.
4392         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4393         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4394         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4395         EXTRA_MULTILIB_PARTS): Define.
4396
4397 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4398
4399         * arm.c (arm_get_frame_size): A leaf function does not need its
4400         stack padding to an aligned boundary if it has no frame.
4401         (thumb_get_frame_size): Likewise.
4402
4403 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4404
4405         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4406         (override_options): Likewise.
4407
4408 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4409
4410         * config.gcc: Add k8 target alias support
4411         * i386.c (_cost): Declare costs for various variants of divides and
4412         multiplies.
4413         (k8_cost): New.
4414         (m_K8, m_ATHLON_K8): New macros.
4415         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4416         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4417         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4418         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4419         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4420         x86_prologue_using_move, x86_epilogue_using_move,
4421         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4422         x86_sse_typeless_stores): Set for K8
4423         (override_options): Add k8 support; fix athlon alignment;
4424         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4425         (ix86_issue_rate): Set for K8.
4426         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4427         x86_machine_dependent_reorg): Handle K8 like
4428         * i386.h
4429         (x86_costs):  Change mult_init and divide into array.
4430         (TARGET_K8, TARGET_ATHLON): New macros.
4431         (MODE_INDEX): New macro.
4432         (RTX_COST): Use new costs.
4433         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4434         (TARGET_CPU_DEFAULT_NAMES): Add k8
4435         (TARGET_CPU_DEFAULT_k8): New constant
4436         (enum processor_type): Add PROCESSOR_K8.
4437         * i386.md (cpu attribute): Add k8.
4438
4439         * invoke.texi: Document -march=k8.
4440
4441         * i386.md (type attribute): Add leave
4442         (mode attribute): Remove unknownfp.
4443         (length_immediate, modrm, memory attributes): Handle leave correctly.
4444         (fp comparison patterns): Determine FP mode.
4445         (leave, leave_rex64): Remove special cases.
4446         * ppro.md (ppro_uops, ppro_p2): Add leave
4447         * pentiun.md (pent_pop): Handle leave too.
4448         * k6.md (k6_load): Handle leave.
4449         * athlon.md (athlon_leave, athlon_pop): Fix.
4450         (athlon_decode): Handle leave.
4451
4452 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4453
4454         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4455         to component type using GET_MODE_INNER.
4456         * expr.c (emit_move_insn_1): Ditto.
4457         * optabs.c (expand_binop): Ditto.
4458         (expand_unop): Ditto.
4459         (expand_complex_abs): Ditto.
4460
4461 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4462
4463         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4464
4465 2002-11-20  DJ Delorie  <dj@redhat.com>
4466
4467         * config/stormy16/stormy16.c (s16builtins,
4468         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4469         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4470
4471 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4472
4473         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4474         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4475         (executing gencheck, genconfigs, genconditions, genflags,
4476         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4477         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4478         gengtype, genprotos): Prepend $(RUN_GEN).
4479         * configure.in: Move host compiler tests before --enable-checking
4480         tests.
4481         (--enable-checking=valgrind): New.
4482         * config.in, configure: Regenerate.
4483         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4484         Define as empty.
4485         (read_include_file): When doing the mmap+1 trick,
4486         valgrind-annotate the byte after the mmap:ed area as readable.
4487         (purge_cache): Remove above annotation.
4488         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4489         VALGRIND_PATH -q to each command.
4490
4491         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4492         Define as empty.
4493         (ggc_realloc): Update valgrind annotations.
4494         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4495         Define as empty.
4496         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4497         valgrind-annotate memory.
4498
4499 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4500
4501         * recog.c (constrain_operands): Prefer exact match over reloadable
4502         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4503
4504         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4505         operands in Pmode.
4506
4507 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4508
4509         PR c/8518
4510         * c-decl.c (duplicate_decls): Outline the second definition
4511         of an extern inline function in all cases.
4512
4513 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4514
4515         * stor-layout.c (place_field): Update rli->offset as well as
4516         rli->bitpos.
4517
4518 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4519
4520         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4521
4522 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4523
4524         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4525         into a libcall block.
4526         (divsi3): Likewise divsi3_i4_media.
4527
4528 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4529
4530         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4531         out another register.
4532
4533 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4534
4535         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4536         (not just mask) are set in C.
4537
4538 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4539
4540         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4541
4542 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4543
4544         * profile.c (index_counts_file): Fix obvious mistake.
4545
4546 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4547
4548         * Makefile.in (profile.o): Add hashtab.h dependency.
4549         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4550         * profile.c: Include hashtab.h.
4551         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4552         cleanup_counts_index, index_counts_file, struct section_reference,
4553         struct da_index_entry, counts_file_name, counts_file_index): New.
4554         (get_exec_counts, init_branch_prob): Modified.
4555
4556 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4557
4558         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4559         to tmake_file. Remove setting gas and gnu_ld here.
4560         * config/sh/libgcc-glibc.ver: New file.
4561         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4562         (SHLIB_MAPFILES): New.
4563         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4564         (MD_STARTFILE_PREFIX): Likewise.
4565         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4566         (DWARF2_UNWIND_INFO): Redefine.
4567         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4568         (LINK_EH_SPEC): Redefine.
4569         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4570         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4571         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4572         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4573         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4574         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4575         SH_DWARF_FRAME_FPSCR): Likewise.
4576         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4577         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4578         registers if the current function calls EH return.
4579         (sh_expand_epilogue): Handle EH stack adjustments.
4580         (sh_set_return_address): New function.
4581         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4582         Don't abort even if the number is mapped to -1.
4583         (EH_RETURN_DATA_REGNO): Define.
4584         (EH_RETURN_STACKADJ_RTX): Define.
4585         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4586         (eh_return): New pattern.
4587         (eh_set_ra_di, eh_set_ra_si): Likewise.
4588         Add splitter to perform EH return after reload.
4589
4590 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4591
4592         * stor-layout.c (excess_unit_span): New function.
4593         (place_field): Use it.
4594
4595 2002-11-19  Andreas Schwab  <schwab@suse.de>
4596
4597         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4598         not valid in C++.
4599
4600 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4601
4602         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4603         * configure: Regenerate.
4604
4605 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4606
4607         * convert.c (strip_float_extensions): New function.
4608         (convert_to_real): Optimize some cases.
4609
4610 2002-11-19  Andreas Jaeger  <aj@suse.de>
4611
4612         * loop.c (record_giv): Initialize not_replaceable.
4613         (check_final_value): Likewise.
4614
4615 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4616
4617         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4618         MASK_H8300S.
4619
4620 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4621
4622         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4623         only if -mh or -ms present.
4624         (h8300_eightbit_constant_address_p): Support the normal mode.
4625         (h8300_tiny_constant_address_p): Likewise.
4626         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4627         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4628         (Pmode): Evaluate to HImode for the normal mode.
4629         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4630         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4631         (ASM_WORD_OP): Evaluate to word for the normal mode.
4632         * config/h8300/h8300.md (tablejump_normal_mode): New.
4633         (indirect_jump_normal_mode): New.
4634         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4635         directory.
4636         (MULTILIB_DIRNAMES): Create target dependent directory
4637         'normal'.
4638         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4639         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4640
4641 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4642
4643         * i386.md (length_immediate): Do not refer to insn address.
4644         (jcc*, jmp patterns):  Compute length explicitly.
4645
4646 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4647
4648         PR c/8588
4649         * optabs.c (expand_binop): Convert CONST_INTs in shift
4650         operations too.
4651
4652 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4653
4654         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4655
4656 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4657
4658         * config/h8300/h8300.md (an anonymous pattern): Relax the
4659         condition to accept the same operands and/or subregs.
4660
4661 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4662
4663         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4664         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4665         reload_completed.
4666
4667 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4668
4669         * config/h8300/h8300.c (print_operand): Update the use of
4670         EIGHTBIT_CONSTANT_ADDRESS_P.
4671         (h8300_adjust_insn_length): Likewise.
4672         (h8300_eightbit_constant_address_p): Check if the given rtx is
4673         a variable with __attribute__((eightbit_data)).
4674         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4675         EIGHTBIT_CONSTANT_ADDRESS_P.
4676
4677 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4678
4679         * doc/contrib.texi (Contributors): Add self as second contact in
4680         addition to Jeff Law.
4681
4682 2002-11-19  Andreas Jaeger  <aj@suse.de>
4683
4684         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4685         find_alloca_call to right place.
4686
4687 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4688
4689         * cppfiles.c: Fix formatting.
4690
4691 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4692
4693         * gcc.c (The Specs Language): Document spec functions.
4694         (static_spec_functions, lookup_spec_function)
4695         (eval_spec_function, handle_spec_function)
4696         (if_exists_spec_function, alloc_args): New.
4697         (execute): Abort if processing_spec_function is true.
4698         (do_spec_1): Hand off spec to handle_spec_function if %:
4699         is encountered.  If processing_spec_function is true,
4700         end any pending argument when the end of the string is reached.
4701         (main): Use alloc_args to allocate the initial argument vector.
4702         * gcc.h (struct spec_function): New.
4703         (lang_specific_spec_functions): New extern.
4704
4705         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4706         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4707         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4708
4709         * doc/invoke.texi: Document spec functions.
4710
4711         * cppspec.c (lang_specific_spec_functions): New.
4712         * gccspec.c: Likewise.
4713
4714 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4715
4716         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4717         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4718         (fixunstfsi_libfunc): Change.
4719         (fixunstfdi_libfunc): Change.
4720         (sdiv_optab): Don't zero out SImode handler.
4721         (udiv_optab): Don't zero out SImode handler.
4722         (smod_optab): Don't zero out SImode handler.
4723         (umod_optab): Don't zero out SImode handler.
4724
4725 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4726
4727         PR preprocessor/8524
4728         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4729         Add a new one in its place, which hopefully works.
4730         (skip_rest_of_line): Change test for bottom-of-context-stack.
4731
4732 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4733
4734         * i386.md (addqi_1_slp): Fix output template.
4735         (subqi_1_slp): Fix type.
4736
4737 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4738
4739         * calls.c (alloca_call_p): New global function.
4740         * tree.h (alloca_call_p): New.
4741         * tree-inline.c (inlinable_function_p):  Do not inline when
4742         function calls alloca.
4743         (find_alloca_call, find_alloca_call_1): New functions.
4744
4745 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4746
4747         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4748         bst.  Update the insn length.
4749         (*andorhi3): Likewise.
4750         (*andorsi3): Likewise.
4751
4752 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4753
4754         * config/sh/sh-protos.h (sh_mark_label): Declare.
4755         * config/sh/sh.c (sh_mark_label): New function, taken from
4756         movdi_const, but fixing the case when the address has an addend.
4757         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4758
4759 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4760
4761         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4762         (add_constant): Set it.
4763         (dump_table): Don't reorder a constant if part_of_sequence_p.
4764         (machine_dependent_reorg): Assume that float constants will
4765         stay in their original order if used as a sequence.
4766
4767 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4768
4769         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4770         in compact code.
4771
4772 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4773
4774         * config/sh/sh.md (initialize_trampoline): Do not force the
4775         trampoline address into R0_REGS here.
4776
4777 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4778
4779         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4780         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4781         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4782         generate unnecesary subregs.
4783
4784 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4785
4786         * df.c: Fix formatting.
4787
4788 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4789
4790         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4791         lengths.
4792
4793 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4794
4795         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4796         is not an arith_reg_operand.
4797
4798 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4799
4800         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4801         is smaller than representation.
4802
4803 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4804
4805         * builtins.c: Fix formatting.
4806
4807 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4808
4809         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4810         floats?dff2_i387):
4811         Work around regclass stupidity.
4812         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4813
4814 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4815
4816         * i386.md (fop_df_6): New pattern.
4817         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4818         (fop_xf_6): Rewrite
4819         (fop_xf_7): Delete.
4820         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4821         (fop_tf_6): Rewrite
4822         (fop_tf_7): Delete.
4823
4824 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4825
4826         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4827
4828 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4829
4830         * config/h8300/h8300.md: Fix formatting.
4831
4832 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4833
4834         * config/h8300/h8300.md: Replace spaces with tabs.
4835         * config/h8300/t-h8300: Remove a trailing empty line.
4836
4837 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4838
4839         * tlink.c: Fix formatting.
4840
4841 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
4842
4843         PR 8362
4844         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4845         * config/rs6000/rs6000.md (movti_string): Remove output modifier
4846         when scratch register never needed.
4847         (ldmsi[3-8]): New patterns.
4848
4849 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4850
4851         * hard-reg-set.h: Follow spelling conventions.
4852         * real.c: Likewise.
4853         * target.h: Likewise.
4854
4855 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
4856
4857         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
4858
4859 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4860
4861         * optabs.c: Fix formatting.
4862
4863 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
4864
4865         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
4866         * i386.md (attribute type): Add type shift1 and rotate1.
4867         (*_slp): Rewrite to have just two operands to avoid reload problems.
4868
4869 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
4870
4871         * config/h8300/h8300.md (4 anonymous patterns): New.
4872
4873 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4874
4875         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
4876         * doc/invoke.texi: Correct description of what needs to be done to
4877         force collection at every ggc_collect call.
4878
4879 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4880
4881         * config/s390/s390.c (optimization_options): Set
4882         flag_asynchronous_unwind_tables to 1 by default.
4883
4884 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4885
4886         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4887
4888 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4889
4890         * i386-protos.h (x86_function_profiler): New function
4891         * i386.h (MCOUNT_NAME): New.
4892         (PROFILE_COUNT_REGISTER): New.
4893         (FUNCTION_PROFILER): Move offline to ...
4894         * i386.c (x86_function_profiler) ... here; fix 64bit support
4895         * beos-elf.h (FUNCTION_PROFILER): Kill.
4896         (MCOUNT_NAME): New.
4897         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
4898         (MCOUNT_NAME): New.
4899         (PROFILE_COUNT_REGISTER): New.
4900         * linux.h (FUNCTION_PROFILER): Kill.
4901         (MCOUNT_NAME): New.
4902         * x86-64.h (FUNCTION_PROFILER): Kill.
4903         (MCOUNT_NAME): New.
4904         * freebsd.h (FUNCTION_PROFILER): Kill.
4905         (MCOUNT_NAME): New.
4906
4907 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
4908
4909         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
4910         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
4911         * config/arm/arm.c (arm_va_arg,
4912         arm_function_arg_pass_by_reference): New.
4913         * config/arm/arm-protos.h: Add prototypes.
4914
4915 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4916
4917         * gthr-single.h: Fix formatting.
4918
4919 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
4920
4921         * tree.c (tree_vec_elt_check_failed): New function.
4922         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
4923         (TREE_VEC_ELT): Use it.
4924
4925         * tree-inline.c (optimize_inline_calls): Don't copy a
4926         zero-length vector.
4927
4928 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4929
4930         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
4931
4932 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
4933
4934         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
4935         both operands contain local relocations.
4936         (categorize_decl_for_section): Don't use mergeable sections if
4937         initializer has any relocations.
4938
4939 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4940
4941         * gthr-vxworks.h: Fix formatting.
4942
4943 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
4944
4945         * doc/install.texi (Testing): Document extra Java testing.
4946         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
4947
4948 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4949
4950         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
4951         beginning of the spec.
4952         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
4953         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
4954         regarding problems with global constructors when using GNU ld.
4955
4956 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4957
4958         * gthr-solaris.h: Fix formatting.
4959
4960 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4961
4962         * gthr-posix.h: Fix formatting.
4963
4964 2002-11-12  Devang Patel <dpatel@apple.com>
4965         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
4966         (process_command): Same.
4967         * doc/invoke.texi: Info about these two new options.
4968
4969 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4970
4971         * config/h8300/h8300.md (*andorsi3): New.
4972
4973 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4974
4975         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
4976
4977 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4978
4979         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
4980         expressions appropriately.
4981
4982 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4983
4984         * gthr-win32.h: Fix formatting.
4985
4986 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4987
4988         * config/h8300/h8300.c (single_one_operand): Correctly compute
4989         mask when mode is SImode.
4990         (single_zero_operand): Likewise.
4991         * config/h8300/h8300.md (two new anonymous insns): New.
4992
4993 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4994
4995         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
4996         to that entire project.
4997
4998 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4999
5000         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5001         directories.
5002
5003 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5004
5005         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5006         * doc/invoke.texi: Document them.
5007
5008         * ggc-page.c: Include params.h.  Remove definitions of
5009         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5010         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5011         (init_gcc): Don't set G.allocated_last_gc here.
5012         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5013         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5014         perform collection.
5015         * ggc-simple.c: Similarly.
5016         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5017         dependencies.
5018
5019 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5020
5021         * gthr-dce.h: Fix formatting.
5022
5023 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5024
5025         PR c/8467
5026         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5027         mode of DECL_RTL case.
5028
5029 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5030
5031         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5032
5033 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5034
5035         * i386.c (construct_container): Fix handling of SSE_CLASS.
5036
5037 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5038
5039         * config/m68k/t-crtstuff (crti.o): Use this...
5040         ($(T)crti.o): ... instead.
5041         (crtn.o): Use this...
5042         ($(T)crtn.o): ... instead.
5043
5044 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5045
5046         PR c/8439
5047         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5048         if there is something new to be simplified.
5049
5050 2002-11-10  H.J. Lu <hjl@gnu.org>
5051
5052         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5053         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5054
5055         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5056
5057 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5058
5059         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5060         * config/rs6000/linux.h, config/rs6000/linux64.h,
5061         config/rs6000/windiss.h: ... not here.
5062
5063 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5064
5065         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5066         __ABICALLS__ if TARGET_ABICALLS.
5067
5068 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5069
5070         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5071
5072 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5073
5074         * c-decl.c (grokdeclarator): Make error for duplicate type
5075         qualifiers into a pedwarn, disabled for C99.
5076
5077 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5078
5079         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5080         as FUNCTION_ARG_PASS_BY_REFERENCE.
5081
5082 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5083
5084         * doc/install.texi: Add *-*-vxworks* specific installation
5085         instructions.
5086
5087         * config/vxlib.c: Rewrite using generation numbers to identify
5088         valid TSD keys.
5089
5090 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5091
5092         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5093
5094 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5095
5096         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5097
5098         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5099         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5100         * pa.c (output_millicode_call): Use symbol difference rather than
5101         $PIC_pcrel$0 when using HP assembler.
5102         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5103         not elfos.h (i.e., gas) is being used.
5104         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5105         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5106         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5107         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5108         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5109         using elfos.h.
5110         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5111         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5112         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5113         using elfos.h.
5114         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5115         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5116         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5117         Don't define when not using elfos.h.
5118         (ASM_DECLARE_RESULT): Don't define.
5119         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5120         doesn't work on hppa64-hp-hpux11.
5121         (hppa*-hp-hpux11): Update.
5122
5123 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5124
5125         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5126         to the assembler if -mno-abicalls was specified.
5127
5128 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5129
5130         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5131         ASM_OUTPUT_DEF): Delete.
5132
5133 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5134
5135         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5136
5137 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5138
5139         * real.c (real_sqrt): Update comment with bibliographic reference.
5140
5141 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5142
5143         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5144
5145 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5146
5147         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5148
5149 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5150
5151         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5152         (expand_builtin): Likewise.
5153         * builtins.def: Add
5154         __builtin_floor, __builtin_floorf, __builtin_floorl
5155         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5156         __builtin_round, __builtin_roundf, __builtin_roundl
5157         __builtin_trunc, __builtin_truncf, __builtin_truncl
5158         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5159         * genopinit.c (optabs): Initialize the new optabs.
5160         * optab.c (init_optabs): Likewise.
5161         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5162         OTI_round, OTI_nearbyint.
5163         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5164         * doc/md.texi: Document new named patterns.
5165         * doc/extend.texi (builtin functions)  Document
5166         floor, floorf, floorl, ceil, ceilf,
5167         ceill, round, roundf, roundl, trunc,
5168         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5169
5170 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5171
5172         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5173
5174 2002-11-08  Dale Johannesen  <dalej@apple.com>
5175
5176         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5177
5178 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5179
5180         PR preprocessor/8497
5181         PR preprocessor/8501
5182         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5183         start a directive.  In assembler, #NUM is not a line directive.
5184
5185 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5186
5187         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5188         buffers.
5189
5190 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5191
5192         * config/h8300/h8300.md (two anonymous test insns): New.
5193
5194 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5195
5196         * jump.c (mark_jump_label): Handle subregs of label_refs.
5197
5198 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5199
5200         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5201         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5202
5203 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5204
5205         * config/ia64/crtend.asm: Include "auto-host.h".
5206         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5207         * config/ia64/crtbegin.asm: Similarly.
5208         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5209         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5210
5211         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5212         * configure.in: Use it if --enable-initfini-array not specified.
5213         * doc/install.texi (Configuration): Document --enable-initfini-array.
5214         * configure, config.in: Rebuild.
5215
5216 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5217
5218         * config/arm/arm-protos.h (arm_get_frame_size)
5219         (thumb_get_frame_size): New prototypes.
5220         * config/arm/arm.c (arm_get_frame_size)
5221         (thumb_get_frame_size): New functions.
5222         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5223         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5224         arm_get_frame_size.
5225         (thumb_expand_prologue, thumb_expand_epilogue): Use
5226         thumb_get_frame_size.
5227         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5228         (machine_function): Add frame_size member.
5229         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5230
5231 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5232
5233         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5234         Adjust code to use portable unsigned bit manipulation.
5235         (insn_flags, tune_flags): Change type to unsigned.
5236         (struct processors): Make flags unsigned long.
5237         (arm_override_options): Change type of count and current_bit_count
5238         to unsigned.
5239
5240 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5241
5242         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5243
5244 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5245
5246         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5247
5248 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5249
5250         * reg-stack.c (compensate_edge): Fix sanity check.
5251
5252 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5253
5254         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5255         crt2.o.  Rearrange t-darwin makefiles.
5256         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5257         * unwind-dw2-fde-darwin.c: New.
5258         * unwind-dw2-fde-glibc.c: Correct comment.
5259         * unwind-dw2-fde.c (__register_frame_info_bases)
5260         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5261         (classify_object_over_fdes): Use last_fde.
5262         (add_fdes): Likewise.
5263         (linear_search_fdes): Likewise.
5264         * unwind-dw2-fde.h (struct object)
5265         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5266         (last_fde): New.
5267         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5268         (ENDFILE_SPEC): No crtend.o.
5269         * config/t-darwin: New.
5270         * config/i386/t-darwin: Delete.
5271         * config/darwin-crt2.c: New.
5272         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5273         or config/t-darwin.
5274
5275 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5276
5277         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5278         MASK_MS_BITFIELD_LAYOUT
5279         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5280         MS bitfields for Objective-C.
5281         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5282         defines.
5283
5284         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5285         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5286         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5287
5288         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5289         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5290         (TARGET_SWITCHES): Add above mask.
5291
5292         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5293         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5294         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5295         flags for interix.
5296
5297 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5298
5299         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5300         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5301         assembler.
5302         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5303         before jump on ABI_N32 too.
5304         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5305         length to match.
5306
5307 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5308
5309         * i386.md (negsf splitter): Accept memory operand in second register.
5310         (abssf/absdf splitters): Simplify
5311         (sse_loadss, sse_loadsd): Turn into expander.
5312
5313 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5314
5315         PR target/8480
5316         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5317         FPR to FPR moves.
5318
5319 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5320
5321         * doc/contrib.texi: Merge in the list from the Java web pages.
5322
5323 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5324
5325         * config/sparc/freebsd: Fix typo.
5326
5327 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5328
5329         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5330
5331 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5332
5333         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5334         non-SImode addresses.
5335
5336 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5337
5338         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5339         stack register.
5340         (float SSE splitters): Reorder conditional.
5341
5342 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5343
5344         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5345
5346 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5347
5348         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5349         (STARTFILE_SPEC): Remove p and pg options.
5350
5351 2002-11-05  Andrew Haley  <aph@redhat.com>
5352
5353         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5354         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5355
5356 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5357
5358         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5359         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5360
5361 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5362
5363         * gthr-vxworks.h: Rewritten from scratch.
5364         * config/vxlib.c: New file.
5365         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5366         * config/rs6000/t-vxworks: Add config/vxlib.c to
5367         LIB2FUNCS_EXTRA here too, because of clash with
5368         config/rs6000/t-ppccomm.
5369
5370 2002-11-04  Dale Johannesen  <dalej@apple.com>
5371
5372         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5373         for unrolled loops.
5374         * loop.c (loop_invariant_p):  Support calling from unroller.
5375
5376 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5377
5378         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5379         for comparison.
5380
5381 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5382
5383         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5384
5385         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5386         (CLASS_CANNOT_CHANGE_MODE): Remove.
5387         (CANNOT_CHANGE_MODE_CLASS): New.
5388
5389         * config/alpha/alpha.h: Same.
5390
5391         * config/ia64/ia64.h: Same.
5392
5393         * config/mips/mips.h: Same.
5394
5395         * config/s390/s390.h: Same.
5396
5397         * config/sh/sh.h: Same.
5398
5399         * config/pa/pa64-regs.h: Same.
5400
5401         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5402
5403         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5404
5405         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5406         prototype.
5407
5408         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5409
5410         * doc/tm.texi (Register Classes): Remove
5411         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5412         Document CANNOT_CHANGE_MODE_CLASS.
5413
5414         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5415         (push_reload): Same.
5416
5417         * simplify-rtx.c (simplify_subreg): Same.
5418
5419         * reload1.c (choose_reload_regs): Same.
5420
5421         * recog.c (register_operand): Same.
5422
5423         * regrename.c (mode_change_ok): Change to use new
5424         CANNOT_CHANGE_MODE_CLASS infrastructure.
5425
5426         * regclass.c (cannot_change_mode_set_regs): New.
5427         Declare subregs_of_mode.
5428         (regclass): Use subregs_of_mode.
5429         Remove references to reg_changes_mode.
5430         (init_reg_sets_1): Remove class_can_change_mode and
5431         reg_changes_mode code.
5432         (invalid_mode_change_p): New.
5433         (dump_regclass): Use invalid_mode_change_p instead of
5434         class_can_change_mode.
5435         (regclass): Same.
5436         (record_operand_costs): Do not set reg_changes_mode.
5437
5438         * local-alloc.c (struct qty): Remove changes_mode field.
5439         (alloc_qty): Remove changes_mode initialization.
5440         (update_qty_class): Remove set of changes_mode.
5441         (find_free_reg): Use subregs_of_mode.
5442
5443         * global.c (find_reg): Use subregs_of_mode info.
5444
5445         * rtl.h (cannot_change_mode_set_regs): New prototype.
5446         (invalid_mode_change_p): Same.
5447         (REG_CANNOT_CHANGE_MODE_P): New macro.
5448
5449         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5450         REG_CHANGES_MODE.
5451         (life_analysis): Clear subregs_of_mode.
5452
5453         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5454         Remove use of CLASS_CANNOT_CHANGE_MODE.
5455         (simplify_set): Same.
5456         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5457         REG_CHANGES_MODE.
5458
5459         * regs.h: Add extern for subregs_of_mode;
5460         Include hard-reg-set and basic-block.
5461         (REG_CHANGES_MODE): Delete.
5462
5463 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5464
5465         * real.c (real_sqrt): New function to calculate square roots.
5466         * real.h (real_sqrt): Add function prototype.
5467         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5468         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5469         of constant argument.
5470
5471 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5472
5473         * jump.c (never_reached_warning): Don't set contains_insn until the
5474         first line note is seen.
5475
5476 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5477
5478         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5479
5480 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5481
5482         PR c/7128
5483         * c-typeck.c (c_expand_asm_operands): Defend against
5484         error_mark_nodes in the output argument to avoid ICE.
5485
5486 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5487
5488         PR middle-end/8408
5489         * genrecog.c (preds): Handle ADDRESSOF.
5490         (validate_pattern): Mark it as an lvalue.
5491
5492 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5493
5494         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5495         instructions when optimizing for size.
5496
5497 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5498
5499         * config/h8300/h8300.h: Fix comment typos.
5500         * config/h8300/h8300.md: Likewise.
5501         * config/h8300/lib1funcs.asm: Likewise.
5502
5503 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5504
5505         Revert this change:
5506
5507         *doc/install.texi (Installing GCC: Configuration): Clarify
5508         the only supported ways to configure gcc.
5509
5510 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5511
5512         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5513         instead of 'O' for the constraint for the second operand.
5514
5515 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5516
5517         PR c++/8391
5518         * toplev.c (rest_of_compilation): Do not refuse to output code for
5519         an inline function in a local class.
5520
5521 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5522
5523         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5524         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5525         Add comment.
5526
5527 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5528
5529         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5530
5531 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5532
5533         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5534
5535 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5536
5537         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5538         (MASK_INLINE_DIV_THR): Remove.
5539         (TARGET_INLINE_DIV_LAT): Remove.
5540         (TARGET_INLINE_DIV_THR): Remove.
5541         (TARGET_INLINE_DIV): Remove.
5542         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5543         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5544         (MASK_INLINE_INT_DIV_LAT): New macro.
5545         (MASK_INLINE_INT_DIV_THR): New macro.
5546         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5547         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5548         (TARGET_INLINE_INT_DIV_LAT): New macro.
5549         (TARGET_INLINE_INT_DIV_THR): New macro.
5550         (TARGET_INLINE_FLOAT_DIV): New macro.
5551         (TARGET_INLINE_INT_DIV): New macro.
5552         * config/ia64/ia64.md (divsi3): Change to use new macros.
5553         (modsi3): Ditto.
5554         (udivsi3): Ditto.
5555         (umodsi3): Ditto.
5556         (divsi3_internal): Ditto.
5557         (divdi3): Ditto.
5558         (moddi3): Ditto.
5559         (udivdi3): Ditto.
5560         (umoddi3): Ditto.
5561         (divdi3_internal_lat): Ditto.
5562         (divdi3_internal_thr): Ditto.
5563         (divsf3): Ditto.
5564         (divsf3_internal_lat): Ditto.
5565         (divsf3_internal_thr): Ditto.
5566         (divdf3): Ditto.
5567         (divdf3_internal_lat): Ditto.
5568         (divdf3_internal_thr): Ditto.
5569         (divtf3): Ditto.
5570         (divtf3_internal_lat): Ditto.
5571         (divtf3_internal_thr): Ditto.
5572         * config/ia64/ia64.c (ia64_override_options): Change
5573         to check new macros for conflicts in settings.
5574         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5575         (-minline-divide-max-throughput): Remove.
5576         (-minline-float-divide-min-latency): New.
5577         (-minline-float-divide-max-throughput): New.
5578         (-minline-int-divide-min-latency): New.
5579         (-minline-int-divide-max-throughput): New.
5580
5581 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5582
5583         PR target/7856
5584         * arm.c (use_return_insn): Don't use a return insn if there are
5585         saved integer regs, but LR is not one of them.
5586
5587 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5588
5589         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5590         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5591
5592 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5593
5594         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5595         (movps, movpd splitters): Use canonical form.
5596         (movv2di): Fix merge problem.
5597
5598 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5599
5600         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5601
5602 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5603
5604         PR optimization/6162
5605         * doc/md.texi: Document restriction on commutative operand
5606         specification.
5607
5608 2002-10-31  Eric Christopher  <echristo@redhat.com>
5609
5610         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5611
5612 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5613
5614         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5615
5616 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5617
5618         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5619
5620 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5621
5622         * config/rs6000/darwin.h:  Correct formatting in previous.
5623
5624 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5625
5626         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5627
5628 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5629
5630         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5631         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5632         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5633         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5634         Do not clear -momit-leaf-frame-pointer when profiling.
5635         (ix86_frame_pointer_required): Frame pointer is always required when
5636         profiling.
5637
5638 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5639
5640         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5641
5642 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5643
5644         * sh.h (binary_logical_operator): Declare.
5645         * sh.c (binary_logical_operator): New function.
5646         * sh.md (xordi3+1): New combiner splitter pattern.
5647
5648 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5649
5650         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5651         __enable_execute_stack function.
5652
5653 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5654
5655         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5656         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5657         * unwind-sjlj.c (fc_key_dtor): Delete.
5658         (fc_key_init): Adjust __gthread_key_create call to match.
5659
5660 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5661
5662         * c-common.c: Add GTY to vector_type_node_list.
5663
5664 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5665
5666         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5667         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5668         pa_init_machine_status): Declare new global functions.
5669         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5670         implement new functions.
5671         (attr_length_millicode_call, attr_length_call): Implement.
5672         (total_code_bytes): Change type to long.
5673         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5674         Reset counter if flag_function_sections.
5675         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5676         (output_cbranch): Move call to gen_label_rtx.
5677         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5678         delay slot in all variants, shorten pc-relative calls.
5679         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5680         slot usage and exposure, various new call variants, and shortened
5681         sequences for some variants on TARGET_PA_20.
5682         Miscellaneous format changes.
5683         * pa.h (total_code_bytes): Change type to long.
5684         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5685         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5686         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5687         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5688         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5689         stores on TARGET_ELF32.
5690         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5691         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5692         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5693         attr_length_millicode_call().
5694         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5695         Calculate attribute length using attr_length_call().
5696         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5697         to delay slot.
5698         (sibcall, sibcall_value): Rewrite.
5699         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5700         register 1.  Use attr_length_call().
5701         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5702         New patterns.
5703         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5704         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5705         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5706         * doc/invoke.texi (mlong-calls): Document.
5707
5708 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5709
5710         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5711         handling of cases where one or both branches of the conditional
5712         have void type, i.e. throw an exception or don't return.
5713         (fold): Only apply (and undo) type conversion to the non-void
5714         branches of a COND_EXPR.
5715
5716 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5717
5718         PR c++/8333
5719         * varasm.c (asm_output_aligned_bss): Do not call
5720         ASM_GLOBALIZE_LABEL.
5721
5722 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5723             Torbjorn Granlund  <tege@swox.com>
5724
5725         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5726         for addressibility.
5727         (load_toc_v4_PIC_1b): Same.
5728
5729 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5730
5731         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5732         Truncate the addresses for H8/300 using HImode.
5733
5734 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5735
5736         * i386.md (negdf splitter): Fix construction of the constant.
5737
5738 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5739
5740         * i386.md (negsf, negdf): Reorganize to use vector modes
5741         for SSE variants.
5742         (abssf, absdf): Use force_reg.
5743         (movv4sf, movv2df): New splitters.
5744         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5745         * i386.c (zero_extended_scalar_load_operand
5746
5747         * i386-protos.h (ix86_expand_call): Update prototype.
5748         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5749         (ix86_expand_call): Use r11 for indirect sibcalls.
5750         * i386.md (call, call_value, untyped_call, call_value_pop):
5751         update x86_expand_call call.
5752         (sibcall, sibcall_value): new patterns
5753         (call_rex64, call_value_rex64): Do not accept sibcalls.
5754         (sibcall_rex64, sibcall_value_rex64,
5755         sibcall_rex64_v, sibcall_value_rex64_v): New.
5756
5757 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5758
5759         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5760         before final pass.
5761
5762 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5763
5764         * toplev.c (rest_of_type_compilation): Return early in case of
5765         errors.
5766         (check_global_declarations): Don't call debug_hooks->global_decl
5767         in case of errors.
5768
5769 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5770
5771         * doc/c-tree.texi (Tree overview): Fix typos.
5772
5773 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5774
5775         * Makefile.in (gnucompare*):  Only record bad comparisons
5776         if there really was a bad comparison.
5777
5778 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5779
5780         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5781         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5782         * md.texi (machine dependent constraints): Document 'C'
5783
5784         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5785
5786         * i386.c (ix86_expand_vector_move): Fix.
5787
5788         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5789         * i386.md (sse2_maskmovdqu_rex64): New pattern
5790
5791         PR target/8322
5792         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5793         (ix86_init_mmx_sse_builtins): Fix type.
5794
5795 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5796
5797         * gthr-posix.h: Include <unistd.h> for feature tests.
5798         (sched_get_priority_max, sched_get_priority_min)
5799         (pthread_getschedparam, pthread_setschedparam): Only use
5800         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5801         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5802         returns from sched_get_priority_max and sched_get_priority_min
5803         as an error.
5804
5805 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5806
5807         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5808         MASK_QUICKCALL.
5809
5810 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5811
5812         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5813         (h8300_tiny_constant_address_p): Likewise.
5814         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5815         h8300_eightbit_constant_address_p.
5816         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5817         * config/h8300/h8300-protos.h: Add the prototypes for the two
5818         new functions.
5819
5820 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5821
5822         * reload1.c (update_eliminables): Unconditionally check if
5823         frame_pointer_needed has changed.
5824
5825 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5826
5827         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5828         before final pass.
5829
5830 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5831
5832         PR optimization/8334
5833         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5834         check for zero operands explicitly.
5835
5836 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
5837
5838         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5839         memory after adjusting to BLKmode.
5840
5841 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5842
5843         * config/h8300/h8300.h (MASK_*): New.
5844         (TARGET_*): Use MASK_*.
5845
5846 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
5847
5848         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5849         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5850         config/rs6000/vxworks.h: New files.
5851         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5852
5853         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5854         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5855         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5856         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5857         sparc-*-vxsim*): Delete stanzas.
5858         * gthr-vxworks.h: Rip out all substantive code and just
5859         include gthr-single.h.
5860
5861         * config/alpha/vxworks.h, config/arm/vxarm.h,
5862         config/i386/vxi386.h, config/i960/t-vxworks960,
5863         config/i960/vx960-coff.h, config/i960/vx960.h,
5864         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
5865         config/mips/vxworks.h, config/rs6000/vxppc.h,
5866         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
5867         config/sparc/vxsim.h, config/sparc/vxsparc.h,
5868         config/sparc/vxsparc64.h: Delete files.
5869
5870 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
5871
5872         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
5873         tm_defines if pthreads are enabled.
5874         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
5875         if NETBSD_ENABLE_PTHREADS is defined.
5876
5877 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
5878
5879         * ChangeLog.1: Fix typos.
5880         * cse.c: Fix a comment typo.
5881         * reload1.c: Likewise.
5882
5883 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
5884
5885         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
5886         * fixinc/tests/base/_G_config.h: New file.
5887
5888 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5889
5890         * combine.c: Fix comment formatting.
5891         * loop.c: Likewise.
5892         * real.c: Likewise.
5893         * regclass.c: Likewise.
5894         * regmove.c: Likewise.
5895         * regrename.c: Likewise.
5896         * reg-stack.c: Likewise.
5897         * reload1.c: Likewise.
5898         * reload.c: Likewise.
5899         * reload.h: Likewise.
5900         * unroll.c: Likewise.
5901
5902 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5903
5904         * reload1.c (reload): Fix a comment typo.
5905
5906 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
5907
5908         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
5909
5910 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5911
5912         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
5913         * dwarf2out.c: Include hashtab.h.
5914         (is_main_source): New static variable.
5915         (attr_checksum, die_checksum): Modified to handle die references.
5916         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
5917         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
5918         record_comdat_symbol_number): New static functions.
5919         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
5920         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
5921         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
5922         declarations added.
5923
5924 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
5925
5926         * config/h8300/h8300.c (initial_offset): Change to
5927         h8300_initial_elimination_offset.
5928         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
5929         h8300_initial_elimination_offset.
5930         * config/h8300/h8300-protos.h: Update the prototype.
5931
5932 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
5933
5934         * config/mmix/mmix.h (LIBCALL_VALUE): Use
5935         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
5936         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
5937         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
5938         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
5939         and RTX_CODE.
5940         (mmix_function_value_regno_p): Declare.
5941
5942         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
5943         invalid for floating point mode result, with fix.
5944
5945 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
5946
5947         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
5948         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
5949         (stage1_build): Likewise.
5950
5951 2002-10-25  Mike Stump  <mrs@apple.com>
5952
5953         Fixes gcc.dg/warn-1.c.
5954         * c-typeck.c (warn_for_assignment): Don't print argument number,
5955         if zero.
5956
5957 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
5958
5959         * toplev.c (dump_file_index): Add DFI_ce3.
5960         (dump_file_info): Likewise.
5961         (rest_of_compilation): Run first ifcvt pass before tracer.
5962
5963 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
5964
5965         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
5966
5967 2002-10-25  Richard Henderson  <rth@redhat.com>
5968
5969         * real.c (real_to_decimal): If the >1 tens reduction loop results
5970         in a negative exponent, fall into the <1 pten computation.
5971
5972 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
5973
5974         PR middle-end/6994
5975         * c-objc-common.c (inline_forbidden_p): Can not inline
5976         functions containing structures or unions containing VLAs.
5977         * tree-inline.c (walk_tree): For all class 't' nodes, walk
5978         TYPE_SIZE and TYPE_SIZE_UNIT.
5979         (copy_tree_r): Copy types if they are variably modified.
5980
5981 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5982
5983         * config/s390/s390.md: Remove old-style peepholes.
5984
5985 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5986
5987         * config/s390/s390.c (s390_decompose_address): Do not range check the
5988         displacement if base or index is the argument pointer register.
5989
5990 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
5991
5992         PR other/3337
5993         PR bootstrap/6763
5994         PR bootstrap/8122
5995         * fixinc/inclhack.def (libc1_G_va_list): New fix.
5996         * fixinc/fixincl.x: Regenerate.
5997         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
5998         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
5999         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6000         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6001         * config.in, configure: Regenerate.
6002
6003 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6004
6005         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6006
6007 2002-10-24  Richard Henderson  <rth@redhat.com>
6008
6009         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6010
6011 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6012
6013         * config/h8300/h8300.c (initial_offset): Simplify by using
6014         round_frame_size.
6015
6016 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6017
6018         * doc/install.texi (avr): Update required binutils version.
6019
6020 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6021
6022         * doc/install.texi: Point avr users at more up-to-date information.
6023
6024 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6025
6026         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6027         to pull operands out of the literal pool where possible.
6028
6029 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6030
6031         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6032
6033 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6034
6035         * expr.c (convert_move): If unsignedp is less then zero there
6036         is no equivalent code.
6037
6038 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6039
6040         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6041
6042 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6043
6044         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6045         according to the sequence they are defined in the manual.
6046         (POINTER_BOUNDARY): Remove.
6047
6048 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6049
6050         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6051         BITS_PER_UNIT.
6052
6053 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6054
6055         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6056         64-bit safe.
6057         (TINY_CONSTANT_ADDRESS_P): Likewise.
6058
6059 2002-10-24  Richard Henderson  <rth@redhat.com>
6060
6061         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6062         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6063         vcall offset.
6064
6065 2002-10-24  Richard Henderson  <rth@redhat.com>
6066
6067         PR opt/7944
6068         * reload.c (find_reloads_toplev): Mode of X is not important
6069         when simplifying subregs of constants.
6070
6071 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6072
6073         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6074         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6075         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6076         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6077         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6078
6079 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6080
6081         * optabs.c (expand_binop): Don't reuse the shift target in the
6082         middle of shift sequences.
6083
6084 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6085
6086         * i386.md (abs splitters): Do not produce nested subregs.
6087
6088 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6089
6090         * i386.md (movti_rex64): Fix constraints.
6091
6092 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6093
6094         * i386.md (abssf,absdf): Use vector operands for SSE
6095         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6096         vector operand.
6097
6098 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6099
6100         * objc/objc-act.c (get_static_reference): Remove unneeded
6101         TYPE_BINFO initialization.
6102         (get_object-reference): Likewise.
6103         (build_constructor): Tighten precondition check.
6104         (finish_message_expr): Likewise.
6105
6106 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6107
6108         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6109         after CONST test.
6110
6111 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6112
6113         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6114         in HFAs.
6115
6116 2002-10-23  Richard Henderson  <rth@redhat.com>
6117
6118         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6119         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6120
6121 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6122
6123         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6124         var_mod_type_p.
6125         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6126         hook_tree_bool_false.
6127
6128         * tree.c (variably_modified_type_p): Moved here from
6129         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6130         language-specific cases.  Due to this, must weaken some 'if
6131         and only if' checks to merely 'if'.
6132         * tree.h: Prototype variably_modified_type_p.
6133
6134         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6135
6136 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6137
6138         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6139         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6140
6141         * config/s390/s390-protos.h (fp_operand): Remove.
6142         * config/s390/s390.c (fp_operand): Remove.
6143         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6144         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6145         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6146         (movdi_31, movdf_31 splitters): Likewise.
6147
6148         * config/s390/s390.h (IEEE_FLOAT): Remove.
6149         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6150         (INT_REGNO_P): Rename to ...
6151         (GENERAL_REGNO_P): ... this.
6152         (FLOAT_REGNO_P): Rename to ...
6153         (FP_REGNO_P): ... this.
6154         (ADDR_REGNO_P): New macro.
6155         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6156         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6157         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6158         (HARD_REGNO_NREGS): Adapt to macro renaming.
6159         (HARD_REGNO_MODE_OK): Likewise.
6160
6161 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6162             Geoff Keating  <geoffk@apple.com>
6163
6164         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6165         (rs6000_memory_move_cost): New function.
6166         * config/rs6000/rs6000-protos.h: Declare them.
6167         * config/rs6000/rs6000.h: Use them.
6168
6169 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6170
6171         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6172         inlining it into other libgcc2 routines.
6173         (__udivmoddi4): Likewise.
6174
6175 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6176
6177         * doc/sourcebuild.texi (Test Suites): Improve.
6178
6179 2002-10-22  Stan Shebs  <shebs@apple.com>
6180
6181         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6182         case for Darwin.
6183
6184 2002-10-22  Jim Wilson  <wilson@redhat.com>
6185
6186         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6187
6188 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6189
6190         PR other/8289
6191         * xmmintrin.h: Add const to the argument of loads.
6192
6193         * i386.md (pushv2di): New pattern.
6194         PR target/6890
6195         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6196
6197 2002-10-22  Richard Henderson  <rth@redhat.com>
6198
6199         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6200         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6201         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6202         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6203         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6204         (TARGET_ASM_OUT): Update.
6205         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6206         (hook_bool_tree_hwi_hwi_tree_true): New.
6207         (default_can_output_mi_thunk_no_vcall): New.
6208         * hooks.h: Declare them.
6209         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6210
6211         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6212         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6213         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6214         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6215         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6216         config/stormy16/stormy16.c: Similarly.
6217
6218         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6219         Handle 64-bit properly.  Streamline.
6220         (x86_output_mi_vcall_thunk): Remove.
6221         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6222         (x86_can_output_mi_thunk): New.
6223         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6224         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6225         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6226
6227         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6228         output_mi_thunk; make static; always use function_section.
6229         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6230         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6231         (rs6000_ra_ever_killed): Test no_new_pseudos not
6232         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6233         * config/rs6000/rs6000-protos.h: Update.
6234         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6235         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6236         xcoffout_declare_function when using rs6000_output_mi_thunk.
6237
6238         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6239         s390_output_mi_vcall_thunk.
6240         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6241         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6242
6243         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6244         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6245         * config/vax/vax-protos.h: Update.
6246         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6247
6248 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6249
6250         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6251         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6252         * i386.md (movti_internal): Use 'C'
6253
6254         * xmmintrin.h (_mm_cmplt_epi*): New.
6255
6256 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6257
6258         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6259         ("*movdf_64"): Likewise.
6260         ("*lshrdi3_64"): Likewise.
6261         ("blockage"): Add length attribute.
6262         ("lit"): Likewise.
6263
6264 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6265
6266         * i386.md: FIx typo.
6267         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6268         (sse2_umulv2siv2di3): Fix predicate.
6269         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6270         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6271         * xmmintrin.h (_mm_mul_epu16): Rename to...
6272         (_mm_mul_epu32): This one.
6273         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6274
6275         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6276
6277 2002-10-22  Eric Christopher  <echristo@redhat.com>
6278
6279         * config/sparc/sparc.h: Add #error.
6280
6281 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6282
6283         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6284         [s390x-*-linux*]: Likewise.
6285         * config/s390/t-linux: Remove.
6286         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6287
6288 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6289
6290         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6291         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6292         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6293         * i386.md (mmx_punpck?dq): Simplify.
6294         (sse2_pubpcklqdq): Fix.
6295         (sse2_pubpckhqdq): New.
6296         * xmmintrin.h (_mm_unpackhi_epi32): New.
6297
6298         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6299         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6300
6301 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6302
6303         PR c++/7209
6304         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6305         build compound_expr if we used save_expr.
6306
6307 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6308
6309         * output.h (SECTION_NOTYPE): Define.
6310         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6311         init array sections.
6312         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6313         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6314         merge TLS support.
6315
6316 2002-10-21  Richard Henderson  <rth@redhat.com>
6317
6318         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6319         the function type, not the return type.
6320
6321 2002-10-21  Richard Henderson  <rth@redhat.com>
6322
6323         * real.c (sticky_rshift_significand): Return inexact, don't
6324         or it in immediately.
6325         (sub_significands): Accept incomming carry.
6326         (div_significands, rtd_divmod): Update for sub_significands change.
6327         (round_for_format): Update for sticky_rshift_significand change.
6328         (do_add): Don't involve the inexact bit in addition, do give the
6329         inexact bit as the subtraction carry-in.
6330         (encode_internal, decode_internal, real_internal_format): New.
6331         * real.h (real_internal_format): Declare.
6332
6333 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6334
6335         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6336         don't define sdiv_qrnnd.
6337
6338 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6339
6340         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6341         using IN_RANGE.
6342         (TINY_CONSTANT_ADDRESS_P): Likewise.
6343
6344 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6345
6346         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6347         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6348         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6349         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6350         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6351         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6352         __builtin_ia32_setzero128.
6353         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6354         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6355         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6356         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6357         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6358         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6359         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6360         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6361         sse2_movq): New patterns.
6362         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6363         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6364         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6365         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6366         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6367         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6368         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6369         (_mm_insert_epi16): Fix.
6370
6371 2002-10-21  Dale Johannesen  <dalej@apple.com>
6372
6373         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6374             unsafe math reversals correctly for RTL generation.
6375           (output_cbranch):  Replace rs6000_reverse_condition call
6376             by its former definition.
6377
6378 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6379
6380         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6381         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6382         from constant pool or LABEL_REFs as sign extended if allow_rip.
6383         Change all +-1GB limits to +-16MB.
6384         (x86_64_general_operand, x86_64_szext_general_operand,
6385         x86_64_nonmemory_operand, x86_64_movabs_operand,
6386         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6387         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6388         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6389         in CM_SMALL_PIC model.
6390         (legitimate_pic_address_disp_p): Don't check offsets before
6391         calling local_symbolic_operand.
6392         (legitimize_pic_address): Force offsets bigger than +-16MB into
6393         register.
6394         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6395         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6396         prototype.
6397
6398         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6399         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6400         * configure: Rebuilt.
6401         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6402         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6403         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6404         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6405         -fpic.
6406         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6407         non-pic code if TARGET_64BIT.
6408         (legitimize_address): Generate 64-bit TLS sequences.
6409         (output_pic_addr_const): Support x86-64 TLS operators.
6410         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6411         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6412         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6413         (output_addr_const_extra): Support x86-64 TLS operators.
6414         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6415         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6416         unconditionally.
6417         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6418         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6419         (*tls_global_dynamic_sun): Renamed to...
6420         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6421         (tls_global_dynamic): Renamed to...
6422         (tls_global_dynamic_32): ... this.
6423         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6424         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6425         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6426         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6427         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6428         (tls_local_dynamic_base_dynamic): Renamed to...
6429         (tls_local_dynamic_base_dynamic_32): ... this.
6430         (tls_local_dynamic_base_dynamic_64,
6431         *tls_local_dynamic_base_dynamic_64): New.
6432         (*tls_local_dynamic_once): Renamed to...
6433         (*tls_local_dynamic_32_once): ... this.
6434
6435 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6436
6437         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6438         __divdi3, __umoddi3, or __moddi3.
6439
6440 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6441
6442         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6443         instead of just opt_index as switch expression.
6444
6445         * calls.c (store_one_arg): Change type of 'excess_align'
6446         to unsigned int.
6447
6448         * profile.c (output_gcov_string): Change type of 'temp'
6449         to size_t.
6450
6451 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6452
6453         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6454         (__fixunssfdi, __fixsfdi): Likewise.
6455         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6456         (s390_single_qi): Likewise.
6457         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6458         unsigned comparison warning.
6459         (s390_return_addr_rtx): New function.
6460         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6461         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6462         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6463
6464 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6465
6466         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6467         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6468         (s390_output_mi_thunk): Remove.
6469         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6470
6471 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6472
6473         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6474
6475 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6476
6477         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6478         inverted test in the conditional determining the possibility
6479         of sibcalls in PIC mode.
6480
6481 2002-10-20  Richard Henderson  <rth@redhat.com>
6482
6483         * target.h (struct gcc_target): Line wrap.
6484
6485         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6486         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6487         * config/alpha/alpha.h: ... not here.
6488         * config/alpha/alpha-protos.h: Update.
6489
6490         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6491         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6492         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6493         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6494         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6495         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6496         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6497         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6498         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6499         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6500         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6501         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6502         config/sparc/sparc.c, config/sparc/sparc.h,
6503         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6504         config/stormy16/stormy16.h: Similarly.
6505
6506         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6507         selection logic from call patterns.
6508
6509 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6510
6511         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6512
6513 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6514
6515         PR other/8202
6516         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6517         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6518         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6519         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6520
6521 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6522
6523         PR c/761
6524         * toplev.c (flag_unsafe_profile_arcs): Remove.
6525         (flag_bounded_pointers): Remove.
6526         (flag_bounds_check): Correct comments.
6527         (lang_independent_options): Remove -funsafe-profile-arcs and
6528         -fbounded-pointers.  Correct -fbounds-check comments.
6529
6530         * flags.h: Correct flag_schedule_interblock comments.
6531         (flag_bounded_pointers): Remove prototype.
6532         (flag_bounds_check): Correct comments.
6533
6534         * c-opts.c (c_common_init_options): No need to mark
6535         flag_bounds_check as unspecified.
6536         (c_common_post_options): And no need to set it from
6537         flag_bounded_pointers if its still unspecified.
6538
6539         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6540         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6541         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6542         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6543
6544 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6545         Angela Marie Thomas  <angela@releasedominatrix.com>
6546         Brendan Kehoe  <brendan@zen.org>
6547         Nick Clifton  <nickc@redhat.com>
6548         Andrew Haley  <aph@redhat.com>
6549
6550         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6551         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6552         and CROSS_SYSTEM_HEADER_DIR.
6553         * configure: Rebuilt.
6554         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6555         (TARGET_SYSTEM_ROOT): New.
6556         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6557         CROSS_SYSTEM_HEADER_DIR.
6558         (install-gcc-tooldir): New target.
6559         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6560         if SYSTEM_HEADER_DIR does not exist and it's not the default
6561         sys-include directory.
6562         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6563         (install-mkheaders): Likewise.
6564         * gcc.c (target_system_root): New variable.
6565         (add_sysrooted_prefix): New function.
6566         (process_command): Recompute run-time target_system_root from
6567         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6568         does not exist.
6569         (do_spec_1): Process 'R' spec.
6570         (main): Add md_exec_prefix to exec_prefixes regardless of
6571         startfile_prefix_spec.  Use add_sysrooted_prefix for
6572         startfile_prefixes, and don't skip the default ones when cross
6573         compiling with sysroot enabled.  Removed unused case of
6574         non-absolute standard_startfile_prefix.
6575         * config/interix.h: Remove the only potential, yet disabled,
6576         occurrence of non-absolute (empty) standard_startfile_prefix.
6577         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6578         linking.
6579         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6580         * doc/install.texi (--with-sysroot): Document.
6581         (--with-headers, --with-libs): Deprecate.
6582
6583 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6584             Mark Mitchell  <mark@codesourcery.com>
6585
6586         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6587         match target.h.
6588         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6589         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6590         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6591         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6592         x86_output_mi_thunk): Likewise.
6593         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6594         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6595         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6596         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6597         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6598         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6599         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6600         Likewise.
6601         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6602
6603         * target.h (gcc_target): Update output_mi_thunk and
6604         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6605         vcall_index.
6606
6607         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6608         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6609         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6610         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6611         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6612         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6613         signature.
6614         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6615         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6616         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6617         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6618         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6619         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6620         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6621         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6622         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6623
6624         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6625         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6626
6627 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6628
6629         * real.c (do_add): Fix 0+0 sign corner case.
6630         (do_divide): Fix Inf/0 corner case.
6631
6632 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6633
6634         * i386.c (classify_argument): Pass MMX arguments in memory
6635         (ix86_expand_builtin): Expand proper address mode for cflush.
6636         * i386.md (movdqa): Fix typo.
6637         (sse2_cflush): Accept DImode addresses.
6638
6639         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6640         (_mm_max_sd): Fix pasto.
6641         (_mm_storeh_pd, _mm_storel_pd): Fix.
6642
6643         * i386.c (bdesc_comi): Fix to match specification.
6644         (ix86_expand_sse_comi): Emit the comparison properly.
6645         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6646         Do not use comparison operator.
6647         (vnmaskcmp): Fix template.
6648
6649         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6650
6651 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6652
6653         * dependence.c : Removed.
6654         * Makefile.in : Remove dependence.o.
6655
6656 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6657
6658         * mmintrin.h (__m64): typedef it to v2si.
6659         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6660         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6661         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6662         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6663         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6664         * xmmintrin.h (_mm_setzero_si64): Likewise.
6665
6666         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6667         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6668
6669         PR target/7693
6670         Patch by Shawn Wagner
6671         * mmintrin.h: Replace pi64 by si64.
6672
6673 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6674
6675         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6676         Use length of 4 not *.
6677         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6678         (movdf_softfloat64): Likewise.
6679         (movdi_internal32): Use length of 4 not *.
6680         (movti_power): Same.
6681         (ctrsi, ctrdi): Same.
6682
6683 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6684
6685         * c-decl.c (start_decl): Point users of the old initialized-
6686         typedef extension at __typeof__.
6687
6688 2002-10-18  Richard Henderson  <rth@redhat.com>
6689
6690         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6691         (real_to_decimal): Re-implement using the logic from the
6692         gcc 3.2 etoasc.  Comment heavily.
6693         (div_significands): Simplify loop startup and comparison logic.
6694
6695 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6696
6697         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6698         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6699         (TARGET_ASM_OUT): Add them.
6700         * target.h (asm_out): Add output_mi_thunk and
6701         output_mi_vcall_thunk.
6702         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6703         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6704         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6705         * config/arm/arm.c (arm_output_mi_thunk): Define.
6706         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6707         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6708         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6709         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6710         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6711         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6712         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6713         prototype.
6714         (x86_output_mi_vcall_thunk): Declare.
6715         * config/i386/i386.c (override_options): Clear
6716         output_mi_vcall_thunk in 64-bit mode.
6717         (ix86_fntype_regparm): New function.
6718         (ix86_return_pops_args): Use it.
6719         (ia32_this_parameter): New function.
6720         (x86_output_mi_vcall_thunk): New function.
6721         (x86_output_mi_thunk): Use it
6722         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6723         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6724         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6725         * config/i960/i960.c (i960_output_mi_thunk): New function.
6726         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6727         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6728         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6729         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6730         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6731         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6732         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6733         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6734         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6735         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6736         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6737         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6738         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6739         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6740         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6741         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6742         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6743         * config/s390/s390.c (s390_output_mi_thunk): Define.
6744         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6745         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6746         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6747         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6748         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6749         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6750         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6751         * config/vax/vax.c (vax_output_mi_thunk): Define.
6752         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6753         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6754         * doc/tm.texi: Adjust documentation.
6755
6756 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6757
6758         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6759         __enable_execute_stack function.
6760         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6761         as NETBSD_ENABLE_EXECUTE_STACK.
6762         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6763         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6764         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6765         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6766         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6767
6768 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6769
6770         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6771         to __enable_execute_stack with the address of the trampoline
6772         if TRANSFER_FROM_TRAMPOLINE is defined.
6773         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6774         constant if building libgcc2.
6775
6776 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6777
6778         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6779         (ix86_memory_move_cost): Fix for 64bit compilation.
6780
6781 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6782
6783         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6784
6785 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6786
6787         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6788         in CTR/LR/MQ.
6789         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6790         to/from CTR/LR/MQ.
6791         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6792         (movsf_softfloat): Likewise.
6793
6794 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6795
6796         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6797
6798 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6799
6800         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6801         tramp, not addr, to pass the trampoline address to
6802         __enable_execute_stack.
6803
6804 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6805
6806         * mmintrin.h: Guard by __MMX__
6807         * xmmintrin.h: Guard by __SSE__
6808
6809         PR other/8062
6810         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6811         (_mm_load*_?d): New functions.
6812         (_mm_set*_?d): New functions.
6813         (_mm_store*_?d): New functions.
6814
6815 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6816
6817         Really commit patch announced at Oct 14
6818         PR c/7344
6819         * predict.c (can_predict_insn_p): New function.
6820         (estimate_probability): Avoid unnecesary work.
6821         (process_note_prediction): Likewise.
6822         * toplev.c (rest_of_compilation): Account early branch prediction pass
6823         as TV_BRANCH_PROB.
6824
6825         PR other/8048
6826         Found by Ian Ollmann
6827         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6828         (_mm_load?_pd): Likewise.
6829         (_mm_store?_pd): Likewise.
6830
6831         PR target/7386
6832         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6833         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6834         swapped alternative.
6835
6836         PR opt/7630
6837         * reload1.c (reload_inner_reg_of_subreg): New argument output;
6838         (push_reload): Update call.
6839
6840 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
6841
6842         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6843         if using mips/elf.h or mips/elf64.h.
6844         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6845         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6846
6847 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
6848
6849         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6850         SI.
6851
6852 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
6853
6854         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6855         (LPREFIX): Likewise.
6856         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6857         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
6858         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
6859         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
6860         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
6861
6862         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
6863         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
6864         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6865         BSS_SECTION_ASM_OP): Move from linux.h.
6866         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6867         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6868
6869         * config/s390/s390.c (s390_function_profiler): Use
6870         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6871
6872 2002-10-15  Eric Christopher  <echristo@redhat.com>
6873
6874         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
6875         * java/parse.y (obtain_incomplete_type): Make pointer
6876         ptr_mode.
6877
6878 2002-10-15  Richard Henderson  <rth@redhat.com>
6879
6880         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
6881         as arguments.  Bound DIGITS by the available buffer size.
6882         (real_to_hexadecimal): Likewise.
6883         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
6884         (REAL_VALUE_TO_DECIMAL): Remove.
6885         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
6886         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
6887         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
6888         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6889         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
6890         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
6891         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
6892         use real_to_decimal directly, and with the proper arguments.
6893         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
6894
6895 2002-10-15  Jim Wilson  <wilson@redhat.com>
6896
6897         * reload1.c (merge_assigned_reloads): After converting overlapping
6898         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
6899
6900         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
6901
6902 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6903
6904         * expr.c (do_tablejump): Fix typo in my previous commit.
6905
6906 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
6907
6908         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
6909
6910 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6911
6912         * config/s390/s390.c (s390_split_branches): Add return
6913         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
6914
6915         (find_base_register_in_addr): New function.
6916         (find_base_register_ref): New function.
6917         (replace_base_register_ref): New function.
6918
6919         (struct constant_pool): Add members pool_insn, insns, and anchor.
6920         Remove member last_insn.
6921         (s390_start_pool): Initialize them.
6922         (s390_end_pool): Emit pool placeholder insn.
6923         (s390_add_pool_insn): New function.
6924         (s390_find_pool): Use insns bitmap instead of addresses.
6925         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
6926         Replace unspec 104 by local-pool-relative references.
6927         (s390_output_constant_pool): Output anchor label if required.
6928         (s390_output_symbolic_const): Handle unspec 104 and 105.
6929         (s390_add_pool): Remove, replace by ...
6930         (s390_add_constant, s390_find_constant): ... these new functions.
6931         (s390_add_anchor): New function.
6932
6933         (s390_chunkify_pool): Delete, replace by ...
6934         (s390_chunkify_start, s390_chunkify_finish,
6935         s390_chunkify_cancel): ... these new functions.
6936         (s390_optimize_prolog): Add parameter TEMP_REGNO.
6937         Recompute register live data for special registers.
6938         (s390_fixup_clobbered_return_reg): New function.
6939         (s390_machine_dependent_reorg): Rewrite to use new
6940         s390_chunkify_... routines.
6941
6942         config/s390/s390.md ("reload_base"): Rename to ...
6943         ("reload_base_31"): ... this.
6944         ("reload_base_64"): New insn.
6945         ("reload_base2"): Remove.
6946         ("reload_anchor"): New insn.
6947         ("pool"): New insn.
6948
6949         s390.c (s390_pool_overflow): Remove.
6950         s390.h (s390_pool_overflow): Likewise.
6951         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
6952
6953 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6954
6955         * sh.md (movv8qi_i+2): Don't split if source is -1.
6956
6957 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
6958
6959         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
6960
6961 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6962
6963         PR opt/7409
6964         * loop.c (loop_regs_scan): Mark registers used for function
6965         argument passing as MAY_NOT_OPTIMIZE.
6966
6967 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
6968
6969         * gcov-io.h (gcov_info): Fix type.
6970         * profile.c (create_profiler): Fix type mismatch.
6971
6972 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
6973
6974         * i386.md (movv2di_internal): New pattern.
6975         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
6976         (movv2di): New expander.
6977         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
6978
6979         * i386.c (ix86_expand_timode_binop_builtin): Delete.
6980         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
6981         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
6982         (ix86_expand_builtin): Likewise.
6983         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6984         sse_andti3,
6985         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6986         sse_andnti3,
6987         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
6988         sse_orti3,
6989         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
6990         sse_xorti3): Kill.
6991         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
6992          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
6993         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
6994          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6995         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
6996          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6997
6998         * xmmintrin.h (__m128i): Define as __v2di.
6999
7000         PR c++/6419
7001         (expand_expr): Use DECL_RTL_SET_P.
7002
7003 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7004
7005         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7006
7007 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7008             Zack Weinberg <zack@codesourcery.com>
7009
7010         * config/i386/i386.c (k6_cost): Correct typo.
7011
7012 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7013
7014         PR optimization/6631
7015         * alias.c (objects_must_conflict_p): Check honor_readonly when
7016         examining TYPE_READONLY.
7017         * function.c (assign_stack_temp_for_type): Likewise.
7018
7019 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7020
7021         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7022         Swap zero extension arguments.
7023         (umaxhi3): Fix instruction class.
7024         PR target/7211
7025         (prefetch): Fix prefetch instructions.
7026         PR target/7238
7027         (pkwb): Fix output constraint.
7028
7029 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7030
7031         * config/mips/mips.c (print_operand): Increase buffer size for
7032         real numbers.
7033
7034 2002-10-14  Richard Henderson  <rth@redhat.com>
7035
7036         PR opt/8165
7037         * gcse.c (adjust_libcall_notes): Revert last change.
7038         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7039
7040 2002-10-14  Andrew Haley  <aph@redhat.com>
7041
7042         * tree-inline.c (remap_block): All local class initialization
7043         flags go in the outermost scope.
7044         (expand_call_inline): Call java_inlining_map_static_initializers.
7045         (expand_call_inline): Call java_inlining_merge_static_initializers.
7046         * java/lang.c (merge_init_test_initialization): New.
7047         (java_inlining_merge_static_initializers): New.
7048         (inline_init_test_initialization): New.
7049         (java_inlining_map_static_initializers): New.
7050
7051         * tree-inline.c (expand_call_inline): Convert retvar to expected
7052         type.
7053
7054 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7055
7056         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7057
7058 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7059
7060         * stmt.c: Fix typo in comment.
7061
7062 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7063
7064         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7065         * tree.c (build_common_tree_nodes_2): Initialize
7066         unsigned_V2HI_type_node and V2HI_type_node.
7067         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7068         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7069
7070 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7071
7072         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7073         Handle TARGET_64BIT.
7074
7075 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7076
7077         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7078         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7079         (MULTILIB_DIRNAMES): Remove long32.
7080         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7081         (MULTILIB_REDUNDANT_DIRS): Remove.
7082
7083 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7084
7085         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7086         * gcc.c (driver_self_specs): New variable.
7087         (do_self_spec): New function.
7088         (main): Use it to process driver_self_specs.
7089
7090 2002-10-13  Richard Henderson  <rth@redhat.com>
7091
7092         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7093         indirect sibcalls when regparm >= 3.
7094
7095         * config/i386/i386.c (sibcall_insn_operand): New.
7096         * config/i386/i386.h (PREDICATE_CODES): Update.
7097         * config/i386/i386-protos.h: Update.
7098         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7099
7100         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7101
7102 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7103
7104         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7105         arithmetic right shifts of ~0 during RTL simplifications.
7106
7107 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7108
7109         PR preprocessor/7862
7110         PR preprocessor/8190
7111         * gcc.c (cpp_unique_options): Don't delete .d files.
7112         Remove stray whitespace.
7113
7114 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7115
7116         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7117         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7118         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7119         (pdp11_output_function_epilogue, output_ascii): Likewise.
7120         (output_addr_const_pdp11): Likewise.
7121         * pdp11.md (movdi): Use offsetable memory for floating store.
7122         (lshrsi3, negsi2): Delete irrelevant comment.
7123
7124 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7125
7126         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7127         indirect calls to be sibcall optimized.
7128         * config/i386/i386.md (sibcall_1): New.
7129         (call_1): Add no-sibcalls condition.
7130         (sibcall_value_1): New.
7131         (call_value_1): Add no-sibcalls condition.
7132
7133 2002-10-11  Eric Christopher  <echristo@redhat.com>
7134
7135        * output.h (default_valid_pointer_mode): Declare.
7136        * varasm.c (default_valid_pointer_mode): Define.
7137        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7138        * target.h: Ditto.
7139        * tree.c (build_pointer_type_for_mode): New function.
7140        (build_pointer_type): Use.
7141        (build_reference_type_for_mode): New function.
7142        (build_reference_type): Use.
7143        * tree.h: Declare new functions.
7144        * c-common.c (handle_mode_attribute): Use new functions, check
7145        for type.
7146        * stor-layout.c (layout_type): Depend on machine mode for
7147        REFERENCE_TYPE and POINTER_TYPE.
7148        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7149        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7150        and REFERENCE_TYPE.
7151        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7152        (TARGET_VALID_POINTER_MODE): Use and define.
7153        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7154
7155 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7156
7157         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7158         not the address of the REG.
7159         (struct cse_reg_info): Make subreg_ticked unsigned.
7160
7161 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7162
7163         * doc/compat.texi: Add info about C++ libraries.
7164
7165 2002-10-11  Richard Henderson  <rth@redhat.com>
7166
7167         PR opt/8165
7168         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7169
7170 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7171
7172         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7173         * genautomata.c (output_insn_code_cases): Likewise.
7174         * real.c (real_format): Likewise.
7175         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7176         ensure value is promoted before doing subtraction.
7177
7178 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7179
7180         * calls.c (expand_call): Simplify noreturn call.
7181
7182         PR c/7344
7183         * cfgbuild.c (make_edges): Create edge cache when we do have
7184         large jumptable.
7185         * expr.c (do_tablejump): Note size of maximal jumptable.
7186         * function.c (prepare_function_start): Zero out size.
7187         * function.h (function): Add max_jumptable_ents.
7188
7189         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7190
7191 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7192
7193         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7194         register for mperm_w operation.
7195
7196 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7197
7198         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7199         an integer, use simplify_gen_subreg.
7200
7201 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7202
7203         * calls.c (flags_from_decl_or_type): Make extern.
7204         (ECF_*): Move ...
7205         * rtl.h (ECF_*): ... here.
7206         (flags_from_decl_or_type): Declare.
7207
7208 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7209             Nathan Sidwell <nathan@codesourcery.com>
7210
7211         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7212         shifts of the form -1 >> x.
7213
7214 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7215
7216         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7217
7218 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7219
7220         * extend.texi (Vector Extensions): Remove comment about single
7221         element vectors.
7222
7223 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7224
7225         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7226         * function.c (insns_for_mem_hash): Likewise.
7227         * varasm.c (STRHASH): Likewise.
7228
7229 2002-10-10  Stuart Hastings  <stuart@apple.com>
7230
7231         * cse.c (struct cse_reg_info): Add subreg_ticked.
7232         (SUBREG_TICKED): New.
7233         (get_cse_reg_info): Initialize SUBREG_TICKED.
7234         (mention_regs): Use it.
7235         (invalidate): Set SUBREG_TICKED.
7236         (invalidate_for_call): Likewise.
7237         (addr_affects_sp_p): Likewise.
7238
7239 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7240
7241         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7242         into proper operand.
7243
7244 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7245
7246         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7247         deallocation.
7248         * config/ip2k/libgcc.S: Combine routines used by function
7249         epilogue.
7250
7251 2002-10-10  Jim Wilson  <wilson@redhat.com>
7252
7253         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7254         UDIV.
7255
7256 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7257
7258         * config/rs6000/aix52.h: New file.
7259         * config/rs6000/t-aix52: New File.
7260         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7261         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7262
7263 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7264
7265         PR target/5610
7266         * invoke.texi (-msse-math): Kill
7267         (-msse): Add note to mfpmath=sse.
7268
7269 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7270
7271         PR target/7723
7272         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7273
7274 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7275
7276         PR preprocessor/8179
7277         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7278         as cc1_options.
7279         (default_compilers): Pass debug options when preprocessing
7280         stdin.
7281
7282 2002-10-06  Richard Henderson  <rth@redhat.com>
7283
7284         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7285
7286 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7287
7288         * i386.c (*_cost): Add branch costs.
7289         (override_options): set ix86_branch_cost.
7290         (ix86_expand_int_movcc): Use BRANCH_COST.
7291         * i386.h (costs): Add branch_cost.
7292
7293 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7294
7295         PR c/7353
7296         * c-decl.c (start_decl): Unconditionally issue error for
7297         'typedef foo = bar'.
7298         (finish_decl): Remove special case for TYPE_DECL with initializer.
7299
7300         * doc/extend.texi: Delete "Naming Types" section.  Change all
7301         cross-references to that section to refer to "Typeof" instead.
7302         Add the useful safe-max()-macro example from "Naming Types" to
7303         "Typeof", rewritten using that extension.  Add some compatibility
7304         notes to "Typeof."
7305
7306 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7307
7308         * loop.c: Revert 2002-08-15 change.
7309         (LOOP_REGNO_NREGS): Ensure type is int.
7310
7311 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7312
7313         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7314         which copies first FPR and clears second.
7315         (extendsftf2): Same.
7316         (floatditf2): Fix typo.
7317         (floatsitf2): Same.
7318         (fix_trunctfdi2): Same.
7319         (fix_trunctfsi2): Same.
7320
7321 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7322
7323         * conflict.c (arc_hash): Change return type to hashval_t.
7324         * cselib.c (get_value_hash): Likewise.
7325         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7326         state_hash, automata_list_hash): Likewise.
7327         * read-rtl.c (def_hash): Likewise.
7328         * tree.c (type_hash_hash): Likewise.
7329
7330 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7331
7332         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7333         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7334
7335 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7336
7337         * sh.md (ffssi2): Fix emitted code.
7338
7339 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7340
7341         * cse.c (insn_live_p): Pass insn pattern, not full insn
7342         to may_trap_p.
7343
7344 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7345
7346         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7347
7348 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7349
7350         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7351         64-bit hosts.
7352         (movtf_internal): Reference correct displacement for second value
7353         in memory.
7354         (movtf splitter): Correct generation of constants in 64-bit mode.
7355
7356 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7357
7358         * libgcc2.c (__floatdisf): Properly cure double rounding.
7359
7360 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7361
7362         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7363         * doc/cpp.texi (Common Predefined Macros): Document.
7364
7365 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7366
7367         PR doc/7484
7368         * doc/invoke.texi (Option Summary): List
7369         -Wmissing-declarations as a C only option.
7370
7371 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7372
7373         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7374         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7375         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7376
7377 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7378
7379         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7380         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7381         variables.
7382         (safe_vector_operand): Update sse_clrv4sf call.
7383         (ix86_expand_buildin): Likewise
7384         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7385         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7386         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7387         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7388         macros.
7389         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7390         movv4si):  Obey the new flags.
7391         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7392         reformating penalty.
7393         (anddf, cmov patterns): Avoid reformating by first converting.
7394         (sse_cvtsd2ss): Fix predicate.
7395         (sse2_clrti): Fix mode,
7396         (sse_clrv4sf): Avoid unspec.
7397
7398 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7399
7400         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7401         mno-app-regs|mcmodel=medany.
7402         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7403         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7404         (CRTSTUFF_T_CFLAGS): Define.
7405
7406 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7407
7408         PR target/8087
7409         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7410         pool references that are constructed using LO_SUM.
7411
7412 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7413
7414         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7415         -Wall.
7416         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7417         message.
7418         * flags.h (warn_strict_aliasing): Declare.
7419         * toplev.c (warn_strict_aliasing): Define.
7420         (lang_independent_options): Add it.
7421         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7422
7423 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7424
7425         * system.h (GCCBUGURL): Delete.
7426         * version.c (bug_report_url): New.  Add commentary about
7427         modifying both these strings in modified distributions.
7428         * version.h: Declare bug_report_url.
7429
7430         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7431         bug_report_url.
7432
7433 2002-10-08  Nick Clifton  <nickc@redhat.com>
7434
7435         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7436         convert uint64_t into __ev64_opaque__.
7437         (__ev_set_acc_s64): Likewise, but using signed types.
7438
7439 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7440
7441         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7442         ("*doloop_di_long"): Likewise.
7443
7444 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7445
7446         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7447
7448 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7449
7450         * config/mips/mips.md (define_attr cpu): Add r4111.
7451
7452 2002-10-08  Anthony Green  <green@redhat.com>
7453
7454         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7455
7456 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7457
7458         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7459         for REAL_VALUE_TO_DECIMAL output.
7460
7461 2002-10-07  Richard Henderson  <rth@redhat.com>
7462
7463         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7464         function; cleanup PLUS case by using recursion.  Update all users.
7465         (NONZERO_BASE_PLUS_P): Remove.
7466         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7467         (fold_rtx): Use nonzero_address_p.
7468         * rtl.h (nonzero_address_p): Declare.
7469         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7470         (rtx_addr_can_trap_p): Likewise.
7471         (nonzero_address_p): New.
7472         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7473         (simplify_relational_operation): Use nonzero_address_p.
7474
7475 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7476
7477         * config/rs6000/rs6000.c (rs6000_override_options): Set
7478         real_format_for_mode for IBM extended format, if enabled.
7479         (easy_fp_constant): Add TFmode.
7480         (rs6000_legitimize_address): Add TFmode.
7481         (rs6000_legitimate_address): Same.
7482         (function_arg_advance): TFmode uses two FPRs.
7483         (rs6000_emit_prologue): Fix warning.
7484         (rs6000_output_function_epilogue): Add TFmode.
7485         (output_toc): Add TFmode.
7486         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7487         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7488         * rs6000.md (movtf splitter): Load TFmode constant.
7489
7490 2002-10-07  Dale Johannesen  <dalej@apple.com>
7491
7492         * rtl.h:  Add NOTE_PRECONDITIONED.
7493         * unroll.c:  Set it.
7494         * loop.c:  Set loop_info->preconditioned from it.
7495         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7496
7497 2002-10-07  Richard Henderson  <rth@redhat.com>
7498
7499         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7500         new rtx for comparing the argument pointer against zero.
7501         (i960_va_start): Similarly.
7502
7503 2002-10-07  Richard Henderson  <rth@redhat.com>
7504
7505         * config/i960/i960.md (*): Use TFmode, not XFmode.
7506         * config/i960/i960.c (*): Likewise.
7507         (i960_arg_size_and_align): Remove XFmode alignment hack.
7508         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7509         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7510         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7511         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7512
7513 2002-10-07  Richard Henderson  <rth@redhat.com>
7514
7515         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7516         entry points; use void return value and argument list.
7517
7518 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7519
7520         * calls.c (expand_call): Fix function-is-volatile check.
7521
7522 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7523
7524         * t-pdp11: Add MULTILIB support for msoft-float.
7525         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7526
7527         * t-pdp11: Add LIB2FUNCS_EXTRA.
7528         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7529         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7530         'fldd' to 'ldd', rename 'fstd' to 'std'.
7531         (pdp11_output_function_epilogue): Likewise.
7532         (output_move_quad): Make the comment gas compatible.
7533         (output_ascii): Add preceding 0 to the octal constant.
7534         (print_operand_address): Add pre_modify, post_modify.
7535         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7536         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7537         with the indication of Paul Koning.
7538         (PRINT_OPERAND): Fix floating constant.
7539         * pdp11.md (movdi): Restrict matching pattern.
7540         (movqi): Generalize the matching pattern.
7541         (movdf): Restrict matching pattern.
7542         (zero_extendqihi2): Change constant representation.
7543         (floatsidf2): Fix wrong operands.
7544         (addqi3): Fix wrong instruction name.
7545         (subqi3): Fix wrong instruction name.
7546         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7547         (xorsi3): Fix wrong insn.
7548         (one_cmplqi2): Add two operand pattern.
7549         (lsrsi3): New.
7550         (negsi2): New.
7551         (call): Add register indirect case.
7552         (mod): Fix wrong subreg.
7553
7554 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7555             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7556
7557         PR c/7411
7558         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7559         have been expanded in EXPAND_NORMAL mode.
7560
7561 2002-10-06  Richard Henderson  <rth@redhat.com>
7562
7563         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7564
7565 2002-10-06  Richard Henderson  <rth@redhat.com>
7566
7567         PR optimization/2960
7568         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7569         optimize_size.
7570
7571 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7572
7573         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7574         previously definitions.
7575
7576 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7577
7578         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7579         * c-opts.c (find_opt): Similarly.
7580
7581 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7582
7583         * athlon.md: rewrite to DFA.
7584         * i386 (ix86_adjust_cost): Drop memory latency code.
7585         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7586
7587 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7588
7589         * gcc.c (set_multilib_dir): Don't access *end.
7590         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7591         (print_multilib_info): Don't show paths starting with ".:".
7592         * genmultilib: Add new option, "yes" if multilibs are enabled.
7593         Update comments.  If multilibs not enabled, print .:${osdirout}
7594         for each directory.  If multilibs are enabled, always print
7595         ${dirout}:${osdirout}, even if the two are the same.
7596         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7597         Pass all MULTILIB_* variables to genmultilib even if
7598         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7599
7600 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7601
7602         * gcc.c (process_command): Set .validated for -pipe.  Correct
7603         grammar in comment.
7604
7605 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7606
7607         * fixinc/inclhack.def(hpux11_abs):  use format fix
7608         * fixinc/fixincl.x: regenerate
7609         * fixinc/tests/base/stdlib.h: accommodate new fix test
7610
7611 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7612
7613         * c-common.c (cb_register_builtins):  Use really_no_inline.
7614
7615 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7616
7617         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7618         copied instruction if the note is not loop invariant.
7619
7620 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7621
7622         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7623
7624 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7625
7626         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7627         and -mhp-ld options to list of options.  Add -mgnu-ld
7628         and -mhp-ld option descriptions.
7629
7630 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7631
7632         * fixinc/inclhack.def (hpux11_abs):  New.
7633         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7634         * fixinc/fixincl.x: Rebuild.
7635
7636 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7637
7638         * config/i386/i386.h (processor_costs): Add new fields fadd,
7639         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7640         (RTX_COSTS): Use these fields to determine the RTX costs
7641         of floating point addition/subtraction, multiplication,
7642         division, fabs, negation and square root respectively.
7643         * config/i386/i386.c (size_cost): Provide instruction sizes
7644         for these new fields.
7645         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7646         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7647         counts for these new fields for all x86 processor variants.
7648
7649 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7650
7651         * mips.c (mips_const_double_ok): Delete unused variable.
7652
7653         * gengtype.c (rtx_next): Change type to int.
7654
7655 2002-10-04  Andreas Jaeger  <aj@suse.de>
7656
7657         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7658
7659 2002-10-04  Richard Henderson  <rth@redhat.com>
7660
7661         * real.h (SIGNIFICAND_BITS): Add one more word.
7662         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7663         * real.c (times_pten): New.
7664         (real_to_decimal, real_from_string): Use it.
7665         (sticky_rshift_significand): Use & to find modulus.
7666         (rshift_significand, lshift_significand): Likewise.
7667         (do_divide): Apply sticky bit after normalization.
7668         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7669
7670 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7671
7672         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7673         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7674
7675 2002-10-03  Andreas Jaeger  <aj@suse.de>
7676
7677         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7678         to unsigned long, adjust printf format string.
7679         (output_mangled_typename): Likewise.
7680
7681 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7682
7683         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7684         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7685         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7686         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7687         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7688         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7689         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7690         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7691
7692 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7693
7694         * doc/invoke.texi (-Wabi): Document mangling bug.
7695
7696 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7697
7698         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7699         name for the tbtab label that depends on the function asm name.
7700         Don't output tbtab label unless optional_tbtab.
7701         (output_mi_thunk): Formatting.
7702
7703 2002-10-03  Richard Henderson  <rth@redhat.com>
7704
7705         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7706         * config/m68k/m68k.c (override_options): ... here.
7707         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7708         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7709         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7710         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7711
7712 2002-10-03  Richard Henderson  <rth@redhat.com>
7713
7714         * real.h (struct real_value): Use ENUM_BITFIELD.
7715
7716 2002-10-03  Richard Henderson  <rth@redhat.com>
7717
7718         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7719
7720 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7721
7722         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7723
7724 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7725
7726         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7727         * config/pa/pa.h (MASK_GNU_LD): New.
7728         (TARGET_GNU_LD): New.
7729         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7730         on gnu-ld and MASK_GNU_LD.
7731         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7732
7733 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7734
7735         * i386.c (athlon_cost): Fix the move costs.
7736
7737 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7738
7739         * final.c (final): Use symbol name as function name for profiling.
7740         * profile.c (get_exec_counts): Likewise.
7741         (branch_prob): Likewise.
7742
7743 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7744
7745         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7746
7747 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7748
7749         * gcc.c (print_multi_os_directory): New variable.
7750         (option_map): Support --print-multi-os-directory.
7751         (struct prefix_list): Add os_multilib field.
7752         (multilib_os_dir): New variable.
7753         (static_specs): Add multilib_options.
7754         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7755         subdirs if nonzero.
7756         (read_specs, execute): Update callers.
7757         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7758         pass 1 as multilib option.
7759         (display_help): Include --print-multi-os-directory.
7760         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7761         (process_command): Update callers.  Handle --print-multi-os-directory.
7762         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7763         set.
7764         (main): Update find_a_file and add_prefix callers.
7765         Handle print_multi_os_directory.
7766         (struct mdswitchstr): New.
7767         (mdswitches, n_mdswitches): New variables.
7768         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7769         present on the command line nor their mutually incompatible
7770         switches.
7771         (default_arg): Optimize.
7772         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7773         array.
7774         (print_multilib_info): Only print GCC multilib dir name, not OS
7775         multilib dirname.
7776         * genmultilib: Add osdirnames parameter.  Output multilib_options
7777         variable.  If osdirnames is specified, output dirnames as
7778         dirname:osdirname.
7779         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7780         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7781         to compute libgcc_s soname and install path.
7782         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7783         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7784         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7785         argument.
7786
7787         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7788         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7789         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7790         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7791         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7792         and -m64.
7793         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7794         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7795         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7796         (STARTFILE_ARCH_SPEC): Remove.
7797         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7798         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7799         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7800         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7801         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7802
7803 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7804
7805         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7806
7807 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7808
7809         * i386.md (lea to mul peep2): Fix condition.
7810
7811 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7812
7813         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7814         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7815
7816 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7817
7818         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7819         attribute "unused".
7820
7821         * config/t-libunwind: Mention unwind-sjlj.c.
7822         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7823         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7824
7825         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7826         before inclusion of config.gcc, but after configuring the compiler etc.
7827         Determine default value for --enable-libunwind-exceptions based on
7828         whether the host has a libunwind library (not guaranteed to be correct,
7829         but it's a reasonable first guess and can always be overridden with an
7830         explicit --enable/disable-libunwind-exceptions.
7831         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7832         tmake_file when $use_libunwind_exceptions is enabled.
7833         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7834         ia64 (e.g., config/t-linux also updates it).
7835         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7836         along with the shared version of libgcc since the latter requires
7837         the former.
7838         * unwind-libunwind.c: New file.
7839         * config/t-libunwind: Ditto.
7840
7841 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7842
7843         * config.gcc: Remove support for vax-*-vms*.
7844         * config/vax/vms.h: Remove.
7845         * config/vax/xm-vms.h: Remove.
7846         * config/vax/vax-protos.h: Remove VMS-specific code.
7847         * config/vax/vax.c: Remove VMS-specific code.
7848
7849 2002-10-02  Richard Henderson  <rth@redhat.com>
7850
7851         PR opt/7124
7852         * config/i386/i386.c (ix86_register_move_cost): Increase cost
7853         for secondary_memory_needed pairs.
7854
7855 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7856
7857         * doc/vms.texi: Blow away false include file section.
7858
7859 2002-10-02  Roger Sayle  <roger@eyesopen.com>
7860
7861         PR optimization/6627
7862         * toplev.c (force_align_functions_log): New global variable.
7863         * flags.h (force_align_functions_log): Add extern prototype.
7864         * varasm.c (assemble_start_function): Use it to force minimum
7865         function alignment.
7866         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
7867         minimum function alignment to one byte.
7868         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
7869         the least significant bit of vtable member function pointers.
7870         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
7871         here from cp/cp-tree.h.
7872
7873 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7874
7875         * i386.c (print_operand_address): Use RIP addressing for offsetted
7876         label refs too.
7877
7878 2002-09-30  David S. Miller  <davem@redhat.com>
7879
7880         PR middle-end/7151
7881         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
7882         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
7883
7884 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
7885
7886         * calls.c (expand_call): Remove the `no indirect check'
7887         for sibcall optimization; use function_ok_for_sibcall
7888         target hook; refine check for `function is volatile'.
7889         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
7890         * hooks.c (hook_tree_tree_bool_false): New.
7891         * hooks.h (hook_tree_tree_bool_false): Declare.
7892         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7893         (TARGET_INITIALIZER): Add it.
7894         * target.h (struct gcc_target): Add function_ok_for_sibcall.
7895         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
7896         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7897         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7898         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
7899         Remove function declaration.
7900         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
7901         function static and accept another argument of type `tree'.
7902         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7903         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7904         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7905         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
7906         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7907         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7908         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7909         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
7910         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
7911         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7912         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7913         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
7914         Remove function declaration.
7915         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
7916         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
7917         rename first argument to `decl'; accept another argument
7918         of type `tree'; make static.
7919         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7920         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7921         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
7922         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7923         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7924         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
7925         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7926         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7927         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7928
7929 2002-10-01  Roger Sayle  <roger@eyesopen.com>
7930
7931         * unroll.c (loop_iterations): Revert 2002-09-08 change.
7932
7933 2002-10-01  Richard Henderson  <rth@redhat.com>
7934
7935         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
7936         (real_to_hexadecimal): Likewise.
7937         * print-rtl.c (print_rtx): If we are linked with real.c, don't
7938         dump the XWINT fields of a floating point CONST_DOUBLE.
7939
7940 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
7941
7942         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
7943
7944 2002-10-01  Richard Henderson  <rth@redhat.com>
7945
7946         * calls.c (precompute_register_parameters): Force non-legitimate
7947         constants into pseudos.
7948
7949 2002-10-01  Nick Clifton  <nickc@redhat.com>
7950
7951         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
7952         to assembler template.
7953
7954 2002-10-01  Richard Henderson  <rth@redhat.com>
7955
7956         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
7957         for TLS debug info to !DECL_EXTERNAL.
7958
7959 2002-10-01  Matt Thomas  <matt@3am-software.com>
7960             Jason Thorpe  <thorpej@wasabisystems.com>
7961
7962         * config.gcc (vax-*-netbsdelf*): Enable configuration.
7963         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
7964         if not already defined.
7965         * config/vax/elf.h: New file.
7966         * config/vax/netbsd-elf.h: New file.
7967         * config/vax/vax.c: Include "debug.h".
7968         (vax_output_function_prologue): Add dwarf2 support.  Use
7969         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
7970         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
7971         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
7972         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
7973         (VAX_ISTREAM_SYNC): Remove.
7974         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
7975         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7976         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
7977         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
7978         and assemble_name.
7979         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7980         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
7981         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
7982         (INCOMING_RETURN_ADDR_RTX): Define.
7983         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
7984         (VUNSPEC_SYNC_ISTREAM): Define.
7985         (blockage): Use VUNSPEC_BLOCKAGE.
7986         (sync_istream): New insn.
7987
7988 2002-10-01  Richard Henderson  <rth@redhat.com>
7989
7990         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
7991         (*call_value_pop, call, call_value): Add dwarf2 EH support.
7992         (*call): New insn.
7993
7994 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
7995
7996         PR c/8083
7997         * c-typeck.c (build_c_cast): Warn about type punning which breaks
7998         type based aliasing.
7999
8000 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8001
8002         * stor-layout.c (update_alignment_for_field): New function.
8003         (place_union_field): Use it.
8004         (place_field): Likewise.
8005
8006 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8007
8008         PR other/8077
8009         * gcc.c (cc1_options): Add space on -auxbase-strip.
8010
8011 2002-10-01  Jim Wilson  <wilson@redhat.com>
8012
8013         * config/v850/v850.h (EPILOGUE_USES): Define.
8014
8015 2002-09-30  Andrew Haley  <aph@redhat.com>
8016
8017         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8018         eliminate insns that may trap.
8019         * cse.c (insn_live_p): Likewise.
8020
8021 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8022
8023         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8024         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8025         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8026         * config/mips/mips.md: Apply same renaming here.
8027
8028 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8029
8030         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8031         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8032         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8033         * config/mips/mips.md (define_attr cpu): Remove r4320.
8034         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8035
8036 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8037
8038         * config/mips/mips.c (mips16_strings): New variable.
8039         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8040         symbol in mips16_strings.  Free the list.
8041         (mips_encode_section_info): Keep track of local strings.
8042
8043 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8044
8045         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8046         (sordered_df, sordered_sf): Remove.
8047         * config/mips/mips.c (get_float_compare_codes): New fn.
8048         (gen_int_relational, gen_conditional_move): Use it.
8049
8050 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8051
8052         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8053         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8054         * config/mips/mips.c (fcc_register_operand): New function.
8055         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8056         (override_options): Allow TFmode values in float registers
8057         if ISA_HAS_8CC.
8058         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8059         to fcc_register_operand.  Remove misleading source constraint.
8060         Use mips_emit_fcc_reload.
8061         (reload_outcc): Duplicate reload_incc.
8062
8063 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8064
8065         * gcc.c (validate_switches): Handle all new forms of spec
8066         syntax introduced recently.  Now returns a char *.
8067         (validate_all_switches): Repetitive logic broken out to...
8068         (validate_switches_from_spec): ...here.
8069         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8070
8071 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8072
8073         * longlong.h: Partially synchronize with GMP-4.1 version:
8074         Use i370 definitions also for s390.
8075         Add generic definition of umul_ppmm in terms of smul_ppmm.
8076         [s390] (umul_ppmm): Remove.
8077         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8078         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8079
8080 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8081
8082         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8083         Add new RL_REGS register class.
8084         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8085         Call xtensa_preferred_reload_class for both input and output reloads.
8086         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8087         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8088         instead of either AR_REGS or GR_REGS classes.
8089         (xtensa_secondary_reload_class): Use new RL_REGS class.
8090         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8091
8092 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8093
8094         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8095         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8096         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8097         there is a '*' prefix in NAME.
8098
8099 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8100
8101         * reload.c (push_reload): Handle subregs and secondary memory.
8102         * reload1.c (gen_reload): Likewise.
8103
8104         * jump.c (reg_or_subregno): New function.
8105         * rtl.h (reg_or_subregno): Declare
8106         * unroll.c (find_splittable_givs): Handle subregs.
8107
8108 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8109
8110         * store-layout.c (finish_record_layout): Add free_p parameter.
8111         (layout_type): Pass it.
8112         * tree.h (finish_record_layout): Update prototype.
8113
8114 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8115
8116         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8117
8118         * gcse.c (cprop_jump): Check that the register has not
8119         been modified
8120         (cprop_jump): Likewise.
8121
8122 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8123
8124         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8125         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8126         that we have a SImode access, and only then if reload hasn't completed;
8127         for all other cases, use LO_REGS.
8128
8129 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8130
8131         * openbsd.h: Fix typo in last change.
8132
8133 2002-09-29  Richard Henderson  <rth@redhat.com>
8134
8135         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8136
8137 2002-09-29  Richard Henderson  <rth@redhat.com>
8138
8139         PR c/8002
8140         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8141         for CONST_INT.
8142
8143 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8144
8145         * real.h (ibm_extended_format): Declare.
8146         * real.c (encode_ibm_extended, decode_ibm_extended): New
8147         functions.
8148
8149 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8150
8151         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8152
8153         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8154
8155 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8156
8157         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8158
8159 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8160
8161         * builtins.def: Fix comment formatting.
8162         * c-common.def: Likewise.
8163         * cfgcleanup.c: Likewise.
8164         * combine.c: Likewise.
8165         * gengtype.c: Likewise.
8166         * params.def: Likewise.
8167         * predict.def: Likewise.
8168         * rtl.def: Likewise.
8169         * stab.def: Likewise.
8170         * stor-layout.c: Likewise.
8171         * tree.def: Likewise.
8172         * config/darwin.c: Likewise.
8173         * config/darwin.h: Likewise.
8174         * config/dbxcoff.h: Likewise.
8175         * config/elfos.h: Likewise.
8176         * config/fp-bit.c: Likewise.
8177         * config/freebsd-spec.h: Likewise.
8178         * config/interix.h: Likewise.
8179         * config/libgloss.h: Likewise.
8180         * config/linux-aout.h: Likewise.
8181         * config/linux.h: Likewise.
8182         * config/lynx-ng.h: Likewise.
8183         * config/lynx.h: Likewise.
8184         * config/netbsd-aout.h: Likewise.
8185         * config/netbsd.h: Likewise.
8186         * config/netware.h: Likewise.
8187         * config/psos.h: Likewise.
8188         * config/ptx4.h: Likewise.
8189
8190 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8191
8192         * ChangeLog.4: Fix typos.
8193         * ChangeLog.6: Likewise.
8194         * FSFChangeLog.10: Likewise.
8195         * genattrtab.c: Fix comment typos.
8196         * haifa-sched.c: Likewise.
8197         * real.c: Likewise.
8198         * tree.h: Likewise.
8199         * config/arm/arm.c: Likewise.
8200         * config/arm/crti.asm: Likewise.
8201         * config/arm/crtn.asm: Likewise.
8202         * config/frv/frv.c: Likewise.
8203         * config/frv/frv.md: Likewise.
8204         * config/h8300/h8300.md: Likewise.
8205         * config/i386/rtemself.h: Likewise.
8206         * config/ia64/unwind-ia64.c: Likewise.
8207         * config/ip2k/ip2k.h: Likewise.
8208         * config/m88k/m88k.c: Likewise.
8209         * config/m88k/m88k.md: Likewise.
8210         * config/mips/sr71k.md: Likewise.
8211         * config/mmix/mmix.c: Likewise.
8212         * config/rs6000/rs6000.c: Likewise.
8213         * config/sh/sh.md: Likewise.
8214
8215 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8216
8217         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8218         * config/avr/avr.md: Ditto.
8219
8220 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8221
8222         PR preprocessor/8055
8223         * cppmacro.c (stringify_arg): Do not overflow the buffer
8224         with the terminating NUL when the argument to be stringified
8225         has no tokens.
8226
8227 2002-09-27  Richard Henderson  <rth@redhat.com>
8228
8229         * unroll.c (simplify_cmp_and_jump_insns): New.
8230         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8231         instead of expand_simple_foo.
8232
8233 2002-09-27  Richard Henderson  <rth@redhat.com>
8234
8235         PR optimization/7520
8236         * cfganal.c (flow_active_insn_p): New.
8237         (forwarder_block_p): Use it.
8238
8239 2002-09-27  Richard Henderson  <rth@redhat.com>
8240
8241         * emit-rtl.c (active_insn_p): Revert last change.
8242
8243 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8244
8245         * doc/extend.texi (tls_model): Document.
8246         * varasm.c (decl_tls_model): New.
8247         * c-common.c (handle_tls_model_attribute): New.
8248         (c_common_attribute_table): Add tls_model.
8249         * config/alpha/alpha.c (alpha_encode_section_info): Use
8250         decl_tls_model.
8251         * flags.h (enum tls_model, flag_tls_default): Move...
8252         * tree.h (enum tls_model, flag_tls_default): ...here.
8253         (decl_tls_model): New prototype.
8254         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8255         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8256         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8257         Allow !flag_pic.
8258
8259 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8260
8261         * LANGUAGES: Follow spelling conventions.
8262         * rtl.def: Likewise.
8263         * sbitmap.c: Likewise.
8264         * sched-int.h: Likewise.
8265         * sched-rgn.c: Likewise.
8266         * sibcall.c: Likewise.
8267         * simplify-rtx.c: Likewise.
8268         * ssa.c: Likewise.
8269         * stab.def: Likewise.
8270         * stmt.c: Likewise.
8271         * stor-layout.c: Likewise.
8272         * target.h: Likewise.
8273         * timevar.c: Likewise.
8274         * toplev.c: Likewise.
8275         * tree-dump.c: Likewise.
8276         * tree-inline.c: Likewise.
8277         * tree.c: Likewise.
8278         * tree.def: Likewise.
8279         * tree.h: Likewise.
8280         * unroll.c: Likewise.
8281         * varasm.c: Likewise.
8282         * vmsdbgout.c: Likewise.
8283         * treelang/treelang.texi: Likewise.
8284         * treelang/treetree.c: Likewise.
8285
8286 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8287
8288         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8289         instead of a hard register number.
8290         (get_shift_alg): Use an enumerated type instead of numbers.
8291         (h8300_shift_needs_scratch_p): Likewise.
8292
8293 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8294
8295         * varasm.c (force_data_section): Remove.
8296         (assemble_constant_align): Likewise.
8297         * output.h: Remove corresponding prototypes.
8298
8299 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8300
8301         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8302         jump, if the loop to exit is the top of the current nesting stack.
8303
8304 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8305
8306         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8307         arithmetic.
8308
8309 2002-09-26  David S. Miller  <davem@redhat.com>
8310
8311         PR optimization/7335
8312         * calls.c (emit_library_call_value_1): Passing args by reference
8313         converts a CONST function into a PURE one.
8314
8315 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8316
8317         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8318         text_section.
8319         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8320         text section.
8321         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8322         function-sections and data-sections functionality on AIX.
8323
8324 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8325             Dale Johannesen  <dalej@apple.com>
8326
8327         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8328         in RTL for sub-word loads from memory.
8329
8330 2002-09-26  Richard Henderson  <rth@redhat.com>
8331
8332         PR c/7160
8333         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8334         on call insns.
8335
8336 2002-09-26  Richard Henderson  <rth@redhat.com>
8337
8338         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8339
8340 2002-09-26  Chris Lattner  <sabre@nondot.org>
8341
8342         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8343         handling undefined values.
8344
8345 2002-09-26  Richard Henderson  <rth@redhat.com>
8346
8347         PR opt/7520
8348         * emit-rtl.c (active_insn_p): Consider a clobber of the
8349         function return value to be active even after reload.
8350
8351 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8352
8353         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8354         by absolute loop increment, not loop increment.
8355
8356 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8357
8358         * c-common.h: Follow spelling conventions.
8359         * cpplex.c: Likewise.
8360         * cpplib.h: Likewise.
8361         * gthr-dce.h: Likewise.
8362         * gthr-posix.h: Likewise.
8363         * optabs.c: Likewise.
8364         * output.h: Likewise.
8365         * profile.c: Likewise.
8366         * protoize.c: Likewise.
8367         * ra-rewrite.c: Likewise.
8368         * real.c: Likewise.
8369         * recog.c: Likewise.
8370         * reg-stack.c: Likewise.
8371         * regclass.c: Likewise.
8372         * regmove.c: Likewise.
8373         * reload.c: Likewise.
8374         * reload.h: Likewise.
8375         * reload1.c: Likewise.
8376         * reorg.c: Likewise.
8377         * resource.c: Likewise.
8378         * rtl.h: Likewise.
8379         * rtlanal.c: Likewise.
8380
8381 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8382
8383         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8384         for symbol address.
8385
8386 2002-09-24  Eric Christopher  <echristo@redhat.com>
8387
8388         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8389         * config/mips/elf64.h: Ditto.
8390
8391 2002-09-24  Eric Christopher  <echristo@redhat.com>
8392
8393         * except.c (expand_builtin_extract_return_address): Handle case
8394         where Pmode != ptr_mode.
8395
8396 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8397
8398         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8399
8400 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8401
8402         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8403
8404 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8405
8406         * combine.c (simplify_set): Don't call to force_to_mode if size
8407         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8408
8409 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8410
8411         * Makefile.in (qmtest-g++): Fix file path.
8412
8413 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8414
8415         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8416         A + (-const) on RTX level, even for unsigned types.
8417
8418 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8419
8420         * reload.c (dup_replacements): New function.
8421         (find_reloads): Use it to duplicate replacements at the top level
8422         of match_dup operands.
8423
8424 2002-09-26  Miles Bader  <miles@gnu.org>
8425
8426         * v850.md ("length"): Change default value to 4.
8427
8428 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8429
8430         * ChangeLog.1: Follow spelling conventions.
8431         * ChangeLog.4: Likewise.
8432         * ChangeLog.6: Likewise.
8433         * FSFChangeLog.11: Likewise.
8434         * doc/cpp.texi: Likewise.
8435         * doc/invoke.texi: Likewise.
8436         * doc/tm.texi: Likewise.
8437
8438 2002-09-26  Nick Clifton  <nickc@redhat.com>
8439
8440         * config.gcc: Add x prefix to v850e case for handling
8441         --with-cpu=v850e.
8442
8443 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8444
8445         * gcc.c (input_suffix_matches, switch_matches,
8446         mark_matching_switches, process_marked_switches,
8447         process_brace_body): New functions - split from handle_braces.
8448         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8449         and ignore whitespace in more places.
8450         (specs documentation comment): Document %{S:X;T:Y;:D}.
8451         Clarify other %{...} docs.
8452         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8453         %{...} docs.
8454
8455         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8456         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8457
8458 2002-09-25  David S. Miller  <davem@redhat.com>
8459
8460         PR target/7842
8461         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8462         extend.
8463
8464 2002-09-25  Richard Henderson  <rth@redhat.com>
8465
8466         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8467         fp CONST_DOUBLE; use real_identical.
8468
8469 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8470
8471         * doc/invoke.texi: Add more -Wabi examples.
8472
8473 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8474
8475         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8476
8477 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8478
8479         * profile.c (end_branch_prob): Only look for __gcov_init on
8480         weak-enabled native compilers.
8481
8482 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8483
8484         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8485         cases of optimizing "add sp,w" to "inc sp".
8486
8487 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8488
8489         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8490         epilogue for naked functions.
8491
8492 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8493             Nick Clifton  <nickc@redhat.com>
8494
8495         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8496         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8497         is defined.
8498
8499 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8500
8501         * config/s390/s390.c (preferred_la_operand_p): New function.
8502         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8503         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8504         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8505         ("*la_31"): Deactivate for TARGET_64BIT.
8506         ("*la_31_and", "*la_31_and_cc"): New.
8507
8508 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8509
8510         * real.h (real_value): Make `exp' explicitly signed.
8511
8512 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8513
8514         * config/elfos.h: Follow spelling conventions.
8515         * config/alpha/alpha.h: Likewise.
8516         * config/arc/arc.h: Likewise.
8517         * config/arm/arm.md: Likewise.
8518         * config/avr/avr.h: Likewise.
8519         * config/cris/cris.md: Likewise.
8520         * config/d30v/d30v.h: Likewise.
8521         * config/frv/frv.c: Likewise.
8522         * config/frv/frv.h: Likewise.
8523         * config/h8300/h8300.c: Likewise.
8524         * config/h8300/h8300.h: Likewise.
8525         * config/h8300/h8300.md: Likewise.
8526         * config/i386/cygwin.h: Likewise.
8527         * config/i386/i386.h: Likewise.
8528         * config/i386/sysv3.h: Likewise.
8529         * config/i960/i960.h: Likewise.
8530         * config/ia64/ia64.h: Likewise.
8531         * config/ia64/ia64.md: Likewise.
8532         * config/ip2k/ip2k.h: Likewise.
8533         * config/m32r/m32r.h: Likewise.
8534         * config/m68k/m68k.h: Likewise.
8535         * config/m88k/m88k.h: Likewise.
8536         * config/mcore/mcore.c: Likewise.
8537         * config/mcore/mcore.h: Likewise.
8538         * config/mcore/mcore.md: Likewise.
8539         * config/mips/mips.h: Likewise.
8540         * config/mmix/mmix.h: Likewise.
8541         * config/mmix/mmix.md: Likewise.
8542         * config/ns32k/netbsd.h: Likewise.
8543         * config/ns32k/ns32k.h: Likewise.
8544         * config/ns32k/ns32k.md: Likewise.
8545         * config/pa/pa.h: Likewise.
8546         * config/romp/romp.h: Likewise.
8547         * config/rs6000/rs6000.h: Likewise.
8548         * config/rs6000/rs6000.md: Likewise.
8549         * config/sparc/sparc.h: Likewise.
8550         * config/stormy16/stormy-abi: Likewise.
8551         * config/stormy16/stormy16.h: Likewise.
8552         * config/vax/vax.h: Likewise.
8553
8554 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8555
8556         * config/alpha/alpha.h: Remove commented-out macro
8557         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8558         * config/avr/avr.h: Likewise.
8559         * config/d30v/d30v.h: Likewise.
8560         * config/dsp16xx/dsp16xx.h: Likewise.
8561         * config/i370/i370.h: Likewise.
8562         * config/i386/i386.h: Likewise.
8563         * config/i960/i960.h: Likewise.
8564         * config/m68k/m68k.h: Likewise.
8565         * config/m88k/m88k.h: Likewise.
8566         * config/mips/mips.h: Likewise.
8567         * config/ns32k/ns32k.h: Likewise.
8568         * config/pdp11/pdp11.h: Likewise.
8569         * config/romp/romp.h: Likewise.
8570         * config/rs6000/rs6000.h: Likewise.
8571         * config/s390/s390.h: Likewise.
8572         * config/sh/sh.h: Likewise.
8573         * config/sparc/sparc.h: Likewise.
8574         * config/stormy16/stormy16.h: Likewise.
8575         * config/vax/vax.h: Likewise.
8576
8577 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8578
8579         * function.c (push_temp_slots_for_block): Remove.
8580         (push_temp_slots_for_target): Likewise.
8581         (get_target_temp_slot_level): Likewise.
8582         (set_target_temp_slot_level): Likewise.
8583         (get_first_block_beg): Likewise.
8584         * function.h: Remove corresponding prototypes.
8585
8586 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8587
8588         * version.c (version_string): Now const char[].
8589         * version.h: Update to match.
8590
8591 2002-09-23  Richard Henderson  <rth@redhat.com>
8592
8593         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8594         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8595         (TARGET_SWITCHES): Don't reference them.
8596         * config/i386/i386.c (override_options): Use target_flags_explicit
8597         to examine bits set by the user.
8598
8599 2002-09-23  Dale Johannesen  <dalej@apple.com>
8600
8601         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8602         passed on stack by invisible reference.
8603
8604 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8605
8606         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8607         at least one byte of space.
8608
8609 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8610
8611         * c-common.h (flag_abi_version): Fix typo in comment.
8612         * doc/invoke.texi (flag_abi_version): Document default value.
8613
8614 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8615
8616         * doc/extend.texi (Extended Asm): Clarify that overlap between
8617         asm-declared register variables used in an asm and the asm clobber
8618         list is not allowed.
8619         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8620         (expand_asm_operands): Keep track of clobbered registers.  Call
8621         decl_conflicts_with_clobbers_p for each input and output operand.
8622         If no conflicts found before, also do conflict sanity check when
8623         emitting clobbers.
8624
8625 2002-09-23  Richard Henderson  <rth@redhat.com>
8626
8627         * c-common.c (cpp_define_data_format): Remove.
8628         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8629         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8630         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8631         * doc/cpp.texi: Don't document them either.
8632         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8633         __LONG_LONG_MAX__): Document.
8634         (__TARGET_FLOAT_FORMAT__): Remove.
8635
8636 2002-09-23  Richard Henderson  <rth@redhat.com>
8637
8638         * real.c (do_multiply): Normalize U before addition.
8639
8640 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8641
8642         * c-common.c (flag_abi_version): New variable.
8643         * c-common.h (flag_abi_version): Declare it.
8644         * c-opts.c (missing_arg): Add -fabi-version.
8645         (c_common_decode_option): Process -fabi-version.
8646         * doc/invoke.texi (-fabi-version): Document it.
8647         (-Wabi): Add information about bit-fields in unions.
8648
8649 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8650
8651         * expr.c (STORE_BY_PIECES_P): New target macro.
8652         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8653         instead of MOVE_BY_PIECES_P.
8654         * doc/tm.texi: Document this new macro.
8655
8656 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8657
8658         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8659         unless -fno-pic or -fno-PIC is specified.
8660
8661 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8662
8663         * c-common.c (preprocessing_trad_p): Define.
8664         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8665         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8666         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8667         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8668         * pa-linux.h (CPP_PREDEFINES): Delete.
8669         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8670         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8671         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8672         (TARGET_OS_CPP_BUILTINS): Define.
8673         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8674         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8675         (SUBTARGET_SWITCHES): Provide default definition.
8676         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8677         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8678         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8679         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8680         (TARGET_CPU_CPP_BUILTINS): Define.
8681         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8682         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8683         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8684         preprocessing_trad_p().
8685
8686 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8687
8688         * doc/install.texi: Document behavior of --with-headers and
8689         --with-libs when arguments are omitted.
8690
8691 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8692
8693         * dbxout.c: Follow spelling conventions.
8694         * defaults.h: Likewise.
8695         * df.c: Likewise.
8696         * diagnostic.h: Likewise.
8697         * doloop.c: Likewise.
8698         * dwarf2out.c: Likewise.
8699         * dwarfout.c: Likewise.
8700         * emit-rtl.c: Likewise.
8701         * except.c: Likewise.
8702         * explow.c: Likewise.
8703         * expmed.c: Likewise.
8704         * expr.c: Likewise.
8705         * expr.h: Likewise.
8706         * flags.h: Likewise.
8707         * flow.c: Likewise.
8708         * fold-const.c: Likewise.
8709         * function.c: Likewise.
8710         * function.h: Likewise.
8711         * gcc.c: Likewise.
8712         * gcov-io.h: Likewise.
8713         * gcov.c: Likewise.
8714         * gcse.c: Likewise.
8715         * genattrtab.c: Likewise.
8716         * genconfig.c: Likewise.
8717         * genrecog.c: Likewise.
8718         * ggc-page.c: Likewise.
8719         * ggc.h: Likewise.
8720         * global.c: Likewise.
8721         * gthr-win32.h: Likewise.
8722         * integrate.c: Likewise.
8723         * jump.c: Likewise.
8724         * langhooks.c: Likewise.
8725         * langhooks.h: Likewise.
8726         * line-map.h: Likewise.
8727         * local-alloc.c: Likewise.
8728         * longlong.h: Likewise.
8729         * loop.c: Likewise.
8730         * loop.h: Likewise.
8731
8732 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8733
8734         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8735
8736 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8737
8738         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8739         for -Os/TARGET_64BIT too.
8740
8741 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8742
8743         * ChangeLog: Follow spelling conventions.
8744         * ChangeLog.0: Likewise.
8745         * ChangeLog.1: Likewise.
8746         * ChangeLog.2: Likewise.
8747         * ChangeLog.3: Likewise.
8748         * ChangeLog.4: Likewise.
8749         * ChangeLog.5: Likewise.
8750         * ChangeLog.6: Likewise.
8751         * FSFChangeLog.10: Likewise.
8752         * FSFChangeLog.11: Likewise.
8753         * alias.c: Likewise.
8754         * basic-block.h: Likewise.
8755         * c-aux-info.c: Likewise.
8756         * c-common.c: Likewise.
8757         * c-common.h: Likewise.
8758         * c-decl.c: Likewise.
8759         * c-format.c: Likewise.
8760         * c-semantics.c: Likewise.
8761         * c-typeck.c: Likewise.
8762         * calls.c: Likewise.
8763         * cfganal.c: Likewise.
8764         * cfgloop.c: Likewise.
8765         * collect2.c: Likewise.
8766         * combine.c: Likewise.
8767         * conflict.c: Likewise.
8768         * cppexp.c: Likewise.
8769         * cppfiles.c: Likewise.
8770         * cpphash.h: Likewise.
8771         * cppinit.c: Likewise.
8772         * cpplex.c: Likewise.
8773         * cpplib.c: Likewise.
8774         * cpplib.h: Likewise.
8775         * cppmacro.c: Likewise.
8776         * cse.c: Likewise.
8777
8778 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8779
8780         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8781         LINK_SPEC.
8782         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8783         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8784         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8785
8786 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8787
8788         PR opt/7930
8789         * cse.c (fold_rtx): Calculate old_cost before we fold each
8790         operand.
8791
8792 2002-09-21  Richard Henderson  <rth@redhat.com>
8793
8794         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8795         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8796         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8797         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8798         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8799         * doc/cpp.texi: Don't document them.
8800
8801 2002-09-21  Richard Henderson  <rth@redhat.com>
8802
8803         * c-common.c (builtin_define_float_constants): Use real_format
8804         to get the floating-point parameters.
8805
8806 2002-09-21  Richard Henderson  <rth@redhat.com>
8807
8808         * real.c (struct real_format): Move to real.h.
8809         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8810         initialize with ieee defaults.
8811         (real_to_target_fmt, real_from_target_fmt): New.
8812         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8813         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8814         ieee_quad_format, i370_single_format, i370_double_format,
8815         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8816         (ieee_quad_format): Fix emin.
8817         (format_for_size, init_real_once): Remove.
8818         * real.h (struct real_format): Move from real.c.
8819         (real_format_for_mode): Declare.
8820         (real_to_target_fmt, real_from_target_fmt): Declare.
8821         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8822         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8823         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8824         i370_single_format, i370_double_format, c4x_single_format,
8825         c4x_extended_format): Declare.
8826         * toplev.c (do_compile): Don't call init_real_once.
8827
8828         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8829         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8830
8831         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8832         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8833         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8834         for VAX, if enabled.
8835
8836         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8837         for C4X.
8838
8839         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8840         * config/i370/i370.c (override_options): New.
8841         * config/i370/i370-protos.h: Update.
8842
8843         * config/i386/i386.c (override_options): Set real_format_for_mode
8844         for Intel 80-bit extended.
8845         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8846
8847         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8848         (OVERRIDE_OPTIONS): Move code...
8849         * config/i960/i960.c (i960_initialize): ... here.  Set
8850         real_format_for_mode for Intel 80-bit extended.
8851
8852         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8853         for Intel 80-bit extended, if enabled.
8854
8855         * config/m68k/m68k.c (override_options): Set real_format_for_mode
8856         for Motorola 96-bit extended.
8857
8858         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
8859         * config/vax/vax.c (override_options): New.
8860         * config/vax/vax-protos.h: Update.
8861
8862 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
8863
8864         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
8865         #if TARGET_MACHO.
8866
8867         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
8868         insns.  Supply missing clobber of scratch reg.
8869
8870 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
8871
8872         * config/m32r/m32r.c: Follow spelling conventions.
8873         * config/m32r/m32r.h: Likewise.
8874         * config/m32r/m32r.md: Likewise.
8875         * config/m68k/m68k.c: Likewise.
8876         * config/m88k/m88k.c: Likewise.
8877         * config/mcore/mcore.c: Likewise.
8878         * config/mips/mips.c: Likewise.
8879         * config/mips/mips.h: Likewise.
8880         * config/mmix/mmix.c: Likewise.
8881         * config/mn10200/mn10200.c: Likewise.
8882         * config/ns32k/ns32k.h: Likewise.
8883         * config/pa/pa.c: Likewise.
8884         * config/pa/pa64-linux.h: Likewise.
8885         * config/pdp11/pdp11.h: Likewise.
8886         * config/romp/romp.c: Likewise.
8887         * config/romp/romp.h: Likewise.
8888         * config/rs6000/eabi.asm: Likewise.
8889         * config/rs6000/linux64.h: Likewise.
8890         * config/rs6000/rs6000.c: Likewise.
8891         * config/rs6000/rs6000.h: Likewise.
8892         * config/rs6000/rs6000.md: Likewise.
8893         * config/rs6000/sysv4.h: Likewise.
8894         * config/rs6000/xcoff.h: Likewise.
8895
8896 2002-09-20  Jim Wilson  <wilson@redhat.com>
8897
8898         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
8899
8900 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
8901
8902         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
8903         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
8904         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
8905         (legitimate_address_p): Likewise.
8906         (legitimize_address): Use @gotntpoff and @indntpoff.
8907         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
8908         (output_addr_const_extra): Likewise.
8909
8910 2002-09-20  Jim Wilson  <wilson@redhat.com>
8911
8912         * combine.c (try_combine): When split an instruction pair, where the
8913         first has a sign_extend src, verify that the src and dest modes match.
8914
8915 2002-09-20  Richard Henderson  <rth@redhat.com>
8916
8917         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
8918         (override_options): Do not initialize them.
8919         (mips_const_double_ok): Allow no fp constants except zero,
8920         and not even that for mips16.
8921         (const_float_1_operand): Use dconst1.
8922         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
8923         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
8924         Don't allow arbitrary constants; fix predicates and C constraint.
8925
8926 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
8927
8928         * cppmacro.c: Don't warn about function-like macros without
8929         '(' during pre-expansion.
8930
8931 2002-09-20  Jim Wilson  <wilson@redhat.com>
8932
8933         * config/v850/v850.c (current_function_anonymous_args): Delete.
8934         (expand_prologue): Use current_function_args_info.anonymous_args.
8935         (expand_epilogue): Delete use of current_function_anonymous_args.
8936         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
8937         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
8938         (current_function_anonymous_args): Delete extern declaration.
8939         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
8940
8941 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
8942
8943         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
8944         to load_macho_picbase.
8945         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
8946         (load_macho_picbase): Take the symbol to use as a parameter.
8947         (macho_correct_pic): New insn.
8948         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
8949
8950         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
8951         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
8952         (CAN_ELIMINATE): Likewise.
8953         (INITIAL_ELIMINATION_OFFSET): Likewise.
8954         (TOC_REGISTER): Likewise.
8955
8956 2002-09-20  Richard Henderson  <rth@redhat.com>
8957
8958         * real.c (real_hash): New.
8959         * real.h: Declare it.
8960         * cse.c (canon_hash): Use it.
8961         * cselib.c (hash_rtx): Likewise.
8962         * emit-rtl.c (const_double_htab_hash): Likewise.
8963         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
8964         * varasm.c (struct rtx_const): Reduce vector size; separate
8965         integer and fp vectors.
8966         (HASHBITS): Remove.
8967         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
8968         take modulus MAX_HASH_TABLE.
8969         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
8970         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
8971         (SYMHASH): Don't use HASHBITS.
8972         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
8973         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
8974         (simplify_subtraction): Fix kind comparison.
8975         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
8976         Use a union to pun integer array.
8977         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
8978         only hash two words of integral CONST_DOUBLE.
8979
8980 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
8981
8982         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
8983         (STARTFILE_PREFIX_SPEC): New.
8984         (LINK_SPEC): Modify.
8985         (LIB_SPEC): Modify.
8986         (LIBGCC_SPEC): New.
8987
8988 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
8989
8990         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
8991         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
8992
8993 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8994
8995         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
8996         Add clobber of the condition code register.
8997
8998 2002-09-20  Richard Henderson  <rth@redhat.com>
8999
9000         * real.c (do_fix_trunc): Static.
9001         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9002         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9003         encode_i370_single, encode_i370_double, encode_c4x_single,
9004         encode_c4x_extended): Add default abort case.
9005
9006 2002-09-20  Richard Henderson  <rth@redhat.com>
9007
9008         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9009         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9010         (struct realvaluetype): Remove.
9011         (REAL_VALUE_TYPE): Use struct real_value.
9012         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9013         (test_real_width): New.
9014         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9015         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9016         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9017         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9018         real_to_integer, real_to_integer2, real_to_decimal,
9019         real_to_hexadecimal, real_from_string, real_from_integer,
9020         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9021         real_from_target): Likewise.
9022         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9023         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9024
9025 2002-09-20  Richard Henderson  <rth@redhat.com>
9026
9027         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9028         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9029         * defaults.h: ... here.
9030         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9031         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9032         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9033         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9034
9035 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9036
9037         * config/mmix/mmix.md ("negdf2"): Rewrite.
9038         ("*expanded_negdf2"): New.
9039
9040 2002-09-19  Jim Wilson  <wilson@redhat.com>
9041
9042         * combine.c (simplify_set): When optimizing a subreg src with a
9043         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9044
9045 2002-09-19  Dale Johannesen <dalej@apple.com>
9046         * combine.c (make_extraction): Don't create
9047         invalid subreg.
9048
9049 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9050
9051         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9052         * tree.h (integer_nonzerop): Add function prototype.
9053         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9054         are no instructions in the test, i.e. the loop is unconditional.
9055         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9056         tests when the condition is always true or always false.
9057         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9058         do-loops when the condition is always true.
9059         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9060         the for-expression is empty.
9061
9062 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9063
9064         * gcc.c (use_pipes): New flag.
9065         (process_command): Set it.  Adjust check for -pipe conflicting
9066         with -time or -save-temps.
9067         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9068         %<SWITCH.  Drop %| (without a SUFFIX).
9069         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9070         (give_switch): Third argument eliminated.
9071         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9072         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9073         (specs documentation comment): Update.
9074
9075         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9076         config/svr4.h, config/i386/freebsd-aout.h,
9077         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9078         config/m68k/openbsd.h, config/mips/openbsd.h,
9079         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9080         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9081         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9082         * config/cris/cris.h: Update comment.
9083
9084         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9085         error messages.  Don't use %{^SWITCH}.
9086         * ada/misc.c (gnat_decode_option): Handle -I with a
9087         separate argument.
9088
9089         * f/lang-specs.h: Use %| and %m.
9090         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9091         uses of %{<SWITCH} to %<SWITCH.
9092
9093         * doc/invoke.texi: Update documentation of specs.
9094         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9095
9096 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9097
9098         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9099         and STRICT_LOW_PART within SET_DEST.
9100         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9101         splitters, replacing pre-reload splitters.
9102         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9103         "*zero_extendqihi2_31"): New insns.
9104         ("*zero_extendqihi2_64"): Do not clobber CC.
9105
9106 2002-09-18  Devang Patel  <dpatel@apple.com>
9107
9108         * cp/cp-tree.h: New prototype for walk_vtables().
9109         * cp/decl.c (walk_vtables_r): New function.
9110         (struct cp_binding_level): Add new members, namespaces,
9111         names_size and vtables.
9112         (add_decl_to_level): Add decl in namespaces or vtables
9113         chain, if conditions match.
9114         (walk_vtables): New function.
9115         (walk_namespaces_r): Travers separate namespace chain
9116         for namespace decls.
9117         (wrapup_globals_for_namespace): Use names_size instead
9118         of list_length().
9119         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9120         walk_globals() to walk vtable decls.
9121
9122 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9123
9124         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9125         (DTORS_SECTION_ASM_OP): Ditto.
9126         (READONLY_DATA_SECTION_ASM_OP): Moved.
9127         (DATA_SECTION_ASM_OP): New.
9128         (SDATA_SECTION_ASM_OP): New.
9129         (BSS_SECTION_ASM_OP): New.
9130         (SBSS_SECTION_ASM_OP): New.
9131         (TEXT_SECTION_ASM_OP): New.
9132
9133 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9134
9135         * config/fp-bit.c: Follow spelling conventions.
9136         * config/d30v/d30v.c: Likewise.
9137         * config/d30v/d30v.h: Likewise.
9138         * config/fr30/fr30.c: Likewise.
9139         * config/fr30/fr30.h: Likewise.
9140         * config/fr30/fr30.md: Likewise.
9141         * config/frv/frv.c: Likewise.
9142         * config/frv/frv.h: Likewise.
9143         * config/h8300/h8300.c: Likewise.
9144         * config/h8300/lib1funcs.asm: Likewise.
9145         * config/i370/i370.c: Likewise.
9146         * config/i386/i386.h: Likewise.
9147         * config/i386/i386.md: Likewise.
9148         * config/i386/pentium.md: Likewise.
9149         * config/i386/winnt.c: Likewise.
9150         * config/i960/i960.c: Likewise.
9151         * config/ia64/ia64.h: Likewise.
9152         * config/ip2k/ip2k.c: Likewise.
9153         * config/ip2k/ip2k.h: Likewise.
9154         * config/ip2k/ip2k.md: Likewise.
9155         * config/ip2k/libgcc.S: Likewise.
9156
9157 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9158
9159         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9160         (GOTOFF_P): Extend to allow gotoff plus constant.
9161
9162 2002-09-18  Richard Henderson  <rth@redhat.com>
9163
9164         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9165         with INSN_B before COND_EARLIEST.  Don't check A and B for
9166         modification in condition range.  Reorder INSN_B for A==B properly.
9167         (if_convert): Iterate until no matches for a block.
9168
9169 2002-09-18  Richard Henderson  <rth@redhat.com>
9170
9171         * calls.c (store_one_arg): Rename default_align to parm_align;
9172         always adjust parm_align for downward padding.
9173
9174 2002-09-18  Richard Henderson  <rth@redhat.com>
9175
9176         * toplev.c (backend_init): Move init_real_once invocation ...
9177         (do_compile): ... here.
9178
9179 2002-09-18  Richard Henderson  <rth@redhat.com>
9180
9181         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9182         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9183
9184 2002-09-18  Richard Henderson  <rth@redhat.com>
9185
9186         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9187
9188 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9189
9190         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9191         floatdisf2_internal1.
9192         (floatdisf2): New define_expand.
9193         (floatdisf2_internal2): Likewise.
9194
9195 2002-09-18  Richard Henderson  <rth@redhat.com>
9196
9197         * real.c (sticky_rshift_significand): Collect sticky as
9198         unsigned long, not bool.
9199
9200 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9201
9202         * config/s390/s390.c (s390_address_cost): New function.
9203         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9204         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9205         (RTX_COST): Use COSTS_N_INSNS.
9206
9207 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9208             Donn Terry  <donnte@microsoft.com>
9209
9210         * stor-layout.c (place_field): Handle alignment of whole
9211         structures when MSVC compatible bitfields are involved.
9212         Change method of computing location of MS bitfields to
9213         be compatible with #pragma pack(n).
9214
9215         * tree.h (record_layout_info): Add new field
9216         remaining_in_alignment.
9217
9218         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9219         (pragma pack): Add paragraph on MSVC bitfield packing.
9220
9221 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9222
9223         PR optimization/7967
9224         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9225         register.
9226
9227 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9228
9229         * config/s390/s390.c: Follow spelling conventions.
9230         * config/sh/lib1funcs.asm: Likewise.
9231         * config/sh/sh.c: Likewise.
9232         * config/sh/sh.h: Likewise.
9233         * config/sparc/sparc.c: Likewise.
9234         * config/sparc/sparc.h: Likewise.
9235         * config/sparc/sparc.md: Likewise.
9236         * config/stormy16/stormy16.c: Likewise.
9237         * config/stormy16/stormy16.h: Likewise.
9238         * config/v850/v850.c: Likewise.
9239         * config/v850/v850.h: Likewise.
9240         * config/vax/vax.c: Likewise.
9241         * config/vax/vax.h: Likewise.
9242
9243 2002-09-18  Nick Clifton  <nickc@redhat.com>
9244
9245         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9246         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9247         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9248
9249 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9250
9251         * function.c (max_parm_reg_num): Remove.
9252         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9253         drop_through_at_end_p, move_cleanups_up,
9254         expand_end_case_dummy, case_index_expr_type): Likewise.
9255         * stor-layout.c (pos_from_byte): Likewise.
9256         * tree.c (chain_member_value, chain_member_purpose, listify,
9257         tree_int_cst_msb, index_type_equal): Likewise.
9258         * tree.h: Remove prototypes for unused functions.
9259
9260 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9261
9262         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9263         statement that the only translation is to en_UK.
9264
9265 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9266
9267         * config/alpha/alpha.c: Follow spelling conventions.
9268         * config/alpha/alpha.h: Likewise.
9269         * config/alpha/alpha.md: Likewise.
9270         * config/arc/arc.h: Likewise.
9271         * config/arm/arm.c: Likewise.
9272         * config/arm/arm.h: Likewise.
9273         * config/arm/arm.md: Likewise.
9274         * config/arm/pe.c: Likewise.
9275         * config/arm/unknown-elf.h: Likewise.
9276         * config/avr/avr.c: Likewise.
9277         * config/avr/avr.h: Likewise.
9278         * config/c4x/c4x.c: Likewise.
9279         * config/cris/cris.c: Likewise.
9280         * config/cris/cris.h: Likewise.
9281
9282 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9283
9284         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9285         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9286         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9287
9288 2002-09-17  Dale Johannesen  <dalej@apple.com>
9289
9290         * cfgcleanup.c (try_forward_edges):  Do not forward a
9291         branch to just after a loop exit before loop optimization;
9292         this interfered with doloop detection.
9293
9294 2002-09-17  Nick Clifton  <nickc@redhat.com>
9295
9296         * config/arm/arm.c (output_return_instruction): Do not
9297         writeback the stack pointer when it is being loaded.
9298         (arm_output_epilogue): Likewise.
9299
9300 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9301
9302         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9303         generate a pseudo reg that receives the result of a libcall.
9304         (prepare_float_lib_cmp): Likewise.
9305
9306 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9307
9308         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9309
9310 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9311
9312         Fix PR/7014 and related objc bugs:
9313         * c-typeck.c (comp_target_types): Added a reflexive argument.
9314         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9315         callers to provide the appropriate reflexive argument.
9316         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9317         typechecking for all cases of comparisons and assignments,
9318         particularly the obscure and less common ones involving protocols.
9319
9320 2002-09-17  Nick Clifton  <nickc@redhat.com>
9321
9322         * machmode.def (V1DImode): New mode.  A single element vector.
9323         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9324         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9325         * tree.c (build_common_tree_nodes_2): Build
9326         unsigned_V1DI_type_node and V1D1_type_node.
9327         * c-common.c (c_common_type_for_mode): Return
9328         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9329         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9330
9331 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9332
9333         * doc/objc.texi (Constant string objects): Extended documentation
9334         to make clear that the constant string class ivar layout is
9335         completely fixed.
9336
9337 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9338
9339         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9340         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9341
9342 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9343
9344         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9345         * gcc.c (make_relative_prefix): Likewise.
9346         * loop.c (check_final_value): Likewise.
9347         * jump.c (init_label_info): Remove return value.
9348         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9349
9350 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9351
9352         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9353         (ASM_PN_FORMAT): Define.
9354
9355 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9356
9357         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9358         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9359         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9360         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9361         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9362         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9363         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9364         Delete.
9365         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9366         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9367         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9368
9369         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9370         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9371
9372 2002-09-16  Richard Henderson  <rth@redhat.com>
9373
9374         * expr.c (emit_block_move): Set memory block size as appropriate
9375         for the copy.
9376
9377 2002-09-16  Richard Henderson  <rth@redhat.com>
9378
9379         PR fortran/3924
9380         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9381
9382 2002-09-16  Richard Henderson  <rth@redhat.com>
9383
9384         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9385         as well as OFFSET for BITPOS.
9386
9387 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9388
9389         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9390         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9391         winchip2 and c3.
9392         * doc/invoke.texi: Mention new aliases.
9393
9394 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9395
9396         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9397         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9398         downward.
9399         * function.c (pad_below):  Always compile.
9400         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9401         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9402         Pad below when the argument is not in a register and the padding
9403         direction is downward.
9404
9405         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9406         (PAD_VARARGS_DOWN): Define.
9407         * pa.c (function_arg_padding): Revise padding directions to make them
9408         compatible with the 32 and 64-bit runtime architecture documentation.
9409         (hppa_va_arg):  Add code to handle variable and size zero arguments
9410         passed by reference on TARGET_64BIT.  Reformat.
9411         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9412         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9413         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9414         Add comments.
9415         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9416         (RETURN_IN_MEMORY): Return size zero types in memory.
9417         (FUNCTION_VALUE): Return TFmode in general registers.
9418         (MUST_PASS_IN_STACK): Define.
9419         (FUNCTION_ARG_BOUNDARY): Simplify.
9420         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9421         by reference.
9422         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9423
9424 2002-09-16  Richard Henderson  <rth@redhat.com>
9425
9426         * real.c (do_fix_trunc): New.
9427         (real_arithmetic): Call it.
9428         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9429         with a floating-point result mode.
9430
9431 2002-09-16  Richard Henderson  <rth@redhat.com>
9432
9433         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9434         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9435         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9436         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9437         * builtins.c (fold_builtin_nan): New.
9438         (fold_builtin): Call it.
9439         * real.c (real_nan): Parse a non-empty string.
9440         (round_for_format): Fix NaN significand truncation.
9441         * real.h (real_nan): Return bool.
9442         * doc/extend.texi: Document new builtins.
9443
9444 2002-09-16  Jason Merrill  <jason@redhat.com>
9445             Danny Smith  <dannysmith@users.sourceforge.net>
9446
9447         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9448         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9449         (i386_pe_mark_dllimport): Not here.
9450
9451 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9452
9453         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9454
9455 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9456
9457         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9458         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9459         < 64.
9460         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9461
9462 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9463
9464         * calls.c (emit_library_call_value_1): Don't refer to
9465         hard_libcall_value.
9466         * optabs.c (prepare_float_lib_cmp): Likewise.
9467
9468 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9469
9470         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9471         mangling.
9472
9473         The following changes are merged from pch-branch:
9474
9475         * doc/gty.texi (GTY Options): Document %a.
9476         * gengtype.c (do_scalar_typedef): New function.
9477         (process_gc_options): Handle `length' option.
9478         (set_gc_used_type): A pointer to an array of structures doesn't
9479         qualify as a pointer to a structure.
9480         (output_escaped_param): Add `%a' escape.
9481         (write_gc_structure_fields): Allow 'desc' on array of unions.
9482         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9483         do_scalar_typedef.
9484
9485         * gengtype.c (enum rtx_code): Make global.
9486         (rtx_format): Make global.
9487         (rtx_next): New.
9488         (gen_rtx_next): New.
9489         (write_rtx_next): New.
9490         (adjust_field_rtx_def): Skip fields marked by chain_next.
9491         (open_base_files): Delete redundant prototype.
9492         (write_enum_defn): New.
9493         (output_mangled_typename): Correct abort call.
9494         (write_gc_marker_routine_for_structure): Handle chain_next and
9495         chain_prev options.
9496         (finish_root_table): Don't output redundant \n.
9497         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9498         * c-tree.h (union lang_tree_node): Add chain_next option.
9499
9500         * gengtype.h (NUM_PARAM): New definition.
9501         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9502         * gengtype.c (find_param_structure): New.
9503         (adjust_field_type): Handle param<n>_is option.
9504         (process_gc_options): Detect use_params option.  Update callers.
9505         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9506         'use_params' option.
9507         (open_base_files): Add splay-tree.h to list of files included.
9508         (output_mangled_typename): New.
9509         (write_gc_structure_fields): Update 'param' parameter to support
9510         multiple parameters.  Change name mangling.  Allow parameterized
9511         fields to have an apparent scalar type.  Handle param<n>_is options,
9512         use_param option.
9513         (write_gc_marker_routine_for_structure): Update for change to name
9514         mangling.  Better guess the output file for parameterized types.
9515         (write_gc_types): Update for change to name mangling.
9516         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9517         param<n>_is options.
9518         * doc/gty.texi (GTY Options): Add description of param<n>_is
9519         options, use_params option.
9520         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9521         * gengtype-lex.l: Produce token for param<n>_is.
9522         * gengtype-yacc.y: Parse param<n>_is.
9523
9524         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9525
9526         * rtl.c: Update comment describing rtx_format.
9527         * rtl.h (union rtunion): Separate definition and typedef.
9528         (struct rtx_def): Use gengtype to mark.
9529         * Makefile.in (gengtype.o): Also depend on rtl.def.
9530         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9531         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9532         * ggc-common.c (ggc_mark_rtx_children): Delete.
9533         (ggc_mark_rtx_children_1): Delete.
9534         (gt_ggc_m_rtx_def): Delete.
9535         * gengtype.c (adjust_field_rtx_def): New.
9536         (adjust_field_type): Call adjust_field_rtx_def.
9537         (write_gc_structure_fields): Add 'default' case to switch if none
9538         is specified; remove unused code.
9539
9540         * tree.h (struct tree_exp): Update for change to meaning
9541         of special.
9542         * gengtype.c (adjust_field_tree_exp): New function.
9543         (adjust_field_type): Handle `tree_exp' special here.
9544         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9545         Handle new `dot' option.
9546
9547         * gengtype.h: Make `info' a pointer-to-const.
9548         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9549
9550         * gengtype.c (write_gc_structure_fields): Remove implementation
9551         of `always' option, add `default' option.
9552         * doc/gty.texi (GTY Options): Remove documentation of `always',
9553         add `default'.
9554
9555 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9556
9557         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9558
9559 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9560
9561         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9562
9563         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9564         instead of the *-protos.h file directly.
9565         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9566         * darwin.c (machopic_output_stub): Move prototype ...
9567         * darwin-protos.h (machopic_output_stub): ... here.
9568         * rs6000-protos.h (machopic_output_stub): Don't declare.
9569
9570 2002-09-16  Richard Henderson  <rth@redhat.com>
9571
9572         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9573
9574 2002-09-16  Richard Henderson  <rth@redhat.com>
9575
9576         * real.c, real.h: Rewrite from scratch.
9577
9578         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9579         (paranoia): New target.
9580         * builtins.c (fold_builtin_inf): Use new real.h interface.
9581         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9582         * c-lex.c (interpret_float): Likewise.
9583         * emit-rtl.c (gen_lowpart_common): Likewise.
9584         * optabs.c (expand_float): Use real_2expN.
9585         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9586         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9587         (FLOAT_WORDS_BIG_ENDIAN): New.
9588         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9589         directly to REAL_VALUE_NEGATIVE.
9590         * loop.c (canonicalize_condition): Likewise.
9591         * simplify-rtx.c: Include tree.h.
9592         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9593         with floating-point result modes.
9594         * toplev.c (backend_init): Call init_real_once.
9595
9596         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9597         * tree.c (build_real): Likewise.
9598         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9599         float_values, inited_float_values, check_float_value): Remove.
9600         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9601         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9602         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9603         (VAX_HALFWORD_ORDER): Remove.
9604
9605 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9606
9607         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9608         (s390_load_address): ... this new function.
9609         (s390_decompose_address): Allow the argument pointer and all
9610         virtual registers as 'pointer' registers.
9611         (s390_expand_plus_operand): Use s390_load_address.
9612         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9613         ("force_la_31"): New insn pattern.
9614         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9615         (s390_load_address): Add prototype.
9616
9617         * config/s390/s390.c: Include "optabs.h".
9618         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9619         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9620         s390_expand_cmpstr): Add prototypes.
9621         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9622         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9623         for operands 0 and 1 to "memory_operand".  Add type attribute.
9624         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9625         for operands 0 and 1 to "memory_operand".  Add type attribute.
9626         ("movstrdi_long", "movstrsi_long"): Remove.
9627         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9628         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9629         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9630         ("clrstrsico"): Remove, replace by ...
9631         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9632         ("clrstrsi_64"): Rename to "clrstr_long_64".
9633         ("clrstrsi_31"): Rename to "clrstr_long_31".
9634         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9635         ("cmpstr_const"): Remove, replace by ...
9636         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9637         ("cmpstr_64"): Rename to "cmpstr_long_64".
9638         ("cmpstr_31"): Rename to "cmpstr_long_31".
9639
9640 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9641
9642         * ABOUT-NLS: Follow spelling conventions.
9643         * ChangeLog: Likewise.
9644         * ChangeLog.1: Likewise.
9645         * ChangeLog.2: Likewise.
9646         * ChangeLog.3: Likewise.
9647         * ChangeLog.4: Likewise.
9648         * ChangeLog.5: Likewise.
9649         * ChangeLog.6: Likewise.
9650         * FSFChangeLog.10: Likewise.
9651         * FSFChangeLog.11: Likewise.
9652         * c-common.c: Likewise.
9653         * c-lex.c: Likewise.
9654         * c-objc-common.c: Likewise.
9655         * cppexp.c: Likewise.
9656         * cppinit.c: Likewise.
9657         * cpplex.c: Likewise.
9658         * doloop.c: Likewise.
9659         * flow.c: Likewise.
9660         * function.c: Likewise.
9661         * integrate.c: Likewise.
9662         * loop.c: Likewise.
9663         * reg-stack.c: Likewise.
9664         * reload.h: Likewise.
9665         * ssa.c: Likewise.
9666
9667 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9668
9669         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9670         * vmsdbgout.c: Include "target.h".
9671
9672 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9673
9674         * ChangeLog: Follow spelling conventions.
9675         * ChangeLog.0: Likewise.
9676         * ChangeLog.1: Likewise.
9677         * ChangeLog.2: Likewise.
9678         * ChangeLog.4: Likewise.
9679         * ChangeLog.6: Likewise.
9680         * config.gcc: Likewise.
9681         * dwarfout.c: Likewise.
9682         * reload1.c: Likewise.
9683         * simplify-rtx.c: Likewise.
9684         * unwind-sjlj.c: Likewise.
9685         * config/avr/avr.h: Likewise.
9686         * config/d30v/d30v.h: Likewise.
9687         * config/frv/frv.c: Likewise.
9688         * config/frv/frv.h: Likewise.
9689         * config/ip2k/ip2k.h: Likewise.
9690         * config/m88k/m88k-move.sh: Likewise.
9691         * config/stormy16/stormy16.c: Likewise.
9692         * config/stormy16/stormy16.h: Likewise.
9693         * doc/extend.texi: Likewise.
9694         * doc/interface.texi: Likewise.
9695         * doc/invoke.texi: Likewise.
9696         * doc/md.texi: Likewise.
9697         * doc/rtl.texi: Likewise.
9698         * doc/tm.texi: Likewise.
9699         * doc/trouble.texi: Likewise.
9700         * ginclude/float.h: Likewise.
9701         * treelang/treelang.texi: Likewise.
9702
9703 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9704
9705         * i386-protos.h (i386_pe_dllexport_name_p,
9706         i386_pe_dllimport_name_p, i386_pe_unique_section,
9707         i386_pe_declare_function_type, i386_pe_record_external_function,
9708         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9709         prototype.
9710         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9711         * i386/t-interix (winnt.o): Likewise.
9712
9713         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9714
9715 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9716
9717         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9718         MIPS ABI CPP macros.
9719         (TARGET_CPU_CPP_BUILTINS): Redefine.
9720         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9721         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9722
9723 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9724
9725         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9726
9727 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9728
9729         * ChangeLog: Follow spelling conventions.
9730         * ChangeLog.0: Likewise.
9731         * ChangeLog.1: Likewise.
9732         * ChangeLog.2: Likewise.
9733         * ChangeLog.3: Likewise.
9734         * ChangeLog.4: Likewise.
9735         * ChangeLog.5: Likewise.
9736         * ChangeLog.6: Likewise.
9737         * FSFChangeLog.10: Likewise.
9738         * FSFChangeLog.11: Likewise.
9739         * c-common.c: Likewise.
9740         * c-common.h: Likewise.
9741         * c-format.c: Likewise.
9742         * c-opts.c: Likewise.
9743         * cpplib.c: Likewise.
9744         * langhooks.h: Likewise.
9745         * real.c: Likewise.
9746         * reg-stack.c: Likewise.
9747         * toplev.c: Likewise.
9748         * config/arm/arm.c: Likewise.
9749         * config/arm/arm.md: Likewise.
9750         * config/arm/linux-gas.h: Likewise.
9751         * config/arm/netbsd.h: Likewise.
9752         * config/c4x/c4x.c: Likewise.
9753         * config/c4x/c4x.h: Likewise.
9754         * config/c4x/c4x.md: Likewise.
9755         * config/c4x/libgcc.S: Likewise.
9756         * config/fr30/fr30.md: Likewise.
9757         * config/frv/frv.md: Likewise.
9758         * config/ia64/ia64.md: Likewise.
9759         * config/mips/mips.h: Likewise.
9760         * config/mn10300/mn10300.c: Likewise.
9761         * config/stormy16/stormy16.c: Likewise.
9762         * config/v850/v850.md: Likewise.
9763         * doc/extend.texi: Likewise.
9764         * doc/invoke.texi: Likewise.
9765         * doc/md.texi: Likewise.
9766
9767 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9768
9769         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9770         library if -pthread is specified.
9771
9772 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9773
9774         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9775         for --enable-threads=yes and --enable-threads=posix.
9776
9777 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9778
9779         * config/sparc/cypress.md: Replace Sparc with SPARC.
9780         * config/sparc/freebsd.h: Likewise.
9781         * config/sparc/gmon-sol2.c: Likewise.
9782         * config/sparc/hypersparc.md: Likewise.
9783         * config/sparc/lb1spc.asm: Likewise.
9784         * config/sparc/lb1spl.asm: Likewise.
9785         * config/sparc/linux.h: Likewise.
9786         * config/sparc/linux64.h: Likewise.
9787         * config/sparc/lynx.h: Likewise.
9788         * config/sparc/sol2.h: Likewise.
9789         * config/sparc/sparc-modes.def: Likewise.
9790         * config/sparc/sparc.c: Likewise.
9791         * config/sparc/sparc.h: Likewise.
9792         * config/sparc/sparc.md: Likewise.
9793         * config/sparc/sparclet.md: Likewise.
9794         * config/sparc/supersparc.md: Likewise.
9795         * config/sparc/sysv4.h: Likewise.
9796         * config/sparc/vxsim.h: Likewise.
9797         * config/sparc/vxsparc64.h: Likewise.
9798
9799 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9800
9801         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9802         * collect2.c (ignore_library, aix_std_libs): Move into the context
9803         where it is used.
9804         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9805         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9806         * m88k.c (output_call): Wrap variables with macro controlling use.
9807         * rs6000.md: Likewise.  Const-ify variable.
9808         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9809         * final.c (only_leaf_regs_used): Likewise.
9810         * regrename.c (maybe_mode_change): Mark parameter with
9811         ATTRIBUTE_UNUSED.
9812         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9813         (find_reloads_address_1): Likewise.
9814         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9815
9816 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9817
9818         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9819
9820 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9821
9822         * ChangeLog: Follow spelling conventions.
9823         * ChangeLog.0: Likewise.
9824         * ChangeLog.2: Likewise.
9825         * ChangeLog.3: Likewise.
9826         * ChangeLog.4: Likewise.
9827         * ChangeLog.5: Likewise.
9828         * ChangeLog.6: Likewise.
9829         * cppfiles.c: Likewise.
9830         * cppinit.c: Likewise.
9831         * cpplib.h: Likewise.
9832         * cse.c: Likewise.
9833         * debug.h: Likewise.
9834         * df.c: Likewise.
9835         * dominance.c: Likewise.
9836         * hashtable.c: Likewise.
9837         * hashtable.h: Likewise.
9838         * loop.c: Likewise.
9839         * config/arm/README-interworking: Likewise.
9840         * config/arm/arm.c: Likewise.
9841         * config/arm/arm.h: Likewise.
9842         * config/arm/arm.md: Likewise.
9843         * config/dsp16xx/dsp16xx.h: Likewise.
9844         * config/frv/frv.c: Likewise.
9845         * config/frv/frv.h: Likewise.
9846         * config/ip2k/ip2k.h: Likewise.
9847         * config/rs6000/rs6000.c: Likewise.
9848         * config/stormy16/stormy-abi: Likewise.
9849         * config/stormy16/stormy16.h: Likewise.
9850         * config/v850/v850.c: Likewise.
9851
9852 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9853
9854         * loop.c: Fix a comment typo.
9855
9856 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9857
9858         * config/fr30/fr30.h: Fix comment typos.
9859         * config/frv/frv.c: Likewise.
9860         * config/i386/xmmintrin.h: Likewise.
9861         * config/mips/mips.c: Likewise.
9862         * config/sh/sh.c: Likewise.
9863
9864 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9865
9866         * haifa-sched.c: Follow spelling conventions.
9867         * regclass.c: Likewise.
9868         * regrename.c: Likewise.
9869         * config/fp-bit.c: Likewise.
9870         * config/frv/frv.h: Likewise.
9871         * config/m88k/m88k.c: Likewise.
9872         * config/mcore/mcore.c: Likewise.
9873         * config/rs6000/darwin.h: Likewise.
9874         * config/rs6000/gnu.h: Likewise.
9875         * config/rs6000/linux.h: Likewise.
9876         * config/rs6000/linux64.h: Likewise.
9877         * config/rs6000/rs6000.c: Likewise.
9878         * config/rs6000/rs6000.h: Likewise.
9879         * config/sh/sh.c: Likewise.
9880         * config/sparc/sparc.c: Likewise.
9881         * config/sparc/ultra1_2.md: Likewise.
9882
9883 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
9884
9885         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
9886         memory operand when source is 0 (K constraint).
9887         ("movsi_internal"): Likewise.
9888         ("movdf_internal"): Likewise.
9889         ("movsf_internal"): Likewise.
9890
9891 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9892
9893         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
9894         targetm.binds_local_p to set SYMBOL_REF_FLAG.
9895         (rs6000_xcoff_encode_section_info): Likewise.
9896         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9897
9898 2002-09-10  Theodore A. Roth  <troth@verinet.com>
9899
9900         * gcc/config/avr/avr.h: Set default options for C++ for avr.
9901
9902 2002-09-13  Roger Sayle  <roger@eyesopen.com>
9903
9904         * stmt.c (struct nexting): Remove unused alt_end_label field.
9905         (expand_start_loop): Delete initialization of alt_end_label.
9906         (expand_start_null_loop): Likewise.
9907         (expand_exit_loop_if_false): Delete updating of alt_end_label.
9908
9909 2002-09-13  Richard Henderson  <rth@redhat.com>
9910
9911         * Makefile.in (toplev.o): Depend on real.h.
9912         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
9913
9914 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9915
9916         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
9917         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
9918         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
9919
9920 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
9921
9922         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
9923
9924 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9925
9926         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
9927         ia64*-*-linux*): Set extra_parts.
9928         * config/ia64/t-aix (EXTRA_PARTS): Remove.
9929         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
9930
9931 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9932
9933         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
9934         * config/h8300/h8300.c: Likewise.
9935         * config/h8300/h8300.h: Likewise.
9936         * config/h8300/h8300.md: Likewise.
9937         * doc/invoke.texi: Likewise.
9938
9939 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9940
9941         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
9942
9943 2002-09-13  Richard Henderson  <rth@redhat.com>
9944
9945         * config/alpha/alpha.md (attr type): Add callpal.
9946         (imb, trap, load_tp, set_tp): Use it.
9947         * config/alpha/ev4.md (ev4_callpal): New.
9948         * config/alpha/ev5.md (ev5_callpal): New.
9949         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
9950         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
9951         (alphaev5_insn_pipe): Likewise.
9952
9953 2002-09-13  Andreas Jaeger  <aj@suse.de>
9954
9955         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
9956
9957 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9958
9959         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
9960         LIB2ADDEH): New, set to NULL.
9961         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
9962
9963 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9964
9965         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
9966         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
9967         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
9968         Add declarations.
9969         (_U_Qfneg): Remove.
9970
9971 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
9972
9973         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
9974         for H8/300, H8S aa:8 mode.
9975         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
9976         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
9977         for H8/300 aa:8 mode.
9978
9979 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
9980
9981         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
9982         insns.
9983
9984 2002-09-12  Richard Henderson  <rth@redhat.com>
9985
9986         * Makefile.in (HOST_PRINT): Use print-rtl1.o
9987         (print-rtl.o): Don't define GENERATOR_FILE.
9988         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
9989         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
9990         unless GENERATOR_FILE.
9991
9992 2002-09-12  Stan Shebs  <shebs@apple.com>
9993
9994         * config/darwin.h (USER_LABEL_PREFIX): Define here...
9995         * config/i386/darwin.h: ... instead of here.
9996
9997         * target.h (struct gcc_target): New field
9998         terminate_dw2_eh_frame_info.
9999         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10000         (TARGET_INITIALIZER): Add it.
10001         * dwarf2out.c (output_call_frame_info): Use target hook.
10002         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10003         ASM_OUTPUT_DWARF_DELTA if defined.
10004         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10005         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10006         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10007         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10008         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10009         (powerpc-*-darwin*): Ditto.
10010         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10011         to work correctly for Darwin.
10012         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10013         (STARTFILE_SPEC): Add crtbegin.o.
10014         (ENDFILE_SPEC): Define.
10015         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10016         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10017         (ASM_OUTPUT_DWARF_DELTA): Define.
10018         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10019         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10020
10021 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10022
10023         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10024         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10025         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10026
10027 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10028
10029         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10030         * defaults.h: ... here.
10031
10032 2002-09-12  Richard Henderson  <rth@redhat.com>
10033
10034         * vax.c: Include tree.h earlier.
10035
10036 2002-09-12  Stan Shebs  <shebs@apple.com>
10037
10038         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10039         (machopic_operand_p): Ditto.
10040
10041 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10042
10043         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10044         Fix a comment typo.
10045
10046 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10047
10048         * toplev.c (do_abort): Fix a comment typo.
10049
10050 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10051
10052         * cselib.c: Fix comment formatting.
10053         * gengtype.c: Likewise.
10054
10055 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10056
10057         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10058         (udivmodhi4): Likewise.
10059
10060 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10061             Roger Sayle  <roger@eyesopen.com>
10062
10063         * i386.c (any_fp_register_operand, fp_register_operand,
10064         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10065         New predicate functions.
10066         * i386-protos.h:  Add their prototypes.
10067         * i386.h: Add them to PREDICATE_CODES.
10068         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10069         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10070         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10071         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10072         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10073         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10074         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10075         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10076         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10077         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10078         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10079         Use these new predicates to simplify and correct the use of
10080         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10081
10082 2002-09-12  Jason Merrill  <jason@redhat.com>
10083
10084         * diagnostic.c (output_add_identifier): New fn.
10085         * diagnostic.h: Declare it.
10086
10087         * calls.c (store_one_arg): Use size_in_bytes to determine the
10088         amount of space to push.
10089
10090 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10091
10092         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10093
10094 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10095
10096         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10097         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10098         (s390_select_ccmode): Likewise.
10099         (s390_branch_condition_mask): Likewise.
10100         (optimization_options): Do not set flag_branch_on_count.
10101         (s390_split_branches): Handle doloop branches.
10102         (s390_chunkify_pool): Likewise.
10103         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10104         ("doloop_end"): New expander.
10105         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10106         associated splitters): New.
10107
10108 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10109
10110         * genattrtab.c (simplify_cond): Remove unused variable(s).
10111         * global.c (record_conflicts): Likewise.
10112         * jump.c (rebuild_jump_labels): Likewise.
10113         * loop.c (scan_loop, check_final_value): Likewise.
10114         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10115         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10116         * rtlanal.c (reg_set_p): Likewise.
10117         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10118         * genautomata.c (empty_reserv): Remove.
10119         * loop.c (max_luid): Likewise.
10120         * sched-rgn.c (bitlst_table_size): Likewise.
10121
10122 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10123
10124         Reimplement gcov format.
10125         * gcov-io.h: Replace.
10126         * gcov.c: Reimplement.
10127         * gcov-iov.c: New file.
10128         * gcov-dump.c: New file.
10129         * libgcc2.c (L_bb): Replace with ...
10130         (L_gcov): ... this.
10131         (struct bb_function_info, struct bb): Remove.
10132         (inhibit_libc): Never inhibit.
10133         (gcov_list, gcov_crc): New static variables.
10134         (gcov_version_mismatch): New static function.
10135         (__bb_exit_func): Renamed to ...
10136         (__gcov_exit): ... here. Made static. Reimplement.
10137         (__gcov_init_func): Rename to ...
10138         (__gcov_init): ... here. Check version, update crc.
10139         (__bb_fork_func): Rename to ...
10140         (__gcov_flush): ... here.
10141         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10142         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10143         * calls.c (expand_call): Call __gcov_flush.
10144         * profile.c (bb_file, last_bb_file_name): Remove.
10145         (bbg_file_name): New global variable.
10146         (output_gcov_string): Remove.
10147         (get_exec_counts): Reimplement.
10148         (branch_prob): Reimplement gcov file writing.
10149         (init_branch_prob): Create bbg_file_name, don't create
10150         bb_file_name.
10151         (end_branch_prob): Adjust. Don't remove counter file when
10152         instrumenting ourselves.
10153         (create_profiler): Adjust.
10154         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10155         point to gcov-io.h.
10156         * Makefile.in (LANGUAGES): Add gcov-dump.
10157         (coverageexts): Remove .bb.
10158         (STAGESTUFF): Add gcov-dump.
10159         (LIB2FUNCS_ST): Replace _bb with _gcov.
10160         (profile.o): Depend on gcov-iov.h.
10161         (final.o): Don't depend on profile.h, gcov.h.
10162         (gcov.o): Depend on gcov-iov.h.
10163         (gcov-iov.o): New target.
10164         (gcov-iov): New target.
10165         (gcov-iov.h): New target.
10166         (gcov-dump.o): New target.
10167         (GCOV_DUMP_OBJS): New variable.
10168         (gcov-dump): New target.
10169         (distclean): Remove coverageexts.
10170         (stage1): Remove coverageexts.
10171
10172 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10173
10174         * fold-const.c (make_range): Only narrow to signed range if
10175         the signed range is smaller than the unsigned range.
10176
10177 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10178
10179         * emit-rtl.c (set_mem_size): New function.
10180         * expr.h (set_mem_size): Declare.
10181         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10182         (expand_block_move): Instead, use adjust_address and
10183         replace_equiv_address to generate proper aliasing info.
10184         Move common code out of conditionals.  Localize vars.
10185
10186 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10187
10188         * optabs.c (expand_binop): Minor cleanup.
10189         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10190
10191 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10192
10193         * print-tree.c (print_node): Print the restrict qualifier.
10194
10195 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10196
10197         * doc/install.texi: Fix typos.
10198
10199 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10200
10201         * Makefile.in: Remove all references to s-under and underscore.c.
10202         * collect2.c, tlink.c: Change all uses of prepends_underscore
10203         to look directly at USER_LABEL_PREFIX.
10204
10205 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10206
10207         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10208         alignment to csect.
10209         (rs6000_xcoff_unique_section): Only set section name for public
10210         data.
10211         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10212         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10213         duplicate definition.
10214
10215 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10216
10217         * pa.md (extzv): Check predicates before emitting extzv_32.
10218         (insv): Likewise.
10219
10220 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10221
10222         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10223         (MAX_MOVE_MAX): Define.
10224         (MOVE_BY_PIECES_P): Define.
10225         (CLEAR_BY_PIECES_P): Define.
10226
10227 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10228
10229         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10230
10231 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10232
10233         PR c/7873
10234         * arm.md (insv): Use reg_or_int_operand for operand[3].
10235
10236 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10237
10238         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10239         inside macro.  Correct function definition typo.
10240         (rs6000_xcoff_section_type_flags): New function.
10241         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10242         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10243         with appropriate PIC test.
10244         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10245         determine readonly.
10246         (rs6000_binds_local_p): Combine PIC flags.
10247         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10248         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10249
10250 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10251
10252         * h8300.md: Fix signed/unsigned warnings.
10253         * mcore.md: Likewise.
10254         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10255
10256 2002-09-09  Per Bothner  <per@bothner.com>
10257
10258         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10259         characters, and only print TREE_STRING_LENGTH chars.
10260
10261 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10262
10263         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10264         (ASM_FILE_END) New.
10265         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10266         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10267         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10268         of external functions if TARGET_HPUX_LD is true.
10269         (ia64_hpux_add_extern_decl): New, routine to put names on
10270         list of external functions.
10271         (ia64_hpux_asm_file_end): Put out declarations for external
10272         functions if and only if they are used.
10273
10274 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10275
10276         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10277         on TARGET_64BIT before pic register restore.
10278
10279 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10280
10281         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10282         (TARGET_HAVE_TLS): New description.
10283
10284 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10285
10286         * doc/extend.texi (Statement Exprs): Fix broken link.
10287
10288 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10289
10290         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10291         right conversion of operands[1].
10292
10293 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10294
10295         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10296         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10297         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10298
10299         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10300         as commutative.
10301
10302         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10303         mark as commutative.  Use "nonimmediate_operand" instead of
10304         "register_operand" as predicate for operand 1.
10305
10306         ("movstrictsi"): Fix typo in insn name.
10307
10308 2002-09-09  Jan Hubicka  <jh@suse.cz>
10309
10310         * i386.c (index_register_operand): New.
10311         * i386.h (predicate_codes): Add new predicate.
10312         * i386.md (lea_general_*): Use index_register_operand
10313         (ashift to lea splitter): Do not produce invalid leas
10314         (ashift to mov+ashift split): New.
10315
10316 2002-09-09  Nick Clifton  <nickc@redhat.com>
10317
10318         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10319         Fix folding marks.
10320
10321 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10322             J"orn Rennecke <joern.rennecke@superh.com>
10323
10324         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10325
10326 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10327
10328         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10329         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10330         attributes.
10331
10332 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10333
10334         * basic_block.h (gcov_type): Explain why it is signed.
10335         * final.c: Don't include profile.h.
10336         (struct function_list, functions_head, functions_tail,
10337         end_final): Moved to profile.c
10338         (final): Move arc chaining code to profile.c.
10339         * function.c (prepare_function_start): Remove duplicate line.
10340         * output.h (end_final): Remove prototype.
10341         * predict.c (estimate_loops_at_level): Use gcov_type.
10342         * profile.c (struct function_list, functions_head,
10343         functions_tail): Moved from final.c
10344         (need_func_profiler): Remove.
10345         (instrument_edges): Don't set need_func_profiler.
10346         (get_exec_counts): Avoid signed/unsigned warning.
10347         (compute_checksum): Use crc32.
10348         (branch_prob): Adjust. Chain onto functions_head.
10349         (init_branch_prob): Absorb init_edge_profiler.
10350         (init_edge_profiler): Remove.
10351         (create_profiler): Moved and renamed from final.c:end_final.
10352         Emit data and constructor.
10353         (output_func_start_profiler): Remove.
10354         * profile.h (struct profile_info): checksum is unsigned.
10355         * rtl.h (output_func_start_profiler): Remove prototype.
10356         (create_profiler): Declare.
10357         * toplev.c (compile_file): Call create_profiler, if instrumenting
10358         arcs. Don't call end_final.
10359
10360 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10361
10362         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10363
10364 2002-09-08  Richard Henderson  <rth@redhat.com>
10365
10366         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10367         (DW_OP_GNU_push_tls_address): New.
10368         (DW_OP_lo_user): Fix.
10369         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10370         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10371         (size_of_loc_descr): Likewise.
10372         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10373         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10374         (loc_descriptor_from_tree): Handle TLS variables.
10375         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10376         (add_location_or_const_value_attribute): ... not here.  Defer
10377         to loc_descriptor_from_tree for TLS variables.
10378
10379         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10380         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10381         * config/i386/i386-protos.h: Update.
10382
10383 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10384
10385         PR optimization/6405
10386         * unroll.c (loop_iterations): last_loop_insn should be the previous
10387         non-note instruction before loop->end.
10388         * loop.c (strength_reduce): The conditional jump is the last
10389         non-note instruction before loop->end (as above).
10390
10391 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10392
10393         * combine.c (try_combine): Handle the case that undobuf.other_insn
10394         has been turned into a return or unconditional jump, by inserting
10395         a BARRIER if necessary.
10396         (simplify_set):  Test if a condition code setter has a constant
10397         comparison at compile time, if so convert this insn to a no-op move
10398         and update/simplify the condition code user (undobuf.other_insn).
10399
10400 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10401
10402         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10403         (CLEAR_INSN_CACHE): Define.
10404
10405 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10406
10407         * basic-block.h: Fix comment formatting.
10408         * c-common.c: Likewise.
10409         * c-common.h: Likewise.
10410         * c-lex.c: Likewise.
10411         * c-pretty-print.c: Likewise.
10412         * cfglayout.c: Likewise.
10413         * cfgloop.c: Likewise.
10414         * defaults.h: Likewise.
10415         * et-forest.c: Likewise.
10416         * explow.c: Likewise.
10417         * function.h: Likewise.
10418         * gcov.c: Likewise.
10419         * genattrtab.c: Likewise.
10420         * gengtype.c: Likewise.
10421         * ifcvt.c: Likewise.
10422         * libgcc2.c: Likewise.
10423         * loop.c: Likewise.
10424         * profile.c: Likewise.
10425         * ra-build.c: Likewise.
10426         * real.c: Likewise.
10427         * rtl.h: Likewise.
10428         * tracer.c: Likewise.
10429         * tree-inline.c: Likewise.
10430         * varasm.c: Likewise.
10431
10432 2002-09-08  Jan Hubicka  <jh@suse.cz>
10433
10434         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10435         handling.
10436
10437         * loop.c (loop_givs_reduce):  Emit addition after.
10438
10439 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10440
10441         * varasm.c (default_assemble_visibility): Rename from
10442         assemble_visibility.
10443         * output.h: Here too.
10444         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10445         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10446
10447 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10448
10449         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10450         find_reloads_address.
10451
10452 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10453
10454         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10455         (anonymous pattern): Likewise.
10456
10457 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10458
10459         * machmode.def: Add modes for half-float vectors.
10460
10461 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10462
10463         PR target/7374
10464         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10465
10466 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10467
10468         * basic-block.h (struct loop): Remove unused cont_dominator field.
10469
10470 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10471
10472         * varasm.c (decode_rtx_const): Don't check undefined field for
10473         CONST_VECTOR.
10474
10475 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10476
10477         PR opt/7814
10478         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10479         to reg_last->sets after flushing the dependency lists to guarantee
10480         that subsequent clobbers will be dependent on it.
10481
10482 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10483
10484         * combine.c (simplify_shift_const): Calculate rotate count
10485         correctly for vector operands.
10486
10487 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10488
10489         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10490         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10491         tree_expr_nonnegative_p.
10492         (build_conditional_expr): Likewise.
10493         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10494
10495 2002-09-07  Richard Henderson  <rth@redhat.com>
10496
10497         * builtins.def (inf, inff, infl): Mark const.
10498         (huge_val, huge_valf, huge_vall): Likewise.
10499         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10500
10501         * real.c (ereal_inf): Clear E before use.
10502
10503 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10504
10505         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10506         an expander and an anonymous pattern.  Zero out the upper half
10507         of the dividend in the expander.
10508         (udivmodqi4): Likewise.
10509
10510 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10511
10512         * config/h8300/h8300.c: Fix formatting.
10513         * config/h8300/h8300.h: Likewise.
10514         * config/h8300/h8300.md: Likewise.
10515
10516 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10517
10518         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10519         information.
10520
10521 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10522
10523        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10524
10525 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10526
10527         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10528
10529         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10530         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10531         (TARGET_ASM_OUT): Add the above here.
10532         * target.h (struct gcc_target): Add "visibility" field.
10533         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10534         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10535         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10536         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10537
10538 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10539
10540         * c-lang.c (objc_is_id): New stub.
10541         * c-tree.h (objc_is_id): New forward declaration.
10542         * c-typeck.c (build_c_cast): Do not strip protocol
10543         qualifiers from 'id' type.
10544         * objc/objc-act.c (objc_comptypes): Correct handling
10545         of protocol qualifiers.
10546         (objc_is_id): New.
10547
10548 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10549
10550         * pentium.md (pentium-firstvboth): Fix typo.
10551
10552 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10553
10554         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10555         (enum shift_type, enum h8_cpu): Likewise.
10556         (INL, ROT, LOP, SPC macros): Likewise.
10557         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10558         const designator.
10559         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10560         space efficient algorithms when optimize for codesize.
10561
10562 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10563
10564         Fix PR/1727 and long-standing failing testcase
10565         objc/formal-protocol-6.m.
10566         * objc-act.c (build_protocol_expr): If compiling for the GNU
10567         runtime, create a list of Protocol statically allocated instances
10568         if it doesn't exist, then add the Protocol object to this same
10569         list.
10570         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10571         instead of TREE_CHAIN.
10572
10573 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10574
10575         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10576         10k.  Fixed category dumping - print out category names with the
10577         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10578         interface.
10579         (finish_objc): Fixed the -gen-decls option.  It was printing out
10580         only the last class.  Dump an interface declaration of all classes
10581         being compiled instead.
10582
10583 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10584
10585         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10586         prototype.
10587         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10588         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10589         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10590         rather than GEN_INT.
10591         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10592         (return_addr_mask, *check_arch2): New.
10593
10594 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10595
10596         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10597         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10598         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10599         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10600         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10601         "adddf3", "*adddf3", "*adddf3_ibm",
10602         "addsf3", "*addsf3", "*addsf3_ibm",
10603         "muldi3", "mulsi3", "mulsidi3",
10604         "muldf3", "*muldf3", "*muldf3_ibm",
10605         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10606         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10607         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10608         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10609         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10610         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10611         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10612         instead of "register_operand" as predicate for "%0" operand.
10613
10614 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10615
10616         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10617         unconditionally when gcc_cv_as_flags64 checks are gone.
10618         * configure: Rebuilt.
10619
10620 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10621
10622         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10623         2002-07-26 change.  Comment.
10624
10625 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10626
10627         * frv.c (frv_unique_section, frv_select_section,
10628         frv_select_rtx_section): Delete.
10629         (frv_in_small_data_p): New.
10630         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10631         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10632         (TARGET_IN_SMALL_DATA_P): Define.
10633
10634 2002-09-05  Dale Johannesen  <dalej@apple.com>
10635
10636         * reload1.c (reload):  Retain only those memory clobbers
10637         added for variable-array handling.
10638
10639 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10640
10641         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10642         return-in-memory rules.
10643         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10644
10645 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10646
10647         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10648         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10649
10650 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10651
10652         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10653         not a compile-time constant for the non-IBM case.
10654         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10655         prototype.
10656         * config/arm/arm.c (arm_float_words_big_endian): New function.
10657         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10658         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10659         (ARM_FLAG_VFP, TARGET_VFP): Define.
10660         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10661
10662 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10663
10664         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10665         URLs.  Fix AIX wording.
10666
10667 2002-09-05  Stan Shebs  <shebs@apple.com>
10668
10669         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10670         -fPIC equivalent on Darwin.
10671
10672 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10673
10674         * sh.c (sh_expand_builtin): Return early if encountering an
10675         error_mark for a type.
10676
10677 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10678
10679         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10680         double-word scratch register.
10681         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10682
10683         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10684         "*cli"): Replace s_operand by memory_operand.
10685         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10686
10687 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10688
10689         * config/h8300/h8300.c (asm_file_start): Add a missing
10690         semicolon.
10691
10692 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10693
10694         * c-typeck.c (build_function_call): Remove unused variable(s).
10695         (build_c_cast): Likewise.
10696         * calls.c (rtx_for_function_call): Likewise.
10697         * cfglayout.c (duplicate_insn_chain): Likewise.
10698         * cfgloop.c (flow_loop_nodes_find): Likewise.
10699         * cfgrtl.c (split_edge): Likewise.
10700         * df.c (df_ref_create): Likewise.
10701         * except.c (expand_end_catch): Likewise.
10702         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10703         * function.c (emit_return_into_block): Likewise.
10704         (reposition_prologue_and_epilogue_notes): Likewise.
10705         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10706         * combine.c (subst_prev_insn, need_refresh): Remove.
10707         * dwarf2out.c (primary_filename): Remove.
10708         * final.c (new_block): Remove.
10709         * gcse.c (orig_bb_count): Remove.
10710
10711 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10712
10713         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10714         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10715         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10716         directly instead of using a function pointer.
10717
10718 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10719
10720         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10721         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10722         (ix86_output_addr_diff_elt) Likewise.
10723         (x86_output_mi_thunk) Likewise.
10724         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10725
10726 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10727
10728         * frv.c (frv_encode_section_info): Fix error in last change.
10729
10730 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10731
10732         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10733         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10734         (TARGET_BINDS_LOCAL_P): Define.
10735         (rs6000_override_options): Save original flag_pic value.
10736         (rs6000_elf_select_section): Call default_elf_select_section_1.
10737         (rs6000_elf_unique_section): Call default_unique_section_1.
10738         (rs6000_elf_in_small_data_p): New function.
10739         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10740         (rs6000_xcoff_select_section): Update based on defaults.
10741         (rs6000_xcoff_unique_section): Set to basic name if not common.
10742         (rs6000_binds_local_p): New function.
10743         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10744         targetm.have_srodata_section if SDATA_EABI.
10745         (TARGET_IN_SMALL_DATA_P): Define.
10746
10747 2002-09-04  Dale Johannesen  <dalej@apple.com>
10748
10749         * varasm.c (struct rtx_const, decode_rtx_const):
10750         Make veclo and vechi fields not share storage.
10751
10752 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10753
10754         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10755         for moving.
10756         (move_movables): Abort if we see the first insn of a libcall.
10757
10758 2002-09-04  Richard Henderson  <rth@redhat.com>
10759
10760         * builtin-types.def (BT_FN_FLOAT): New.
10761         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10762         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10763         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10764         * builtins.c (fold_builtin_inf): New.
10765         (fold_builtin): Call it.
10766         * real.c (ereal_inf): New.
10767         * real.h: Declare it.
10768         * doc/extend.texi: Document new builtins.
10769
10770 2002-09-04  Richard Henderson  <rth@redhat.com>
10771
10772         * cse.c (cse_insn): Avoid subreg games if the equivalence
10773         is already in the proper mode.
10774
10775 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10776
10777         PR c/7102
10778         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10779
10780 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10781
10782         * pa.md (setccfp0, setccfp1): New patterns.
10783
10784 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10785
10786         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10787         frv_select_section, frv_select_rtx_section,
10788         frv_encode_section_info, frv_unique_section): Delete.
10789         * frv.c: Update for target hooks.
10790         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10791         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10792         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10793
10794 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10795
10796         * ip2k-protos.h (function_prologue, function_epilogue,
10797         encode_section_info): Update to match target hook specification.
10798         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10799         (function_prologue, function_epilogue, encode_section_info):
10800         Update to match target hook specification.
10801         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10802         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10803         (NOTICE_UPDATE_CC): Cast to void.
10804         * ip2k.md: Add defaults in switch statements.
10805
10806 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10807
10808         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10809         issues.
10810
10811 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10812
10813         * config/sparc/t-netbsd64: Disable multilib for now.
10814
10815 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10816
10817         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10818         * target.h (gcc_target): Add have_srodata_section member.
10819         * varasm.c (section_category): Add SECCAT_SRODATA.
10820         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10821         READONLY_SDATA_SECTION defined.
10822         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10823         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10824         (default_unique_section_1): Likewise.
10825
10826 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10827
10828         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10829         into DImode pieces.
10830
10831         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10832         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10833         for floating-point register class.
10834         * pa.c (function_arg): Fix handling of modes wider than one word for
10835         TARGET_64BIT.
10836
10837 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
10838
10839         * combine.c (make_compound_operation): Don't generate zero / sign
10840         extensions in floating point modes.
10841
10842 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10843
10844         * doc/c-tree.texi: Fix overfull hboxes.
10845         * doc/cppopts.texi: Ditto.
10846         * doc/extend.texi: Ditto.
10847         * doc/gty.texi: Ditto.
10848         * doc/invoke.texi: Ditto.
10849         * doc/makefile.texi: Ditto.
10850         * doc/rtl.texi: Ditto.
10851         * doc/standards.texi: Ditto.
10852         * doc/tm.texi: Ditto.
10853
10854 2002-09-04  Richard Henderson  <rth@redhat.com>
10855
10856         * c-common.c (builtin_define_with_hex_fp_value): New.
10857         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
10858
10859 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10860
10861         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
10862         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
10863         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
10864         Warn that these options can break ABI compatibility.
10865
10866 2002-09-04  Richard Henderson  <rth@redhat.com>
10867
10868         * real.c (ereal_to_decimal): Add digits parameter.
10869         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
10870         * c-pretty-print.c (pp_c_real_literal): Update call.
10871         * print-rtl.c (print_rtx): Likewise.
10872         * print-tree.c (print_node_brief, print_node): Likewise.
10873         * sched-vis.c (print_value): Likewise.
10874         * config/arc/arc.c (arc_print_operand): Likewise.
10875         * config/c4x/c4x.c (c4x_print_operand): Likewise.
10876         * config/i370/i370.h (PRINT_OPERAND): Likewise.
10877         * config/i386/i386.c (print_operand): Likewise.
10878         * config/i960/i960.c (i960_print_operand): Likewise.
10879         * config/ip2k/ip2k.c (asm_output_float): Likewise.
10880         * config/m32r/m32r.c (m32r_print_operand): Likewise.
10881         * config/m68hc11/m68hc11.c (print_operand): Likewise.
10882         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
10883         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10884         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
10885         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10886         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
10887         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10888         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
10889         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10890         * config/mips/mips.c (print_operand): Likewise.
10891         * config/ns32k/ns32k.c (print_operand): Likewise.
10892         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
10893         * config/vax/vax.h (PRINT_OPERAND): Likewise.
10894         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
10895
10896 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
10897
10898         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
10899         xtensa_multibss_section_type_flags.
10900         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
10901
10902 2002-09-04  Richard Henderson  <rth@redhat.com>
10903
10904         * doc/install-old.texi: Don't mention enquire.
10905         * doc/sourcebuild.texi: Update float.h description.
10906
10907 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
10908
10909         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
10910
10911 2002-09-03  Roger Sayle  <roger@eyesopen.com>
10912
10913         * builtins.c (build_function_call_expr): Remove prototype, export
10914         as non-static and add a comment above function definition.
10915         (builtin_mathfn_code): New function to check for math builtins.
10916         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
10917         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
10918         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
10919         log(sqrt(x)) as log(x)/2.0.
10920
10921         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
10922         in new "builtins.c" section.  Place the build_range_type prototype
10923         with the other prototypes from "tree.c".
10924
10925         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
10926         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
10927         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
10928         x/exp(y) as x*exp(-y).
10929
10930 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
10931
10932         * varasm.c (default_section_type_flags): Append _1 to name with
10933         shlib parameter.  Use original name to call new function with
10934         implicit flag_pic.
10935         (decl_readonly_section): Likewise.
10936         (default_elf_select_section): Likewise.
10937         (default_unique_section): Likewise.
10938         (default_bind_local_p): Likewise.
10939         (categorize_decl_for_section): Add shlib parameter to use in place
10940         of implicit flag_pic.
10941         * output.h: Declare new functions with _1 and shlib argument.
10942
10943 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
10944
10945         * doc/install.texi: Fix typos, formatting problems, and obvious
10946         overfull/underfull boxes.
10947
10948         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
10949         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
10950         include its file, compat.texi.
10951         * doc/compat.texi: New file with new chapter, Binary Compatibility.
10952
10953 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
10954
10955         Debian BTS Bug #157416
10956         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
10957         * cpplib.c (destringize_and_run): Kludge around getting
10958         tokens from in-progress macros.
10959         (_cpp_do__Pragma): Simplify.
10960
10961 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
10962
10963         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
10964         (CPP_CPU_SPEC): Remove.
10965         (TARGET_CPU_CPP_BUILTINS): New.
10966         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
10967         (CPP_SPEC): Remove.
10968         (TARGET_OS_CPP_BUILTINS): New.
10969         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
10970         (TARGET_OS_CPP_BUILTINS): New.
10971         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
10972         TARGET_OS_CPP_BUILTINS.
10973         (CPP_PREDEFINES): Remove.
10974         (CPLUSPLUS_CPP_SPEC): Remove.
10975         (TARGET_OS_CPP_BUILTINS): New.
10976
10977 2002-09-03  Richard Henderson  <rth@redhat.com>
10978
10979         * Makefile.in (USER_H): Add ginclude/float.h.
10980         (FLOAT_H): Remove.
10981         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
10982         (mostlyclean): Don't remove float.h intermediate files.
10983         (distclean): Don't remove float.h.
10984         * config.gcc: Remove all float_format references.
10985         * configure.in (float_format, float_h_file): Remove.
10986
10987         * c-common.c: Include tree-inline.h.
10988         (builtin_define_with_int_value): New.
10989         (builtin_define_type_precision): Use it.
10990         (builtin_define_float_constants): New.
10991         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
10992         __FLT_EVAL_METHOD__.
10993         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
10994         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
10995         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
10996         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
10997         (TARGET_FLT_EVAL_METHOD): New.
10998
10999         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11000         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11001         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11002         * ginclude/float.h: New.
11003
11004 2002-09-03  Stan Shebs  <shebs@apple.com>
11005
11006         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11007         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11008         (PREFERRED_DEBUGGING_TYPE): Ditto.
11009         (ASM_OUTPUT_IDENT): Remove empty definition.
11010
11011 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11012
11013         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11014         cxx_target.
11015         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11016         handling routine for builtin pragma.
11017         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11018         Registered pragma handling routine.
11019         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11020         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11021         If builtin pragma seen for math routine and C89 conformance is
11022         requested use different math function in order to set errno.
11023         * t-ia64 (ia64-c.o): Add new rule for new file.
11024
11025 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11026
11027         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11028         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11029         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11030
11031         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11032         "*movsf_ss"): Remove.
11033
11034 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11035
11036         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11037         Delete macros.
11038
11039 2002-09-03   Arati Dikey  <aratid@kpit.com>
11040
11041         * h8300.c (asm_file_start): Corrected optimization comment.
11042
11043 2002-09-03  Stan Shebs  <shebs@apple.com>
11044
11045         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11046         * c-tree.h (recognize_objc_keyword): Remove decl.
11047         * c-typeck.c (comp_target_types): Update a comment.
11048
11049 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11050
11051         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11052         and register validity checks.
11053         (general_s_operand): Adapt to s390_decompose_address interface change.
11054         (q_constraint): Likewise.
11055         (s390_expand_plus_operand): Likewise.
11056         (legitimiate_address_p): Likewise.
11057         (legitimate_la_operand_p): Likewise.
11058         (legitimize_la_operand): Likewise.
11059         (print_operand_address): Likewise.
11060         (print_operand): Likewise.
11061
11062 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11063
11064         PR objc/5956:
11065         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11066         was causing the new selector never to match the existing ones
11067         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11068
11069 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11070
11071         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11072
11073 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11074
11075         * expr.c (expand_expr): Remove extraneous comment and code.
11076
11077 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11078
11079         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11080         frontend. Take chain of fields. Allow NULL alignment type.
11081         * tree.h (finish_builtin_struct): Declare.
11082
11083 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11084
11085         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11086         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11087         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11088         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11089         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11090         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11091         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11092         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11093         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11094         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11095         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11096         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11097         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11098         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11099         config/rs6000/linux64.h config/rs6000/lynx.h
11100         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11101         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11102         config/sparc/sparc.c config/sparc/sysv4.h
11103         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11104         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11105         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11106
11107         * doc/tm.texi: Update docs.
11108         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11109         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11110
11111 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11112
11113         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11114         * arc.c (arc_internal_label): New function.
11115         (TARGET_ASM_INTERNAL_LABEL): Set.
11116         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11117         * arm.c (arm_internal_label): New function.
11118         (TARGET_ASM_INTERNAL_LABEL): Set.
11119         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11120         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11121         * i370.c (i370_internal_label): New function.
11122         (TARGET_ASM_INTERNAL_LABEL): Set.
11123         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11124         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11125         * m68k.c (m68k_hp320_internal_label): New function.
11126         (TARGET_ASM_INTERNAL_LABEL): Set.
11127         * m88k.c (m88k_internal_label): New function.
11128         (TARGET_ASM_INTERNAL_LABEL): Set.
11129         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11130         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11131         * genoutput.c (output_prologue): Include target.h in output file.
11132         * output.h (default_internal_label): Declare.
11133         * sdbout.c: Include target.h.
11134         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11135         TARGET_ASM_OUT.
11136         * target.h (internal_label): Add to struct gcc_target.
11137         * varasm.c (default_internal_label): New function.
11138
11139 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11140
11141         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11142         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11143         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11144         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11145         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11146         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11147         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11148         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11149         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11150         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11151         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11152         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11153         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11154         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11155         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11156         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11157         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11158         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11159         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11160         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11161         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11162         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11163         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11164         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11165         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11166         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11167         * mmix.c (mmix_asm_output_internal_label): Likewise.
11168         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11169         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11170         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11171         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11172         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11173         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11174         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11175         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11176         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11177         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11178         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11179         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11180         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11181         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11182         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11183         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11184         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11185         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11186         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11187
11188         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11189
11190 2002-08-31  Richard Henderson  <rth@redhat.com>
11191
11192         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11193
11194 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11195
11196         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11197
11198 2002-08-30  Richard Henderson  <rth@redhat.com>
11199
11200         PR opt/7515
11201         * c-objc-common.c: Include target.h.
11202         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11203         don't bind locally.  Factor setting DECL_UNINLINABLE.
11204         * Makefile.in (c-objc-common.o): Update.
11205
11206 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11207
11208         * doc/install.texi (Configuration, Building): Fix a typo and
11209         some formatting directives.
11210
11211 2002-08-30  Paul Koning <pkoning@equallogic.com>
11212
11213         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11214         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11215         implemented" note.
11216         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11217         for alphabetic order.
11218         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11219         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11220         (VAX_HALFWORD_ORDER): Document.
11221         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11222         IEEE float format.
11223         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11224         (ASM_OUTPUT_LABEL_REF): Fix font.
11225         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11226
11227 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11228
11229         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11230         stuff.
11231         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11232         CONST_DOUBLE constants.
11233
11234 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11235
11236         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11237         related defines to...
11238         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11239         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11240         as a no-op.
11241
11242 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11243
11244         * config/arm/arm.c (arm_asm_output_labelref): New function.
11245         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11246         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11247
11248 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11249
11250         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11251         memory exhausted" workarounds.
11252
11253 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11254
11255         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11256         * toplev.c (crash_signal): Likewise.
11257
11258 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11259
11260         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11261         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11262         Extended, updated documentation.
11263         (-Wundeclared-selector): Documented.
11264
11265 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11266
11267         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11268         the value 1.  Do not undef before defining.
11269         * config/darwin.h: Likewise.
11270         * config/dbx.h: Likewise.
11271         * config/dbxcoff.h: Likewise.
11272         * config/dbxelf.h: Likewise.
11273         * config/elfos.h: Likewise.
11274         * config/interix.h: Likewise.
11275         * config/lynx-ng.h: Likewise.
11276         * config/lynx.h: Likewise.
11277         * config/netware.h: Likewise.
11278         * config/psos.h: Likewise.
11279         * config/svr3.h: Likewise.
11280         * config/alpha/alpha.h: Likewise.
11281         * config/alpha/elf.h: Likewise.
11282         * config/alpha/vms.h: Likewise.
11283         * config/arc/arc.h: Likewise.
11284         * config/arm/aout.h: Likewise.
11285         * config/arm/coff.h: Likewise.
11286         * config/c4x/c4x.h: Likewise.
11287         * config/h8300/h8300.h: Likewise.
11288         * config/i386/cygwin.h: Likewise.
11289         * config/i386/djgpp.h: Likewise.
11290         * config/i386/gas.h: Likewise.
11291         * config/i386/gstabs.h: Likewise.
11292         * config/i386/i386-coff.h: Likewise.
11293         * config/i386/i386-interix.h: Likewise.
11294         * config/i386/sco5.h: Likewise.
11295         * config/i386/svr3dbx.h: Likewise.
11296         * config/i386/sysv3.h: Likewise.
11297         * config/i386/win32.h: Likewise.
11298         * config/i386/x86-64.h: Likewise.
11299         * config/i960/i960.h: Likewise.
11300         * config/ia64/ia64.h: Likewise.
11301         * config/ip2k/ip2k.h: Likewise.
11302         * config/m32r/m32r.h: Likewise.
11303         * config/m68k/3b1.h: Likewise.
11304         * config/m68k/3b1g.h: Likewise.
11305         * config/m68k/ccur-GAS.h: Likewise.
11306         * config/m68k/coff.h: Likewise.
11307         * config/m68k/hp2bsd.h: Likewise.
11308         * config/m68k/hp310g.h: Likewise.
11309         * config/m68k/hp320g.h: Likewise.
11310         * config/m68k/hp3bsd.h: Likewise.
11311         * config/m68k/hp3bsd44.h: Likewise.
11312         * config/m68k/linux-aout.h: Likewise.
11313         * config/m68k/m68k-aout.h: Likewise.
11314         * config/m68k/mot3300.h: Likewise.
11315         * config/m68k/netbsd.h: Likewise.
11316         * config/m68k/openbsd.h: Likewise.
11317         * config/m68k/pbb.h: Likewise.
11318         * config/m68k/plexus.h: Likewise.
11319         * config/m68k/sun2.h: Likewise.
11320         * config/m68k/sun3.h: Likewise.
11321         * config/m68k/tower-as.h: Likewise.
11322         * config/m68k/vxm68k.h: Likewise.
11323         * config/m88k/aout-dbx.h: Likewise.
11324         * config/m88k/m88k-aout.h: Likewise.
11325         * config/mcore/mcore-elf.h: Likewise.
11326         * config/mcore/mcore-pe.h: Likewise.
11327         * config/mips/elf.h: Likewise.
11328         * config/mips/elf64.h: Likewise.
11329         * config/mips/iris5gas.h: Likewise.
11330         * config/mips/iris6.h: Likewise.
11331         * config/mips/mips.h: Likewise.
11332         * config/mips/sni-gas.h: Likewise.
11333         * config/mmix/mmix.h: Likewise.
11334         * config/ns32k/netbsd.h: Likewise.
11335         * config/pa/pa64-hpux.h: Likewise.
11336         * config/romp/romp.h: Likewise.
11337         * config/rs6000/sysv4.h: Likewise.
11338         * config/rs6000/xcoff.h: Likewise.
11339         * config/sh/coff.h: Likewise.
11340         * config/sh/elf.h: Likewise.
11341         * config/sparc/linux64.h: Likewise.
11342         * config/sparc/liteelf.h: Likewise.
11343         * config/sparc/netbsd.h: Likewise.
11344         * config/sparc/openbsd.h: Likewise.
11345         * config/sparc/pbd.h: Likewise.
11346         * config/sparc/sp64-elf.h: Likewise.
11347         * config/sparc/sp86x-elf.h: Likewise.
11348         * config/sparc/sparc.h: Likewise.
11349         * config/vax/vax.h: Likewise.
11350         * config/vax/vaxv.h: Likewise.
11351
11352 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11353
11354         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11355         of HImode shifts.
11356         (get_shift_alg): Corresponding changes.
11357
11358 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11359
11360         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11361
11362 2002-08-29  Richard Henderson  <rth@redhat.com>
11363
11364         * expr.h (enum block_op_methods): New.
11365         (emit_block_move): Update prototype.
11366         * expr.c (block_move_libcall_safe_for_call_parm): New.
11367         (emit_block_move_via_loop): New.
11368         (emit_block_move): Use them.  New argument METHOD.
11369         (emit_push_insn): Always respect the given alignment.
11370         (expand_assignment): Update call to emit_block_move.
11371         (store_expr, store_field, expand_expr): Likewise.
11372         * builtins.c (expand_builtin_apply): Likewise.
11373         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11374         * function.c (expand_function_end): Likewise.
11375         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11376         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11377         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11378         (save_fixed_argument_area): Use emit_block_move with
11379         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11380         (restore_fixed_argument_area): Likewise.
11381         (store_one_arg): Fix alignment parameter to emit_push_insn.
11382
11383 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11384
11385         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11386
11387 2002-08-29  Catherine Moore  <clm@redhat.com>
11388
11389         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11390         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11391         (PREDICATE_CODES): Include new predicates.
11392         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11393         (TARGET_SWITCHES):  Add strict-align.
11394         (TARGET_STRICT_ALIGN): New.
11395         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11396         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11397         Define.
11398         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11399         v850_muldi3.
11400         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11401         L_callt_save_r2_r31, L_return_r2_r31,
11402         L_save_all_interrupt): Change addi to add.
11403         (L_save_interrupt, L_return_interrupt): Rework.
11404         (__return_r31):  Correct .size directive.
11405         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11406         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11407         New routines.
11408         * config/v850/v850.c (expand_prologue): Call
11409         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11410         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11411         (reg_or_int9_operand): New predicate.
11412         (reg_or_const_operand): New routine.
11413         * config/v850/v850.md (return_interrupt): Changed from
11414         restore_interrupt.
11415         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11416         (callt_save_interrupt): Change save sequence.
11417         (callt_return_interrupt): New.
11418         (save_interrupt): Don't use runtime function for LONG_CALLS
11419         and TARGET_PROLOG_FUNCTION.
11420         (save_all_interrupt): Likewise.
11421         (mulsi3): Use new predicate.
11422         (moviscc): Disallow some combination of constants.
11423         Fix define_split for sasf insns, so that it will not generate bad
11424         code if operand0 and operand5 are the same.
11425         * config/v850/v850-protos.h: Prototype new predicates.
11426
11427 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11428
11429         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11430         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11431
11432 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11433
11434         * c-common.c (builtin_define_type_precision): New function.
11435         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11436         wchar_t is unsigned in C++.
11437         * doc/cpp.texi (Common Predefined Macros): Document
11438         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11439         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11440         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11441
11442 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11443
11444         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11445         section.  Mention that it is enabled by -Wall.
11446         (-Wall): Mention that there can be language-specific warnings as well.
11447         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11448         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11449
11450 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11451
11452         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11453         if it is ever live.
11454
11455         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11456         attribute for SHCOMPACT.
11457
11458         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11459         appropriately.
11460         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11461         by the ABI.
11462
11463         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11464
11465 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11466
11467         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11468         "MASK_GAS|MASK_ABICALLS".
11469         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11470         (TARGET_DEFAULT): Remove.
11471         (MACHINE_TYPE): Undefine before defining.
11472         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11473
11474 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11475
11476         * c-common.c (warn_abi): New variable.
11477         * c-common.h (warn_abi): Likewise.
11478         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11479         (c_common_decode_option): Handle it.
11480         * doc/invoke.texi: Document -Wabi.
11481
11482 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11483
11484         * c-common.c (warn_undeclared_selector): New variable.
11485         * c-common.h (warn_undeclared_selector): Idem.
11486         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11487         to on when -Wundeclared-selector is found.
11488         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11489         * objc/objc-act.c (build_selector_expr): If
11490         warn_undeclared_selector is set, check that the selector has
11491         already been defined, and emit a warning if not.
11492
11493 2002-08-27  Nick Clifton  <nickc@redhat.com>
11494             Catherine Moore  <clm@redhat.com>
11495             Jim Wilson  <wilson@cygnus.com>
11496
11497         * config.gcc: Add v850e-*-* target.
11498         Add --with-cpu= support for v850.
11499         * config/v850/lib1funcs.asm: Add v850e callt functions.
11500         * config/v850/v850.h: Add support for v850e target.
11501         * config/v850/v850.c: Add functions to support v850e target.
11502         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11503         * config/v850/v850.md: Add patterns for v850e instructions.
11504         * doc/invoke.texi: Document new v850e command line switches.
11505
11506 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11507                           Aldy Hernandez <aldyh at redhat dot com>
11508
11509         * doc/tm.texi: Applied numerous fixes to the automaton based
11510         scheduler descrition.
11511
11512 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11513
11514         * i386.c (classify_argument): Handle variable sized objects.
11515
11516 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11517
11518         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11519
11520 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11521
11522         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11523
11524 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11525
11526         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11527
11528 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11529
11530         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11531         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11532         accordingly.
11533         (attribute insn_class): Provide default definitions based on type.
11534         Remove all insn-specific settings.
11535         (various function units): Remove old SH4 scheduling.
11536         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11537         New attributes.  Set them where appropriate.
11538         (cpu unit FS): Don't define / use.
11539         (F3, load_store): New cpu units.
11540         (F01): New reservation.
11541         (all insn_reservations): Make dependent on sh4 pipeline model.
11542         Fix latencies.
11543         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11544         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11545         (mt insn_reservation): Use type mt_group.
11546         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11547         sh4_fload and sh4_store.
11548         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11549         (insn_reservation branch_far): Replace with sh4_return.
11550         (insn_reservation return_from_exp): Rename to:
11551         (sh4_return_from_exp).  Change to be just d_lock*5.
11552         (insn_reservation lds_to_pr): Rename to:
11553         (sh4_lds_to_pr).  Change to be just d_lock*2.
11554         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11555         d_lock*2.
11556         (insn_reservation prload_mem): Rename to:
11557         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11558         (insn_reservation fpscr_store): Rename to:
11559         (fpscr_load).  Change to d_lock,nothing,F1*3.
11560         (insn_reservation fpscr_store_mem): Rename to:
11561         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11562         (insn_reservation multi): Change to
11563         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11564         (insn_reservation fp_arith): Change to issue,F01,F2.
11565         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11566         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11567         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11568         (insn_reservation fp_double_cmp): Change to
11569         d_lock,(d_lock+F01),F1+F2,F2.
11570         (insn_reservation dp_div): Change to
11571         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11572         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11573         (sh_adjust_cost, SHcompact): Differentiate between different
11574         kinds of dependencies.  Drop factor of ten for superscalar.
11575         Use new instruction types.  Add new exception rules.
11576
11577         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11578
11579         * sh.md (mperm_w): Add DONE.
11580
11581 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11582
11583         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11584
11585         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11586
11587         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11588
11589 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11590
11591         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11592
11593 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11594
11595         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11596         delimiter.
11597
11598 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11599
11600         * c-common.c (cpp_define_data_format): New function.
11601         (cb_register_builtins): Call it.
11602
11603         * doc/cpp.texi (Common Predefined Macros): Document
11604         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11605         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11606         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11607         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11608         __TARGET_USES_VAX_H_FLOAT__.
11609
11610 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11611
11612         * objc/objc-act.c (get_super_receiver): If inside a class method
11613         of a category, cast the receiver to 'id' before accessing the 'isa'
11614         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11615
11616 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11617
11618         * config/s390/s390-protos.h (s390_function_prologue,
11619         s390_function_epilogue): Remove.
11620         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11621         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11622
11623         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11624         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11625         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11626         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11627         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11628
11629         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11630         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11631         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11632         function is not a leaf function.  Use save_gprs and restore_gprs.
11633         (s390_emit_epilogue): Likewise.
11634         (save_gprs, restore_gprs): New functions.
11635         (struct s390_frame): Remove return_reg_saved_p member.
11636         (save_fprs_p): Remove.
11637         (s390_optimize_prolog): New function.
11638         (s390_legitimate_reload_constant): Remove now unnecessary check.
11639
11640         (s390_function_count): Remove.
11641         (s390_output_symbolic_const): Replace s390_function_count by
11642         current_function_funcdef_no.
11643         (s390_output_constant_pool): Likewise.
11644
11645         (legitimize_pic_address): Use regs_ever_live to track PIC register
11646         instead of current_function_uses_pic_offset_table.
11647         (s390_emit_prologue): Likewise.
11648         config/s390/s390.md ("call", "call_value"): Likewise.
11649
11650 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11651
11652         * c-opts.c (find_opt): Don't complain about wrong languages
11653         here.  Return exact matches even for wrong language.
11654         (c_common_decode_option): Complain about wrong languages
11655         here.
11656
11657 2002-08-24  Stuart Hastings  <stuart@apple.com>
11658
11659         * function.h (struct function): Add flag
11660         all_throwers_are_sibcalls.
11661         * except.c (set_nothrow_function_flags): Replaces
11662         nothrow_function_p. Set new flag.
11663         * except.h (set_nothrow_function_flags): Replaces
11664         nothrow_function_p.
11665         * dwarf2out.c (struct dw_fde_struct): Add flag
11666         all_throwers_are_sibcalls.
11667         (output_call_frame_info): Test it.
11668         (dwarf2out_begin_prologue) Propagate it from cfun to
11669         dw_fde_struct.
11670         * toplev.c (rest_of_compilation): Update calls to
11671         nothrow_function_p.
11672
11673 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11674
11675         * ggc-page.c (compute_inverse): Short circuit calculation for
11676         object sizes larger than half a page.
11677
11678 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11679
11680         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11681         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11682         default.
11683         (rs6000_elf_unique_section): Likewise.
11684
11685 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11686
11687         * ns32k.c (ns32k_globalize_label): Delete.
11688         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11689
11690 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11691
11692         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11693         for loading delta with num_insns_constant_wide.  Calculate
11694         delta_low, delta_high without using a conditional.
11695
11696 2002-08-22  Jason Merrill  <jason@redhat.com>
11697
11698         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11699         * c-common.def: Adjust.
11700         * c-dump.c (c_dump_tree): Adjust.
11701         * c-semantics.c (genrtl_return_stmt): Adjust.
11702         * c-pretty-print.c (pp_c_statement): Adjust.
11703         * tree-inline.c (copy_body_r): Adjust.
11704
11705 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11706
11707         * ggc-page.c: Avoid division in ggc_set_mark.
11708         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11709         compute_inverse): New.
11710         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11711         (init_ggc): Initialize inverse_table.
11712
11713 2002-08-22  Tom Tromey  <tromey@redhat.com>
11714
11715         * doc/install.texi (Configuration): Document --datadir.
11716
11717 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11718
11719         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11720
11721 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11722
11723         * gengtype-lex.l (ID): Allow underscore as first character.
11724
11725 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11726
11727         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11728         function.
11729         (rs6000_xcoff_asm_named_section): Rename.
11730         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11731
11732 2002-08-21  Tom Tromey  <tromey@redhat.com>
11733
11734         For PR java/6005 and PR java/7611:
11735         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11736         (fold): Likewise.
11737         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11738         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11739         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11740         (LANG_HOOKS_INITIALIZER): Use it.
11741         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11742         field.
11743
11744 2002-08-21  Stan Shebs  <shebs@apple.com>
11745
11746         * tree.c (finish_vector_type): Fix a typo in a comment.
11747         * Makefile.in: Fix "the the" stutters in comments.
11748         * genautomata.c: Ditto.
11749         * ifcvt.c: Ditto.
11750         * regrename.c: Ditto.
11751         * config/alpha/alpha.c: Ditto.
11752         * config/alpha/vms-crt0-64.c: Ditto.
11753         * config/alpha/vms-crt0.c: Ditto.
11754         * config/alpha/vms-psxcrt0-64.c: Ditto.
11755         * config/alpha/vms-psxcrt0.c: Ditto.
11756         * config/d30v/d30v.h: Ditto.
11757         * config/fr30/fr30.h: Ditto.
11758         * config/rs6000/rs6000.c: Ditto.
11759         * config/stormy16/stormy16.h: Ditto.
11760         * doc/md.texi: Ditto.
11761
11762 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11763
11764         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11765
11766 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11767
11768         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11769         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11770         Also make duplicate modifiers such as "short short" into hard
11771         errors.
11772
11773 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11774             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11775
11776         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11777         to the actual end.  Add '@end table' and '@table @code'.
11778
11779 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11780
11781         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11782
11783         * unroll.c (biv_total_increment): Don't try to compute the total
11784         increment for FP BIVs.
11785
11786 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11787
11788         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11789         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11790         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11791         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11792         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11793         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11794         (GLOBAL_ASM_OP): Define.
11795         * arm.c (aof_globalize_label): New function.
11796         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11797         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11798         * c4x.c (c4x_globalize_label): New function.
11799         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11800         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11801         (GLOBAL_ASM_OP): Define.
11802         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11803         * darwin-protos.h (darwin_globalize_label): Declare.
11804         * darwin.c (darwin_globalize_label): New function.
11805         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11806         (ASM_GLOBALIZE_LABEL): Delete.
11807         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11808         * dsp16xx.c (asm_output_common): Use target hook.
11809         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11810         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11811         (GLOBAL_ASM_OP): Define.
11812         * i370.c (i370_globalize_label): New function.
11813         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11814         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11815         * i386.c (ix86_asm_file_end): Use target hook.
11816         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11817         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11818         * ia64.c (ia64_asm_output_external): Likewise.
11819         * ia64/sysv4.h: Update comment.
11820         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11821         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11822         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11823         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11824         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11825         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11826         * mmix.c (mmix_asm_globalize_label): Likewise.
11827         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11828         (GLOBAL_ASM_OP): Define.
11829         * ns32k.c (ns32k_globalize_label): New function.
11830         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11831         (ASM_GLOBALIZE_LABEL): Delete.
11832         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11833         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11834         * pa.c (pa_globalize_label): New function.
11835         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11836         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11837         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11838         (GLOBAL_ASM_OP): Define.
11839         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11840         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11841         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11842         (GLOBAL_ASM_OP): Define.
11843         * v850.c (v850_output_aligned_bss): Use target hook.
11844         * vax.c (vms_globalize_label): New function.
11845         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11846         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11847         (GLOBAL_ASM_OP): Define.
11848         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11849         * doc/tm.texi: Update docs.
11850         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11851         target hook.
11852         * final.c (output_alternate_entry_point): Likewise.
11853         * hooks.c (hook_FILEptr_constcharptr_void): New function.
11854         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11855         * output.h (assemble_global): Delete.
11856         (default_globalize_label): Declare.
11857         * system.h (ASM_GLOBALIZE_LABEL): Poison.
11858         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11859         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
11860         * target.h (gcc_target): Add globalize_label member.
11861         * varasm.c (asm_output_bss, asm_output_aligned_bss,
11862         globalize_decl): Use target hook.
11863         (assemble_global): Delete.
11864         (default_globalize_label): New function.
11865
11866 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11867
11868         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
11869
11870 2002-08-20  Devang Patel  <dpatel@apple.com>
11871         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
11872
11873 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11874
11875         * arc.c (output_shift): Use stdio instead of asm_fprintf.
11876         * arm.c (thumb_output_function_prologue): Likewise.
11877         * avr.c (print_operand): Likewise.
11878         * c4x.c (c4x_print_operand): Likewise.
11879         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
11880         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11881         * cris.c (cris_target_asm_function_prologue,
11882         cris_asm_output_mi_thunk): Likewise.
11883         * h8300.c (print_operand): Likewise.
11884         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11885         * ip2k.c (print_operand): Likewise.  Fix format specifier.
11886         * m68hc11.c (asm_print_register, print_operand,
11887         print_operand_address): Use stdio instead of asm_fprintf.
11888         (print_operand_address): Fix format specifier.
11889         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
11890         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
11891         asm_fprintf.
11892         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11893         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11894         * m68k.c (m68k_output_function_prologue,
11895         m68k_output_function_epilogue, print_operand): Likewise.
11896         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
11897         Likewise.  Fix format specifier.
11898         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11899         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11900         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11901
11902 2002-08-15  Eric Christopher  <echristo@redhat.com>
11903             Jeff Knaggs  <jknaggs@redhat.com>
11904
11905         * config.gcc (mipsisa64sr71k-elf): New target.
11906         * config/mips/sr71k.md: New file.
11907         * config/mips/mips.md: Use it.
11908         (rot*): Add sr71k specifics.
11909         * config/mips/t-sr71k: New file.
11910         * config/mips/mips.h (sr71k): New cpu.
11911         (TARGET_SR71K): Use it.
11912         (TUNE_SR71K): Ditto.
11913         (GENERATE_BRANCHLIKELY): Ditto.
11914         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
11915         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
11916         * config/mips/mips.c (sr71k): New cpu.
11917         (mips_use_dfa_pipeline_interface): Use.
11918
11919 2002-08-15  Eric Christopher  <echristo@redhat.com>
11920             Richard Sandiford <rsandifo@redhat.com>
11921             Aldy Hernandez  <aldyh@redhat.com>
11922             Graham Stott    <grahams@redhat.com>
11923             Michael Meissner  <meissner@redhat.com>
11924             Gavin Romig-Koch  <gavin@redhat.com>
11925             Ken Raeburn  <raeburn@cygnus.com>
11926             Alexandre Oliva <aoliva@redhat.com>
11927
11928         * config.gcc (mips64vr-elf): New target.
11929         * config/mips/5400.md: New file.
11930         * config/mips/5500.md: Ditto.
11931         * config/mips/mips.md: Use them.
11932         (frsqrt): New.
11933         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
11934         cpus.
11935         (mips_issue_rate): Use them.
11936         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
11937         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
11938         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
11939         cpus.
11940         (TARGET_MIPSx): Use them.
11941         (TUNE_MIPSx): Ditto.
11942         (GETNATE_MULT3_SI): Ditto.
11943         (ISA_HAS_BRANCHLIKELY): Ditto.
11944         (ISA_HAS_CONDMOVE): Ditto.
11945         (ISA_HAS_NMADD_NMSUB): Ditto.
11946         (ISA_HAS_MULHI): New. Ditto.
11947         (ISA_HAS_MULS): Ditto.
11948         (ISA_HAS_MSAC): Ditto.
11949         (ISA_HAS_MACC): Ditto.
11950         (ISA_HAS_ROTR_SI): Ditto.
11951         (ISA_HAS_ROTR_DI): Ditto.
11952         (RTX_COSTS): Use.
11953
11954 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11955
11956         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
11957         at head.
11958         (remove_dup_nonsys_dirs): New function.
11959         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
11960         (merge_include_chains): Remove non-system include directories from
11961         quote and bracket include chains when they duplicate equivalent system
11962         directories.
11963         * doc/cpp.texi (-I): Update.
11964         * doc/cppopts.texi (-I): Update.
11965         * doc/install.texi (--with-local-prefix): Further document usage of
11966         this option.
11967         * doc/invoke.texi (-I): Update.
11968
11969 2002-08-20  Richard Henderson  <rth@redhat.com>
11970
11971         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
11972         (emit_block_move): Split out subroutines.
11973         (emit_block_move_via_movstr): New.
11974         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
11975         (emit_block_move_libcall_fn): New.  Construct function prototype for
11976         bcopy as well.
11977         (clear_storage): Split out subroutines.
11978         (clear_storage_via_clrstr): New.
11979         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
11980         (clear_storage_libcall_fn): New.  Construct function prototype for
11981         bzero as well.
11982         (emit_push_insn): Use emit_block_move.
11983         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
11984         (store_constructor): Likewise.
11985
11986 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
11987
11988         * objc/objc-act.c (building_objc_message_expr): Rename to
11989         current_objc_message_selector.
11990
11991 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
11992
11993         * objc/objc-act.c (build_ivar_chain): Remove.
11994         (objc_copy_list): Likewise.
11995         (get_class_ivars): Inline call to removed build_ivar_chain
11996         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
11997         slot; use that slot (rather than CLASS_IVARS) when accessing
11998         ivars for base classes.  Call copy_list and chainon instead of
11999         objc_copy_list.
12000         (build_private_template): Call get_class_ivars instead of
12001         build_ivar_chain.
12002         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12003         (continue_class): Call get_class_ivars instead of
12004         build_ivar_chain.
12005         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12006         of DECL_BIT_FIELD (which may have been cleared).
12007         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12008
12009 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12010
12011         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12012         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12013         in output file.
12014         (output_internal_min_issue_delay_func): Initialize variable in
12015         output file.
12016
12017 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12018
12019         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12020         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12021
12022 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12023             Steve Ellcey  <sje@cup.hp.com>
12024
12025         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12026         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12027         * explow.c (trunc_int_for_mode): Abort when the mode is not
12028         a scaler integer mode.
12029         * combine.c (expand_compound_operation): Don't expand Vector
12030         or Complex modes into shifts.
12031         (expand_field_assignment): Don't do bitwise arithmatic and
12032         shifts on Vector or Complex modes.
12033         (simplify_comparison): Don't call trunc_int_for_mode
12034         for VOIDmode.
12035         * recog.c (general_operand): Likewise.
12036         (immediate_operand): Likewise.
12037         (nonmemory_operand): Likewise.
12038
12039 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12040
12041         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12042         multi-instruction SImode constant.  Add REG_EQUAL note.
12043         * config/rs6000/rs6000.md (movsi splitter): Use
12044         rs6000_emit_set_const.
12045
12046 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12047
12048         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12049         the macro test controlling its use.
12050
12051 2002-08-18  H.J. Lu  (hjl@gnu.org)
12052
12053         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12054         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12055         gnu_ld=yes.
12056         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12057         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12058         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12059         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12060         here.
12061         (cris-*-linux*): Remove setting thread_file here.
12062
12063 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12064
12065         PR preprocessor/7602
12066         * cppinit.c (path_include): Treat the system environment
12067         variables as being cxx_aware.
12068
12069 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12070
12071         * c-decl.c (flexible_array_type_p): New function.
12072         (grokdeclarator, finish_struct): Use it.
12073         * doc/extend.texi: Document constraints on use of structures with
12074         flexible array members.
12075
12076 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12077
12078         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12079         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12080         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12081
12082 2002-08-16  Stan Shebs  <shebs@apple.com>
12083
12084         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12085         for ObjC with -fnext-runtime.
12086         * doc/cpp.texi: Document it.
12087
12088 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12089
12090         * doc/install.texi (Final installation): Replace links to individual
12091         build status pages with a link to a common page that lists them all.
12092
12093 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12094
12095         * doc/invoke.texi: Fix typo.
12096
12097 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12098
12099         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12100
12101 2002-08-16  Andrew Haley  <aph@redhat.com>
12102
12103         * tree-inline.c: Add includes for Java inliner.
12104         (remap_decl): Don't handle anonymous types for Java.
12105         (remap_block): Add handling for Java trees.
12106         (copy_scope_stmt): Conditionalize for non-Java use only.
12107         (copy_body_r): Handle Java trees.  Add handling for
12108         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12109         (initialize_inlined_parameters):  Handle Java trees.
12110         (declare_return_variable): Likewise.
12111         (expand_call_inline): Handle Java trees.
12112         (walk_tree): Likewise.
12113         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12114         (add_stmt_to_compound): New function.
12115
12116 2002-08-15  Richard Henderson  <rth@redhat.com>
12117
12118         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12119         (NOCOMMON_FLAG): New substitution point.
12120         (GCC_WARN_CFLAGS): Include it.
12121         * configure.in (ac_checking): Set nocommon_flag.
12122         (nocommon_flag): New substitution point.
12123
12124 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12125
12126         * c-tree.h (skip_evaluation): Move declaration...
12127         * c-common.h: ... here.
12128         * c-typeck.c (build_external_ref): Don't assemble_external nor
12129         mark a tree as used if skip_evaluation is set.
12130         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12131         around TYPEOF.
12132         (typespec_nonreserved_nonattr): Use it.
12133
12134 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12135
12136         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12137         (xcoff_debug_hooks): Update end_prologue.
12138         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12139         * debug.h (end_prologue): Add file arg.
12140         (end_epilogue): Add line and file args.
12141         (dwarf2out_end_epilogue): Add line and file args.
12142         (vmsdbgout_after_prologue): Remove.
12143         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12144         (dwarf2_debug_hooks): Update end_prologue.
12145         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12146         (dwarfout_end_prologue): Add file arg.
12147         * final.c (vmsdbgout_after_prologue): Remove
12148         (final_end_function): Update end_epilogue call.
12149         (final_scan_insn): Update end_prologue call.
12150         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12151         (sdbout_end_prologue): Add file arg.
12152         (sdb_debug_hooks): Update end_prologue.
12153         (sdb_begin_prologue): Update sdbout_end_prologue call.
12154         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12155         vmsdbgout_end_function.
12156         (vmsdbgout_end_prologue): New function renamed from
12157         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12158         (vmsdbgout_end_function): New function.
12159         (vmsdbgout_end_epilogue): Add line and file args. Call
12160         vmsdbgout_source_line.
12161         (write_pclines): Write only valid line numbers.
12162         (write_srccorr): Don't write source correlation records if 0 lines.
12163         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12164
12165 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12166
12167         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12168         (_Unwind_Internal_Ptr): 32 bit version for use in
12169         read_encoded_value_with_base.
12170         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12171         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12172         right size.
12173
12174 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12175
12176         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12177         signed/unsigned warnings.
12178
12179         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12180         record_reg_classes): Likewise.
12181
12182         * reload.c (reload_inner_reg_of_subreg, push_reload,
12183         find_reloads_address_1): Likewise.
12184
12185 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12186
12187         * rs6000.c (output_mi_thunk): Return to function section on
12188         TARGET_ELF.
12189
12190         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12191
12192 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12193
12194         * config/s390/s390.c (legitimize_address): Optimize loading
12195         of large displacements.
12196
12197 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12198
12199         * config/alpha/alpha-protos.h: Update.
12200
12201         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12202         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12203         (alpha_linkage_symbol_p): New static function.
12204         (print_operand_address): Print linkage operand.
12205
12206         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12207         variables.
12208         (reloc_kind): New enum.
12209         (struct alpha_funcs): New struct.
12210         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12211
12212         (alpha_need_linkage): Rewrite.
12213         (alpha_use_linkage): New global function.
12214         (alpha_write_linkage): Rewrite and make static.
12215         (alpha_write_one_linkage): Rewrite
12216
12217         (alpha_start_function): Remove procedure descriptor output.
12218         (alpha_end_function): Write linkages at end of each function.
12219
12220         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12221         (call_vms_1, call_value_vms_1): Rewrite.
12222
12223         * config/alpha/vms.h (ASM_FILE_END): Remove.
12224
12225 2002-08-14  Richard Henderson  <rth@redhat.com>
12226
12227         * ggc-page.c (RTL_SIZE): New.
12228         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12229         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12230
12231 2002-08-14  Richard Henderson  <rth@redhat.com>
12232
12233         * calls.c: Include target.h.
12234         * Makefile.in (calls.o): Update.
12235
12236         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12237         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12238
12239 2002-08-14  Richard Henderson  <rth@redhat.com>
12240
12241         * Makefile.in (LOOSE_WARN): Add -fno-common.
12242         * c-common.h (constant_string_class_name): Add missing extern.
12243
12244 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12245
12246         PR preprocessor/7358
12247         * c-opts.c (check_deps_environment_vars): Ignore main file
12248         for SUNPRO_DEPENDENCIES.
12249         * cppfiles.c (stack_include_file): Ignore main file if
12250         appropriate.
12251         * cpplib.h (struct cpp_options): New member in deps.
12252         * doc/cppenv.texi: Update.
12253
12254 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12255
12256         PR preprocessor/7526
12257         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12258
12259 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12260
12261         * doc/invoke.texi (-a): Remove documentation.
12262         (-fprofile-arcs): Remove reference to -a, -ax options.
12263         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12264
12265 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12266
12267         Fix PR/7566
12268         * c-semantics.c (genrtl_case_label): Don't (mis)use
12269         warning_with_decl.
12270
12271 2002-08-14  Dale Johannesen  <dalej@apple.com>
12272
12273         * explow.c (emit_stack_restore):  Emit memory clobbers
12274         preceding the stack pop, to prevent the scheduler from
12275         moving refs to variable arrays below this pop.
12276         * reload1.c (reload):  Preserve these clobbers for sched2.
12277         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12278
12279 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12280
12281         * c-opts.c (c_common_post_options): Correct test.
12282
12283 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12284
12285         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12286         order in call to fprintf.
12287
12288 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12289
12290         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12291
12292 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12293
12294         * reload.c (find_reloads): Handle constraint letters marked by
12295         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12296         (alternative_allows_memconst): Likewise.
12297         * reload1.c (maybe_fix_stack_asms): Likewise.
12298         * recog.c (asm_operand_ok, preprocess_constraints,
12299         constrain_operands): Likewise.
12300         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12301         * local-alloc.c (block_alloc, requires_inout): Likewise.
12302         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12303
12304         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12305         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12306         * doc/tm.texi: Document these two new target macros.
12307
12308         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12309         valid operands.
12310         (q_constraint): New function.
12311         config/s390/s390-protos.h (q_constraint): Declare it.
12312         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12313         (EXTRA_MEMORY_CONSTRAINT): New macro.
12314
12315         * config/s390/s390.md: Throughout the machine description,
12316         replace all instances of the constraint combinations 'Qo'
12317         or 'oQ' with simply 'Q'.
12318
12319 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12320
12321         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12322         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12323         (LIBGCC2_CFLAGS): Compile with -mrelax.
12324
12325 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12326
12327         * doc/invoke.texi: Document -minmax for 68HC12.
12328
12329         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12330         ("uminqi3"): Likewise.
12331         ("uminhi3", "umaxhi3"): Likewise.
12332
12333         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12334         (TARGET_MIN_MAX): Define.
12335         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12336
12337 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12338
12339         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12340         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12341
12342         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12343         (ret, declare, farsym): New gas macros.
12344         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12345         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12346         and declare the symbol far when compiled with -mlong-calls.
12347         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12348         far handler using jsr/bsr.
12349
12350         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12351         (jsr): New macro to transform a 'jsr' into a 'call'.
12352
12353 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12354
12355         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12356
12357         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12358         -mlong-calls is specified.
12359         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12360         assembler directives.
12361         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12362         (TARGET_SWITCHES): Add -mlong-calls options.
12363         (current_function_far): Declare.
12364
12365         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12366         into account the page register saved on the stack.
12367         (m68hc11_override_options): Take into account -mlong-calls option.
12368         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12369
12370         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12371         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12372         ("*return_16bit"): Likewise.
12373         ("*return_void"): Likewise.
12374         ("call", "call_value"): Use call for a far function call.
12375
12376 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12377
12378         * toplev.c (parse_options_and_default_flags): Don't call
12379         post_options here.
12380         (general_init): Initialize GC, pools and tree hash here,
12381         instead of lang_independent_init.
12382         (lang_independent_init): Rename backend_init.
12383         (do_compile): Call post_options hook; exit early if there
12384         have been errors after switch processing.
12385         (toplev_main): Update.
12386
12387 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12388
12389         * c-pretty-print.h: Guard against multiple inclusion.
12390         Robustify macros.
12391         (pp_c_attributes): Declare.
12392         * c-pretty-print.c (pp_c_attributes): New function.
12393
12394 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12395
12396         * m68k.c (m68k_output_function_prologue,
12397         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12398         and NEWS/MOTOROLA.
12399         * genattrtab.c: Remove dpx2 comment.
12400         * libgcc2.c (__enable_execute_stack): Delete versions for
12401         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12402         sony_news/SYSTYPE_BSD.
12403         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12404         __gmicro__, __i860__, __NeXT__ and __pyr__.
12405         * rtl.h: Remove convex comment.
12406         * varasm.c: Likewise.
12407
12408 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12409
12410         * c-opts.c (lang_flags): Const-ify.
12411         * ra-build.c (undef_table): Likewise.
12412         * ra.c (eliminables): Likewise.
12413
12414 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12415
12416         * tree.h: Guard against multiple inclusion.
12417
12418 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12419
12420         * reload1.c (reload_cse_simplify): Before checking
12421         REG_FUNCTION_VALUE_P, check REG_P.
12422
12423 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12424
12425         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12426
12427 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12428
12429         * c-opts.c (c_common_init_options): Extra braces needed.
12430
12431 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12432
12433         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12434         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12435         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12436         (sh_expand_binop_v2sf): Likewise.
12437         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12438         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12439         (sh_initialize_trampoline): Likewise.
12440
12441 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12442
12443         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12444         new condition code modes.
12445         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12446         (s390_select_ccmode): Likewise.
12447         (s390_branch_condition_mask): Likewise.
12448
12449         * s390-protos.h (s390_tm_ccmode): Declare.
12450         s390.c (s390_tm_ccmode): New function.
12451         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12452
12453         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12454         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12455         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12456
12457         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12458         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12459         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12460         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12461         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12462
12463         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12464         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12465         "*cmpqi_ccs_0"): Remove, replace by ...
12466         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12467         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12468         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12469
12470         ("*cmpsidi_ccs"): Remove, replace by ...
12471         ("*cmpsi_ccs_sign"): ... this new pattern.
12472         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12473
12474         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12475         ("*cli"): ... this new pattern.
12476
12477         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12478         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12479         New patterns.
12480         ("adddi3_64"): Rename to "*adddi3_64".
12481         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12482         ("adddi3"): Adapt expander.
12483
12484         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12485         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12486         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12487
12488         ("addhi3", "addqi3"): Remove, replace by ...
12489         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12490
12491         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12492         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12493         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12494         ("subdi3"): New expander.
12495
12496         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12497
12498         ("subhi3", "subqi3"): Remove, replace by ...
12499         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12500
12501         ("*muldi3_sign"): New pattern.
12502         ("muldi3"): Do not clobber CC.
12503         ("mulsi3"): Likewise.
12504         ("mulsi_6432"): Likewise.
12505
12506 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12507
12508         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12509         which can change CC0.
12510
12511 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12512
12513         * gcse.c (adjust_libcall_notes): New function.
12514         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12515
12516 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12517
12518         * libgcc2.c (L_bb): Remove unneeded #includes.
12519         (__global_counters, __gthreads_active): Remove unused globals.
12520         (__bb_exit_func): Merge counts into files rather than appending.
12521         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12522         (ALL_CFLAGS): ... to here.
12523
12524 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12525
12526         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12527         (function_epilogue): Don't calculate function size.
12528         (ip2k_set_compare): Don't use lookup_const_double.
12529         (asm_file_start): Initialization of commands_in_file removed.
12530         (asm_file_end): Output of commands_in_file removed.
12531
12532         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12533         __INT_MAX__.
12534
12535 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12536
12537         * c-opts.c (c_common_init_options): Check option array is
12538         sorted if checking enabled.
12539
12540 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12541
12542         * c-pretty-print.c: #include "c-tree.h".
12543         (pp_c_simple_type_specifier): Tweak.
12544         (pp_c_storage_class_specifier): New.
12545         (pp_c_function_specifier): Likewise.
12546         (pp_c_declaration_specifiers): Likewise.
12547         (pp_c_init_declarator): Likewise.
12548         (pp_c_declaration): Likewise.
12549         (pp_c_direct_declarator): Stub.
12550         (pp_c_declarator): Likewise.
12551         (pp_c_parameter_declaration): Likewise.
12552
12553 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12554
12555         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12556         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12557         struct deferred_opt): New.
12558         (COMMAND_LINE_OPTIONS): Add -M*.
12559         (missing_arg): Update.
12560         (c_common_decode_option): Handle -M*.
12561         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12562         don't call cpp_post_options.
12563         (c_common_finish, check_deps_environment_vars): Update.
12564         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12565         * cpphash.h (CPP_PRINT_DEPS): Remove.
12566         * cppinit.c: Don't include version.h.
12567         (cpp_create_reader): Don't call deps_init.  Initialize
12568         warn_long_long.
12569         (cpp_read_main_file): Init deps if necessary.
12570         (cpp_destroy): Conditionally free deps.
12571         (cpp_finish): Update.
12572         (no_tgt): Remove.
12573         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12574         (cpp_post_options): Rename post_options.
12575         * cpplib.h (struct cpp_options): Remove some dependency options;
12576         move others to a new structure.
12577         (cpp_post_options): Remove.
12578         (cpp_finish): Comment.
12579         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12580
12581 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12582
12583         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12584         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12585         MMIX_rR_REGNUM as clobbered.
12586         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12587
12588 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12589
12590         * diagnostic.h (output_formatted_scalar): Rename from
12591         output_formatted_integer.
12592         * diagnostic.def: Add DK_DEBUG.
12593         * diagnostic.c (output_decimal): Adjust.
12594         (output_long_decimal): Likewise.
12595         (output_unsigned_decimal): Likewise.
12596         (output_octal): Likewise.
12597         (output_long_octal): Likewise.
12598         (output_hexadecimal): Likewise.
12599         (output_long_hexadecimal): Likewise.
12600         * c-pretty-print.c (pp_c_type_specifier): New function.
12601         (pp_c_specifier_qualifier_list): Likewise.
12602         (pp_c_abstract_declarator): Likewise.
12603         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12604
12605 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12606
12607         * doc/trouble.texi (Disappointments): Add static constructor and
12608         destructor dependency information for AIX.
12609
12610 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12611
12612         * cpphash.h (struct printer): New from cppmain.c.
12613         (cpp_reader): New member.
12614         * cppmain.c (struct printer): Move to cpphash.h.
12615         (options, print): Remove.
12616         (account_for_newlines, print_line, maybe_print_line,
12617         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12618         scan_translation_unit_trad, cb_line_change, cb_ident,
12619         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12620         cb_def_pragma): Make reentrant.
12621
12622 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12623
12624         * real.c (ieee_64): Always define.
12625         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12626         (dec_h): Not used yet, hide it.
12627         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12628         macro controlling use.
12629         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12630
12631 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12632
12633         * i386.md (tablejump): Sign extend the operand.
12634         * i386.c (classify_argument): Fix missed case from previous patch.
12635
12636 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12637
12638         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12639         to c-copts.c.
12640         (warn_multichar): Die.
12641         (cb_register_builtins): Export.
12642         * c-common.h (warn_multichar, preprocess_file): Remove.
12643         (cb_register_builtins): New.
12644         * c-lang.c (c_init): Remove.
12645         (LANG_HOOKS_INIT): Use c_objc_common_init.
12646         * c-lex.c (init_c_lex): Don't canonicalize filename.
12647         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12648         (preprocess_file): Make static.  Update for cpplib.
12649         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12650         (c_common_post_options): Set some cpp options here.
12651         (c_common_init): Move from c-common.c.
12652         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12653         * cpplib.h (struct cpp_options): Remove in_fname.
12654         (cpp_preprocess_file): Update.
12655         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12656
12657 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12658
12659         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12660
12661 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12662
12663         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12664         backslash in comment preceeding macro definition.
12665         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12666         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12667         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12668
12669 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12670
12671         * expr.c (store_expr): In condition for checking if value is
12672         generated in TARGET, move call to expr_size last.
12673
12674 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12675
12676         * c-common.c (c_common_init): Call preprocess_file instead.
12677         (c_common_finish): Move to c-opts.c.
12678         * c-common.h (preprocess_file): new.
12679         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12680         check_deps_environment_vars, c_common_finish): New.
12681         (c_common_decode_option): Update for out_fname and dependencies.
12682         * cppinit.c (init_dependency_output, output_deps): Remove.
12683         (cpp_destroy): Update prototype.
12684         (cpp_add_dependency_target): New.
12685         (cpp_read_main_file): Don't overlay a buffer.
12686         (cpp_finish): Take a deps output stream and write deps to it.
12687         Return the error count.
12688         (cpp_post_options): Don't canonicalize out_fname, or do anything
12689         with dependencies.
12690         * cpplib.h (struct cpp_options): Remove out_fname and
12691         preprocess_only.
12692         (cpp_add_dependency_target): New.
12693         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12694         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12695         set preprocess_only.  Don't handle the output stream directly.
12696
12697 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12698
12699         * dsp16xx.c (print_operand): Fix format specifier.
12700         * dsp16xx.md: Avoid automatic aggregate initialization.
12701         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12702         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12703         integer constant modifier.
12704         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12705         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12706         guards.
12707         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12708         * v850.c (v850_select_section): Mark parameter with
12709         ATTRIBUTE_UNUSED.
12710         * global.c (global_alloc): Const-ify.
12711         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12712
12713 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12714
12715         * darwin-c.c (darwin_pragma_options): Const-ify.
12716         * darwin.c (machopic_non_lazy_ptr_name,
12717         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12718         (machopic_indirect_data_reference): Wrap variables in macros
12719         controlling their use.
12720         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12721         (machopic_select_section): Use parentheses around && within ||.
12722         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12723
12724 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12725
12726         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12727         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12728         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12729         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12730         mdr_try_remove_redundant_insns, track_w_reload,
12731         mdr_try_wreg_elim): Make function static to match prototype.
12732         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12733         parameter with ATTRIBUTE_UNUSED.
12734
12735 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12736
12737         * arc.c (arc_init): Don't use ISO C style function definitions.
12738         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12739         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12740         * avr.h (progmem_section): Likewise.
12741         * h8300.c h8300_asm_insn_count): Likewise.
12742         * m32r.c (init_idents): Likewise.
12743         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12744         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12745         * xtensa.c (xtensa_build_va_list): Likewise.
12746
12747 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12748
12749         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12750         * c-opts.c (parse_option): Rename find_opt.
12751         (set_std_c99): New function.
12752         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12753         (missing_arg): Remove OPT_std_bad.  Handle -o.
12754         (c_common_decode_option): Handle input and output file names,
12755         -o and -remap.  Clean up -std= handling.
12756         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12757         (cpp_handle_option): Similarly.  Don't handle filenames.
12758
12759 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12760
12761         * i386.c (classify_argument): Fix computing of field's offsets.
12762
12763 2002-08-11  Andreas Jaeger  <aj@suse.de>
12764
12765         PR target/7531:
12766         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12767
12768 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12769
12770         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12771         reference to clk_objective_c with flag_objc.
12772         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12773         Likewise.
12774         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12775
12776 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12777
12778         * c-opts.c (set_std_cxx98, set_std_c89): New.
12779         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12780         (c_common_decode_option): Handle new switches from cppinit.c.
12781         Add -std=gnu++98.
12782         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12783         (no_arg, no_num): Remove.
12784         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12785         switches apart from -lang-objc and lang-asm.
12786         (cpp_handle_option): Similarly.
12787         * cpplib.h (cpp_set_lang): New.
12788         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12789         -std=gnu++98.
12790         * objc/lang-specs.h: Remove -ansi.
12791
12792 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12793                                Graham Stott
12794
12795         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12796         errors.
12797
12798 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12799
12800         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12801         emit_jump_insn): Fix uninitialized variable.
12802         * gcov.c (init_line_info): Likewise.
12803         * genautomata.c (transform_3): Add braces around ambiguous
12804         else.
12805         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12806         ATTRIBUTE_UNUSED.
12807         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12808         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12809         variable.
12810
12811         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12812         warnings in output files.
12813
12814 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12815
12816         * c-common.c (flag_objc): New.
12817         * c-common.h (c_language_kind): Get rid of clk_objective_c
12818         enum value.
12819         (flag_objc): New extern declaration.
12820         * c-decl.c (implicitly_declare): Call objc_check_decl
12821         instead of maybe_objc_check_decl.
12822         (finish_decl): Likewise.
12823         (grokfield): Likewise.
12824         (finish_struct): Likewise.
12825         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12826         (maybe_objc_comptypes): Rename to objc_comptypes.
12827         (maybe_building_objc_message_expr): Rename to
12828         objc_message_selector.
12829         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12830         replace with flag_objc as needed.
12831         * c-opts.c (c_common_init_options): Likewise.
12832         (c_common_decode_option): Likewise.
12833         * c-parse.in (init_reswords): Likewise.
12834         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12835         (maybe_objc_comptypes): Rename to objc_comptypes.
12836         (maybe_building_objc_message_expr): Rename to
12837         objc_message_selector.
12838         * c-typeck.c (comptypes): Call objc_comptypes instead of
12839         maybe_objc_comptypes, and/or objc_message_selector instead of
12840         maybe_building_objc_message_expr.
12841         (comp_target_types): Likewise.
12842         (convert_for_assignment): Likewise.
12843         (warn_for_assignment): Likewise.
12844         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12845         independently of those for other languages.
12846         * objc/objc-act.c (maybe_objc_comptypes): Delete.
12847         (maybe_objc_check_decl): Delete.
12848         (maybe_building_objc_message_expr): Rename to
12849         objc_message_selector.
12850         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12851         clk_objective_c; set flag_objc flag.
12852
12853 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12854
12855         * ifcvt.c (find_if_case_2): Test correct basic block for size.
12856
12857 2002-08-09  Dale Johannesen  <dalej@apple.com>
12858
12859         * config/rs6000/rs6000.md: Add sibcall patterns.
12860         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
12861         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
12862         Rewritten to handle sibcalls.
12863         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
12864         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
12865
12866 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12867
12868         * profile.c (da_file_name): New static var.
12869         (init_branch_prob): Initialize it.
12870         (end_branch_prob): Remove da file.
12871
12872         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
12873         * configure.in (coverage_flags): Default to nothing.
12874         * configure: Rebuilt.
12875
12876 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
12877
12878         * Makefile.in (c-opts.o): Update
12879         * c-opts.c: Include intl.h.
12880         (print_help): Move from cppinit.c.  Remove unused options.
12881         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12882         (missing_arg): Complain for switches without an argument.
12883         (c_common_decode_option): Reject missing joined arguments.
12884         Handle new switches from cppinit.c.
12885         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12886         (cpp_handle_option): Similarly.
12887         (print_help): Moved to c-opts.c.
12888         * cpplib.h (struct cpp_options): Remove help_only.
12889         * gcc.c (cpp_unique_options): Remove -$.
12890         * doc/cppopts.texi: Undocument -h.
12891
12892 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12893
12894         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
12895         legitimate constant.
12896         (legitimate_pic_operand_p): Neither pic operand.
12897         (legitimate_address_p): But legitimate address.
12898         (get_thread_pointer): Generate MEM/u instead of CONST around
12899         UNSPEC_TP.
12900         (print_operand): Remove printing of UNSPEC_TP.
12901         (print_operand_address): And print it here.
12902
12903 2002-08-08  Devang Patel  <dpatel@apple.com>
12904
12905         * objc/objc-act.c (build_selector_translation_table): Issue warning,
12906         when  -Wselector is used,if method for which selector is being
12907         created does not exist.
12908
12909 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
12910
12911         * config/sh/sh.c (prepare_move_operands): Only call
12912         target_reg_operand if TARGET_SHMEDIA.
12913
12914 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12915
12916         * config/rs6000/rs6000.h, config/rs6000/aix.h,
12917         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
12918         two patches.
12919         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
12920
12921 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
12922             Richard Henderson  <rth@redhat.com>
12923
12924         * emit-rtl.c (gen_rtx_REG): After reload, only return
12925         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
12926
12927 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12928
12929         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
12930         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
12931         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
12932         macro.
12933
12934 2002-08-08  Adam Nemet  <anemet@lnxw.com>
12935
12936         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
12937         register.
12938         (thumb_expand_prologue): Likewise.
12939         (thumb_output_function_prologue): Likewise.
12940         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
12941         the additional push of the PIC register.
12942
12943 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12944
12945         * configure.in (enable_coverage): New enable switch.
12946         * configure: Rebuilt.
12947         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
12948         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
12949         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
12950         (mostlyclean): Remove coverage files.
12951         * doc/install.texi: Document enable_coverage.
12952
12953         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
12954         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12955         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
12956         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
12957         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
12958         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
12959         files.
12960
12961 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
12962
12963         * c-opts.c (cpp_opts): New.
12964         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
12965         (c_common_decode_options): Handle cpplib switches.
12966         (c_common_init_options): Set cpp_opts.
12967         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12968         (cpp_handle_option): Similarly.
12969
12970 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
12971
12972         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
12973         (TARGET_ALTIVEC_ABI): Same.
12974         (TARGET_ALTIVEC_VRSAVE): Same.
12975
12976         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
12977         icode not CODE_FOR_nothing.  Change switch to if.
12978
12979 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
12980
12981         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
12982
12983 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12984
12985         * stor-layout.c (place_union_field): For bitfields if
12986         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
12987         TYPE_USER_ALIGN.
12988
12989 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12990
12991         * pa.c (struct deferred_plabel): Constify name field.
12992
12993 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
12994
12995         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
12996
12997 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12998
12999         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13000         local_prefix are the same.
13001         * configure: Rebuilt.
13002
13003 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13004             Richard Henderson  <rth@redhat.com>
13005
13006         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13007         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13008         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13009         (place_field): Likewise.
13010         * config/i386/i386.c (x86_field_alignment): Don't check
13011         DECL_USER_ALIGN here.
13012         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13013         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13014         prototype.
13015         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13016         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13017         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13018         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13019         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13020         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13021
13022 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13023
13024         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13025         * c-common.c: Don't include tree-inline.h.
13026         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13027         * c-common.h (c_common_decode_option): New.
13028         * c-decl.c (c_decode_option): Remove.
13029         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13030         * c-opts.c: New file.
13031         * c-tree.h (c_decode_option): Remove.
13032         * doc/passes.texi: Update.
13033         * objc/objc-act.c (objc_decode_option): Remove.
13034         * objc/objc-act.h (objc_decode_option): Remove.
13035         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13036         c_common_decode_option.
13037
13038 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13039
13040         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13041         dependency on TARGET_DOUBLE_FLOAT.
13042
13043 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13044
13045         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13046         overwrite callee-save registers.  Fix comment.
13047
13048 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13049
13050         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13051         in target_flags based on ISA, if it was not set on the command
13052         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13053         support Branch Likely instructions.
13054         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13055         (TARGET_BRANCHLIKELY): Likewise.
13056         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13057         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13058         ISA_HAS_BRANCHLIKELY.
13059         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13060         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13061         -mno-branch-likely options.
13062
13063 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13064
13065         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13066
13067         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13068         $(GCONFIG_H).
13069
13070 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13071
13072         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13073         declarations.
13074
13075         * testsuite/gcc.dg/tls/diag-3.c: New.
13076
13077 2002-08-06  Dale Johannesen  <dalej@apple.com>
13078
13079         * c-common.c (fname_decl): Use line number 0 for
13080         __func__, to avoid confusing debuggers.
13081
13082 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13083
13084         * gcov.c: Tidy.
13085         (struct line_info, struct coverage): New structures.
13086         (gcov_file_name, gcov_file): Remove globals.
13087         (output_data): Take source file parameter. Fix memory leak. Break
13088         up into ...
13089         (init_line_info, output_line_info, make_gcov_file_name,
13090         accumulate_branch_counts): ... here.
13091         (calculate_branch_probs, function_summary): Adjust.
13092         (main): Adjust.
13093         (function_*): Remove global variables.
13094
13095 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13096
13097         * dwarf2out.c: Remove unused macros.
13098
13099 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13100
13101         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13102
13103 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13104
13105         * cppinit.c (struct lang_flags): Rename trigraphs std.
13106         (set_lang): Update.
13107         * cpplib.h (struct cpp_options): New member std.
13108         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13109         (collect_args): Flag whether to swallow a possible future
13110         comma pasted with varargs.
13111         (replace_args): Use this flag.
13112         * doc/cpp.texi: Update varargs extension documentation.
13113
13114 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13115
13116         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13117
13118 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13119
13120         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13121         and MODE_CLASS_INT modes.
13122
13123 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13124
13125         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13126         --{enable,disable}-threads is given to configure.
13127         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13128         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13129         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13130         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13131         Remove thread_file setting here.
13132
13133 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13134
13135         * doc/install.texi (Binaries): Update Bull Freeware URL.
13136
13137 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13138
13139         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13140
13141 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13142
13143         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13144
13145 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13146
13147         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13148         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13149
13150 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13151
13152         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13153         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13154         drectve_section): Define.
13155         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13156         * config/i386/interix.c: Remove.
13157
13158 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13159
13160         * attribs.c: Don't include obstack.h.
13161         * builtins.c: Likewise.
13162         * cfganal.c: Likewise.
13163         * cfgbuild.c: Likewise.
13164         * cfgcleanup.c: Likewise.
13165         * emit-rtl.c: Likewise.
13166         * loop.c: Likewise.
13167         * stmt.c: Likewise.
13168
13169         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13170
13171 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13172
13173         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13174
13175 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13176
13177         * doc/invoke.texi: Remove duplicated paragraph describing
13178         TARGET_SWITCHES.
13179
13180 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13181
13182         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13183         * collect2.h (permanent_obstack): Delete declaration.
13184         * collect2.c (permanent_obstack): Delete definition.
13185         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13186         * expr.c: Don't include obstack.h.
13187         (permanent_obstack): Delete declaration.
13188         * function.c: Don't include obstack.h.
13189         (permanent_obstack): Delete declaration.
13190         * integrate.c: Don't include obstack.h.
13191         (function_maybepermanent_obstack): Delete declaration.
13192         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13193         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13194         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13195         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13196         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13197         of permalloc, expralloc, perm_calloc.
13198         * tree.c (permanent_obstack): Delete definition.
13199         (init_ttree): Rename from init_obstacks.
13200         (permalloc): Delete.
13201         (perm_calloc): Delete.
13202         (dump_tree_statistics): Don't print information about
13203         permanent_obstack.
13204         * varasm.c (assemble_start_function): Use xstrdup instead of
13205         permalloc/strcpy.
13206         (assemble_variable): Likewise.
13207         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13208         permalloc.
13209         (unicosmk_add_extern): Likewise.
13210         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13211         (c4x_global_label): Likewise.
13212         * config/frv/frv.c (frv_encode_section_info): Likewise.
13213         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13214         (i386_pe_record_exported_symbol): Likewise.
13215         * config/mips/mips.c (mips_output_external): Likewise.
13216         (mips_output_external_libcall): Likewise.
13217         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13218         (output_call): Use ggc_strdup instead of allocating on
13219         permanent_obstack.
13220         * config/romp/romp.c: Include ggc.h.
13221         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13222         intead of permanent_obstack.
13223         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13224         instead of permalloc.
13225         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13226         instead of permalloc
13227         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13228         instead of permalloc.
13229         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13230         permalloc.
13231
13232 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13233
13234         Contribute a port developed primarily by Michael Meissner,
13235         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13236         * config.gcc: Add frv-elf target.
13237         * config/frv/cmovd.c: New file.
13238         * config/frv/cmovh.c: New file.
13239         * config/frv/cmovw.c: New file.
13240         * config/frv/frv-abi.h: New file.
13241         * config/frv/frv-asm.h: New file.
13242         * config/frv/frv-modes.def: New file.
13243         * config/frv/frv-protos.h: New file.
13244         * config/frv/frv.c: New file.
13245         * config/frv/frv.h: New file.
13246         * config/frv/frv.md: New file.
13247         * config/frv/frvbegin.c: New file.
13248         * config/frv/frvend.c: New file.
13249         * config/frv/lib1funcs.asm: New file.
13250         * config/frv/media.h: New file.
13251         * config/frv/modi.c: New file.
13252         * config/frv/t-frv: New file.
13253         * config/frv/uitod.c: New file.
13254         * config/frv/uitof.c: New file.
13255         * config/frv/ulltod.c: New file.
13256         * config/frv/ulltof.c: New file.
13257         * config/frv/umodi.c: New file.
13258         * config/frv/xm-frv.h: New file.
13259
13260         * config/frv/media.h: Removed again.
13261
13262 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13263
13264         * gcov.c (bb_file_time): New static variable.
13265         (object_directory): May also be object file.
13266         (preserve_paths): New static variable.
13267         (print_usage): Adjust.
13268         (options): Adjust.
13269         (process_args): Adjust.
13270         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13271         file. Find modification date on bb file.
13272         (read_profile): Don't rewind a NULL file.
13273         (format_hwint): New static function.
13274         (function_summary): Use format_hwint.
13275         (output_data): SOURCE_FILE_NAME is never relative to
13276         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13277         mangling. Adjust output format to make it more machine readable.
13278         * doc/gcov.texi: Document & clarify semantics.
13279
13280 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13281
13282         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13283
13284 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13285
13286         * gcc.c (cc1_options): Pass output file as auxbase when
13287         appropriate.
13288         * profile.c (init_branch_prob): FILENAME has already had ending
13289         stripped.
13290         * final.c (end_final): Likewise.
13291         * toplev.c (aux_base_name): New global.
13292         (compile_file): Pass aux_base_name to init init_branch_prob and
13293         end_final.
13294         (independent_decode_option, case 'a'): New auxinfo options.
13295         (case 'd'): Protect against mising basename.
13296         (do_compile): Initialize aux_base_name.
13297         * toplev.h (aux_base_name): New global.
13298         * doc/invoke.texi: Adjust documentation.
13299
13300 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13301
13302         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13303         of TARGET_ALIGN_DOUBLE.
13304
13305 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13306
13307         * diagnostic.c (inform): New function.
13308         * diagnostic.h (inform): Declare.
13309
13310 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13311
13312         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13313         (movhi_internal): Same.
13314         (movqi_internal): Same.
13315         (movdi_internal64): Same.
13316
13317         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13318
13319         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13320         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13321         (COMMON_ASM_OP): Define.
13322         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13323         Use ALIGN parameter.
13324         (LOCAL_COMMON_ASM_OP): Define.
13325         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13326
13327 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13328
13329         * builtins.def: Define new builtin functions exp, expf, expl,
13330         log, logf and logl (and their __builtin_* variants).
13331         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13332         Define exp_optab and log_optab.
13333         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13334         * genopinit.c (optabs): Implement exp_optab and log_optab
13335         using exp?f2 and log?f2 patterns.
13336         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13337         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13338         (expand_builtin): Ignore the new builtins (and all cos and
13339         sin variants) when not optimizing.  Expand new builtins via
13340         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13341
13342         * doc/extend.texi: Document new exp and log builtins.
13343         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13344         (and previously undocumented cos?f2 and sin?f2 patterns).
13345
13346 2002-08-03  Jason Merrill  <jason@redhat.com>
13347
13348         * explow.c (int_expr_size): New fn.
13349         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13350         * expr.h: Declare it.
13351
13352 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13353
13354         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13355         gengtype-* dependencies.
13356
13357 2002-08-02  Eric Christopher  <echristo@redhat.com>
13358
13359         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13360         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13361         #ifndef to #undef.
13362         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13363
13364 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13365
13366         PR optimize/7067
13367         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13368         small if optimizing for size.
13369
13370 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13371
13372         * configure.in (FORBUILD): Use $build_alias.
13373         * configure: Regenerated.
13374
13375 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13376
13377         * config.gcc: Don't include mips/abi64.h in $tm_file.
13378         * hard-reg-set.h (call_really_used_regs): Declare.
13379         * config/mips/abi64.h: Remove file.
13380         * config/mips/linux.h,
13381         * config/mips/iris6.h: Don't include it.
13382         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13383         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13384         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13385         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13386         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13387         Bring across definitions from abi64.h.
13388         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13389         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13390         (struct mips_args): Use it.
13391         * config/mips/mips.c (mips_conditional_register_usage): Define.
13392
13393 2002-08-02  Jason Merrill  <jason@redhat.com>
13394
13395         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13396         * langhooks.c (lhd_expr_size): Define default.
13397         * langhooks.h (struct lang_hooks): Add expr_size.
13398         * explow.c (expr_size): Call it.
13399         * expr.c (store_expr): Don't copy an expression of size zero.
13400         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13401         to store.
13402         * Makefile.in (builtins.o): Depend on langhooks.h.
13403
13404 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13405
13406         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13407         * ra-debug.c: Include "tm_p.h".
13408         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13409
13410 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13411
13412         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13413         when not honoring signalling NaNs.
13414         (simplify_ternary_operation): a == b has a definite value
13415         when not honoring NaNs.
13416
13417 2002-08-02  Jason Merrill  <jason@redhat.com>
13418
13419         * gdbinit.in (pct): New macro.
13420
13421 2002-08-01  Stan Shebs  <shebs@apple.com>
13422             Andreas Tobler  <toa@pop.agri.ch>
13423
13424         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13425         plays nice with Darwin headers.
13426         (_BSD_RUNE_T_DEFINED_): Likewise.
13427
13428 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13429
13430         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13431         * cppinit.c (cpp_post_options): Likewise.
13432
13433         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13434         warning about 'LL' suffix (but not 'ULL' etc) when
13435         -Wno-long-long is in effect.
13436
13437         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13438         Check for failing time()/localtime(), issue a warning, and
13439         make __TIME__ and __DATE__ expand to fallback strings.
13440
13441         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13442         and __TIME__ when the date and time cannot be determined.
13443
13444 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13445
13446         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13447
13448 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13449
13450         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13451
13452 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13453
13454         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13455         (mipsisa64sb1el-*-elf*): Likewise.
13456         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13457         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13458         (TARGET_SB1, TUNE_SB1): New macros.
13459         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13460         -mtune flags.
13461
13462 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13463
13464         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13465         and ASM_EMIT_BSS not supported by target.
13466         (assemble_variable): Do not duplicate uninitialized logic.
13467         Fall through if asm_emit_uninitialized failed.
13468
13469 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13470
13471         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13472
13473 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13474
13475         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13476         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13477
13478         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13479         HOST_BITS_PER_WIDE_INT == 64.
13480
13481 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13482
13483         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13484         * optabs.c (expand_binop): Make variable unsigned.
13485         * simplify-rtx.c (simplify_subreg): Likewise.
13486         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13487
13488 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13489
13490         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13491
13492 2002-08-01  Richard Henderson  <rth@redhat.com>
13493
13494         * toplev.c (parse_options_and_default_flags): Don't set
13495         flag_reorder_blocks for -Os.
13496
13497         * config/avr/avr.c (avr_optimization_options): Remove.
13498         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13499         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13500         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13501
13502 2002-08-01  H.J. Lu <hjl@gnu.org>
13503             Richard Henderson  <rth@redhat.com>
13504
13505         * output.h (DECL_READONLY_SECTION): Remove.
13506         (decl_readonly_section): Declare.
13507         * varasm.c (decl_readonly_section): New.
13508         (default_section_type_flags, default_select_section): Use it.
13509         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13510         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13511         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13512         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13513         * config/mips/mips.c (mips_unique_section): Likewise.
13514
13515 2002-08-01  Richard Henderson  <rth@redhat.com>
13516
13517         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13518         refers to a subroutine parameter.
13519
13520 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13521
13522         * varasm.c (assemble_visibility): Strip name encoding.
13523
13524 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13525
13526         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13527         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13528         when there is no frame pointer.
13529         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13530         registers properly.
13531         * config/ns32k/__unorddf2.c: New file.
13532         * config/ns32k/__unordsf2.c: New file.
13533         * config/ns32k/t-ns32k: New file.
13534         * config.gcc (ns32k-*-netbsd*): Use it.
13535
13536 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13537
13538         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13539
13540 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13541
13542         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13543
13544 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13545
13546         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13547
13548 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13549
13550         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13551
13552 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13553
13554         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13555         n_sets): Removed.
13556         (expr_hash_table, set_hash_table): Type changed to ...
13557         (struct hash_table): New type.
13558         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13559         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13560         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13561         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13562         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13563         (alloc_hash_table): New.
13564         (free_set_hash_table, free_expr_hash_table): Merged to ...
13565         (free_hash_table): New.
13566         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13567         (compute_hash_table_work): New.
13568         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13569         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13570         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13571         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13572         hoist_code, one_code_hoisting_pass,
13573         trim_ld_motion_mems): Altered due to changed type of hash tables.
13574
13575 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13576
13577         * final.c (output_alternate_entry_point):
13578         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13579
13580 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13581
13582         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13583         avoid ISO C style function definition.
13584
13585         * expr.c (expand_assignment): Delete unused variable.
13586
13587 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13588
13589         * c-common.c (cb_register_builtins): Set
13590         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13591         is given, and to 0 otherwise.
13592         * combine.c (simplify_if_then_else): HONOR_NANS
13593         implies FLOAT_MODE_P.
13594
13595 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13596
13597         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13598         (cpp_handle_option): Don't handle it.
13599         (print_help): Update.
13600         * doc/cppopts.texi: Update.
13601
13602 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13603
13604         * c-common.c (cb_register_builtins): If C++, define
13605         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13606         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13607 cp:
13608         * lang-specs.h: Simplify in accordance with new code in
13609         c-common.c.
13610
13611 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13612
13613         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13614         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13615         * c-decl.c: Move all warning and flag variables to c-common.c.
13616         * c-format.c: Move all warning variables to c-common.c.
13617         * c-tree.h: Move all warning and flag declarations to c-common.h.
13618         * objc/objc-act.c: Move all warning variables to c-common.c.
13619         (flag_warn_protocol): Rename warn_protocol.
13620
13621 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13622
13623         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13624
13625 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13626
13627         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13628         .section prefix.
13629
13630 2002-07-31  Stan Shebs  <shebs@apple.com>
13631
13632         * config.gcc (i[34567]86-*-darwin*): New configuration.
13633         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13634         defining.
13635         (TARGET_ENCODE_SECTION_INFO): Ditto.
13636         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13637         * config/darwin.c (machopic_indirect_data_reference): Remove
13638         setting of RTX_UNCHANGING_P.
13639         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13640         not to be applied to sums.
13641         * config/i386/t-darwin: New file.
13642         * config/i386/darwin.h: New file.
13643         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13644         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13645         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13646         label and not the GOT add.
13647         (constant_address_p): For Mach-O, seeing a CONST is enough.
13648         (legitimate_pic_address_disp_p): Add a Mach-O case.
13649         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13650         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13651         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13652         if outputting a difference.
13653         (ix86_output_addr_diff_elt): Add Mach-O case.
13654         (ix86_expand_move): Similarly.
13655         (ix86_expand_call): Similarly.
13656         (current_machopic_label_num): New global.
13657         (machopic_output_stub): New function.
13658         (ix86_value_regno): New function.
13659         (ix86_function_value): Use it instead of VALUE_REGNO.
13660         (ix86_libcall_value): Ditto.
13661         * config/i386/unix.h (VALUE_REGNO): Remove.
13662
13663 2002-07-31  Graham Stott  <grahas@btinternet.com>
13664
13665         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13666         hash for LABEL_REF's.
13667
13668 2002-07-31  Graham Stott  <grahams@btinternet.com>
13669
13670         * config/rs6000/rs6000.c (spe_init_builtins,
13671         altivec_init_builtins, rs6000_common_init_builtins):
13672         Replace ANSI with K&R function def.
13673
13674 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13675
13676         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13677         for CCFPmode.
13678
13679 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13680
13681         * config/mips/crtn.asm: Don't use __mips16 to determine the
13682         return-address offset.  Define RA to a suitable temporary
13683         register for the return address.
13684
13685 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13686
13687         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13688         constraints to 'd'.
13689
13690 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13691
13692         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13693         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13694         patch on 2002-07-29.)
13695         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13696
13697 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13698
13699         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13700         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13701         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13702         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13703         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13704         (ASM_GLOBALIZE_LABEL): Delete.
13705         (GLOBAL_ASM_OP): Define.
13706
13707         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13708
13709         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13710         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13711
13712 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13713
13714         * doc/extend.texi (Hints implementation): Document that GCC
13715         mostly ignores `register'.
13716
13717 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13718
13719         * flags.h: Declare flag_finite_math_only.
13720         Use it in definition of HONOR_NANS and
13721         HONOR_INFINITIES.
13722         * c-common.c (cb_register_builtins): Emit
13723         __FINITE_MATH_ONLY__ when flag_finite_math_only
13724         is set.
13725         * combine.c (simplify_if_then_else): If
13726         flag_finite_math_only is set, a == b has a
13727         definite value.
13728         * toplev.c: Initialize flag_finite_math_only.
13729         (set_flags_fast_math): Set it on -ffast-math.
13730         (flag_fast_math_set_p): Test it.
13731         * doc/invoke.texi: Document -ffinite-math-only.
13732
13733 2002-07-30  Richard Henderson  <rth@redhat.com>
13734
13735         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13736         (noce_process_if_block): Likewise.
13737
13738 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13739
13740         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13741         Bail out early if false_expr is NULL and we'd crash due to this.
13742         * genemit.c (gen_expand): Recognize return insns even if the return
13743         appears in a parallel.
13744         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13745         * config/fp-bit.c: Likewise.
13746         * doc/tm.texi: Document it.
13747
13748 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13749             Zack Weinberg  <zack@codesourcery.com>
13750
13751         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13752         CODE_FOR_nothing.  Change switch to if.
13753         (rs6000_expand_binop_builtin): Same.
13754         (rs6000_expand_builtin): Expand builtin if target support enabled.
13755         (rs6000_init_builtins): Init builtin if target support enabled.
13756         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13757
13758 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13759
13760         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13761
13762 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13763
13764         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13765
13766 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13767
13768         * sh.md (cond_delay_slot): New attribute.
13769         (cbranch delay): Use it for anulled-true case.
13770         (stuff_delay_slot): New pattern.
13771         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13772         delay slot insn.
13773         (gen_far_branch): Emit stuff_delay_slot pattern.
13774
13775 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13776
13777         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13778
13779 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13780
13781         * fold-const.c: Fix comment typos.
13782         * gcse.c: Likewise.
13783         * reload1.c: Likewise.
13784
13785 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13786
13787         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13788         for TARGET_SPE.
13789
13790 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13791
13792         * c-pretty-print.h (pp_c_statement): Declare.
13793         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13794         (pp_c_statement): Define.
13795
13796 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13797
13798         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13799         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13800         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13801         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13802         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13803         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13804
13805         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13806         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13807
13808 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13809
13810         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13811         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13812         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13813         (pp_c_expression): Update.
13814
13815 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13816
13817         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13818         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13819         * alpha/vms-ld.c (main): Likewise.
13820         * dsp16xx.c (double_reg_to_memory): Likewise.
13821         * mcore.c (mcore_expand_prolog): Likewise.
13822         * cppfiles.c (read_name_map): Likewise.
13823         * gensupport.c (process_rtx, identify_predicable_attribute,
13824         alter_test_for_insn): Likewise.
13825         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13826
13827 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13828
13829         * builtins.c (expand_builtin):  Change the default behavior to
13830         only issue an error if the builtin function doesn't have a
13831         fallback library call.  Remove several cases handled by the
13832         new default.
13833
13834 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13835
13836         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13837         floating point format of the target is IEEE.
13838         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13839         format of the target is DEC.
13840
13841 2002-07-29  Richard Henderson  <rth@redhat.com>
13842
13843         * unroll.c (verify_addresses): Remove.
13844         (find_splittable_givs): Never split DEST_ADDR givs.
13845
13846 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
13847
13848         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13849         is exhaustive.
13850         (Files): Improve documentation on generated source files.
13851
13852         * doc/extend.texi (Translation implementation): Document what
13853         diagnostics look like.
13854         (Identifiers implementation): Document that there's normally no
13855         limit on identifier names.
13856         (Integers implementation): Document two's complement.
13857         (Hints implementation): Document that GCC honors 'inline', mostly.
13858         (Preprocessing directives implementation): Document that GCC
13859         requires the current time.
13860
13861 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13862
13863         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
13864         (pp_initializer): New macro.
13865         (pp_c_initializer): Declare.
13866         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
13867         (pp_c_initializer): Define.
13868         (pp_c_initializer_list): New function.
13869         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
13870         VECTOR_CST, CONSTRUCTOR.
13871         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
13872         IMAGPART_EXPR.
13873         (pp_c_cast_expression): Handle FLOAT_EXPR.
13874         (pp_c_assignment_expression): Handle INIT_EXPR.
13875         (pp_c_expression): Update.
13876
13877 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
13878
13879         * objc/objc-act.c (objc_init): Return immediately if filename
13880         is NULL.
13881
13882 2002-07-29  Eric Christopher  <echristo@redhat.com>
13883
13884         * config/mips/elf.h: Remove ecoff.h and gofast includes.
13885         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
13886         (SDB_DEBUGGING_INFO): Undefine.
13887         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
13888         (PUT_SDB_SIZE): Remove.
13889         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
13890         (STARTFILE_SPEC): Add isa3264 define.
13891         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
13892         * config/mips/ecoff.h: Remove. and here...
13893         * config/mips/iris3.h: and here...
13894         * config/mips/sni-svr4.h: and here...
13895         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
13896         Add assembler -mmdebug options for non-dwarf debugging.
13897         * config/mips/r3900.h: Remove debug info defines.
13898         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
13899         * config/mips/isa3264.h: Ditto.
13900         * config/mips/t-isa3264: Fix up for file removal and gofast configure
13901         change.
13902         * config/mips/t-elf: Ditto.
13903         * config/mips/t-ecoff: Ditto.
13904         * config/mips/t-r3900: Ditto.
13905         * config/mips/t-iris5-6: Ditto.
13906         * config/mips/t-isa3264: Ditto.
13907         * config/mips/t-linux: Remove.
13908         * config/mips/t-netbsd: Remove.
13909         * config/mips/t-mips: New file.
13910         * config/mips/t-gofast: Ditto.
13911         * config/mips/netbsd.h: Remove unnecessary undefines.
13912         * config/mips/linux.h: Remove #include of mips.h.
13913         * config.gcc: Add mips.h include for elf targets. Remove tm_file
13914         for ecoff. Add gofast configure option for mips.
13915
13916 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
13917
13918         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
13919         linker scripts use STARTUP directives consistently.
13920         * configure: Regenerate.
13921         * config.in: Regenerate.
13922         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
13923         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
13924         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13925         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
13926         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
13927         will be the same.
13928
13929 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13930
13931         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
13932
13933 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13934
13935         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
13936
13937 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
13938
13939         * config/rs6000/rs6000.md: Move altivec patterns from here...
13940
13941         * config/rs6000/altivec.md: ...to here.
13942
13943 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13944
13945         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
13946
13947 2002-07-29  Richard Henderson  <rth@redhat.com>
13948
13949         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
13950         set_mem_attributes and add BITPOS argument.  Subtract it from
13951         OFFSET when same is adjusted.
13952         (set_mem_attributes): New wrapper function.
13953         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
13954         remove offset adjustment hack.
13955         * expr.h (set_mem_attributes_minus_bitpos): Declare.
13956
13957 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
13958
13959         * Makefile.in (C_OBJS): Include c-pretty-print.o
13960         (c-pretty-print.o): Add depency rule.
13961         * pretty-print.h: Add more macros.
13962         * c-pretty-print.c: New file.
13963         * c-pretty-print.h: Likewise.
13964
13965 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13966
13967         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
13968         constants to __ev64_s32__.
13969         (__internal_ev_mwhgsmian): Same.
13970         (__internal_ev_mwhgsmfan): Same.
13971         (__internal_ev_mwhgssfan): Same.
13972         (__internal_ev_mwhgumiaa): Same.
13973         (__internal_ev_mwhgsmiaa): Same.
13974         (__internal_ev_mwhgsmfaa): Same.
13975         (__internal_ev_mwhgssfaa): Same.
13976
13977 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
13978
13979         * varasm.c (assemble_variable): Narrow test for uninitialized
13980         without BSS target support.
13981
13982 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
13983
13984         * profile.c: Add file comment describing the overall algorithm and
13985         structures.
13986         (struct edge_info): Add comments.
13987         (struct bb_info): Add comments.
13988         * basic-block.h (EDGE_*): Add comments.
13989         * doc/gcov.texi (Gcov Data Files): Document bit flags.
13990
13991 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
13992
13993         * config/xtensa/elf.h, config/xtensa/linux.h
13994         (TARGET_OS_CPP_BUILTINS): Define.
13995         (CPP_PREDEFINES): Remove.
13996         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
13997         (CPP_SPEC): Remove.
13998
13999 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14000
14001         * gensupport.c: Include hashtab.h.
14002         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14003         maybe_eval_c_test): New routines and data structures to
14004         support insn elision.
14005         (init_md_reader): Read and initialize the condition_table.
14006         (read_md_rtx): Discard insn patterns whose C test is provably
14007         always false.
14008         * gensupport.h: Declare new functions and data structures.
14009
14010         * genconditions.c, dummy-conditions.c: New files.
14011         * Makefile.in: Build genconditions; run it to construct
14012         insn-conditions.c; build that and link it into most gen*
14013         programs.
14014         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14015         (GEN): Delete, unused.
14016         (STAGESTUFF): Update.
14017
14018         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14019         CODE_FOR_nothing for all elided patterns.
14020         (main): Tweaked to support this.
14021         * genflags.c (gen_proto): Emit a static inline generator
14022         function here for all elided patterns, which simply returns
14023         NULL_RTX.
14024         (gen_insn): Do not define HAVE_xxx for elided patterns.
14025         (main): Tweaked to support this.  No need to forward-declare
14026         struct rtx_def.
14027         * genrecog.c: Do not bother emitting the C test if it's known
14028         to be true at compile time.
14029
14030 2002-07-29  Mike Stump  <mrs@apple.com>
14031
14032         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14033         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14034
14035 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14036
14037         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14038         remove clobber of LR.
14039         (sibcall_insn, sibcall_value_insn): Update accordingly.
14040         (sibcall_epilogue): Remove debugging comment from assembler stream.
14041
14042 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14043
14044         * pretty-print.h: Define more macros.
14045         * diagnostic.h (output_formatted_integer): Moved from...
14046         * diagnostic.c: ... here.
14047
14048 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14049
14050         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14051
14052 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14053
14054         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14055         arguments.  Always use ".-symbol" as expression argument.
14056         * doc/tm.texi: Update to match.  Document requirement for
14057         ".size symbol, .-symbol" to be acceptable to assembler.
14058
14059         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14060         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14061         config/i386/freebsd-aout.h, config/i386/sco5.h,
14062         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14063         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14064
14065 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14066
14067         * Makefile.in (gengtype-lex.c): Fix error in last change.
14068
14069         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14070         backslash.
14071
14072         * Makefile.in (vmsdbgout.o): Depend on function.h.
14073
14074         * vmsdbgout.c: Include function.h.
14075
14076 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14077
14078         * prefix.c (update_path): Don't strip single `.' path components
14079         unless stripping a later `..' component.  Exit loop as soon as
14080         a valid path is found.
14081
14082 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14083
14084         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14085         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14086         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14087         floating point unordered comparisons (e.g. __builtin_isgreater)
14088         as const, and leave the remaining GCC_BUILTINs unchanged.
14089
14090         * c-decl.c (builtin_function): No need to explicitly mark
14091         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14092
14093 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14094
14095         * Makefile.in: rtlanal.o now depends upon real.h.
14096
14097         * flags.h [flag_signaling_nans]: New flag.
14098         [HONOR_SNANS]: New macro.
14099
14100         * toplev.c [flag_signaling_nans]: Initialize to false.
14101         (f_options): Add processing for "-fsignaling-nans".
14102         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14103         (process_options): flag_signaling_nans implies flag_trapping_math.
14104
14105         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14106         when -fsignaling-nans.  First step to implementing WG14's N965.
14107
14108         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14109         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14110         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14111
14112         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14113         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14114
14115         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14116         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14117         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14118         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14119         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14120
14121         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14122
14123 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14124
14125         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14126         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14127         (YY_DECL): Define.
14128
14129 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14130
14131         * doc/invoke.texi: Document that both -fno-builtin-foo and
14132         -fno-builtin are supported by the g++ front-end.
14133
14134 2002-07-27  Stan Shebs  <shebs@apple.com>
14135
14136         * configure.in: Rename config_gtfiles to target_gtfiles.
14137         * configure: Regenerate.
14138         * doc/gty.texi: Update reference.
14139         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14140         instead of appending to it.
14141
14142 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14143
14144         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14145         vectors are split into two registers.
14146         (function_arg): Same.
14147
14148 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14149
14150         * pa.md (extv): Check predicates before emitting extv_32.
14151
14152 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14153
14154         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14155         (rs6000_traceback): New var.
14156         (rs6000_override_options): Set rs6000_traceback.
14157         (rs6000_output_function_epilogue): Implement traceback options.
14158         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14159         (rs6000_traceback_name): Declare.
14160
14161         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14162         label reference when NO_PROFILE_COUNTERS.
14163
14164 2002-07-26  Jason Merrill  <jason@redhat.com>
14165
14166         * function.c (assign_parms): Handle frontend-directed pass by
14167         invisible reference.
14168
14169 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14170
14171         * doc/cppopts.texi: Update.
14172
14173 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14174
14175         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14176         warnings on assertions.
14177
14178 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14179
14180         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14181         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14182         RID_COMPL): Remove.
14183         * c-parse.in (rid_to_yy): Similarly.
14184
14185 2002-07-26  Jason Merrill  <jason@redhat.com>
14186
14187         * c-dump.c: Resurrect.
14188         * tree-dump.c: Move C-specific stuff to c-dump.c.
14189         * c-common.h: Declare c_dump_tree.
14190         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14191         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14192         (c-dump.o): New rule.
14193
14194 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14195
14196         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14197         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14198         predicate will do.  Formatting fixes.
14199         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14200         as for extzvsi_internal1.
14201
14202 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14203
14204         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14205         DERIV_END_LABEL_FMT): Remove.
14206         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14207
14208 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14209
14210         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14211         Remove.
14212
14213 2002-07-25  Stan Shebs  <shebs@apple.com>
14214
14215         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14216         local var dwarfp.
14217         (output_compiler_stub): Remove unused locals.
14218         (output_call): Always initialize line number.
14219
14220 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14221
14222         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14223         * sh.md (truncdiqi2, movqi_media): Likewise.
14224
14225 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14226
14227         * gcse.c (obstack_chunk_alloc): Remove.
14228         (gcse_alloc): Fix to count allocated bytes.
14229         * collect2.c (SYMBOL__MAIN): Remove.
14230
14231 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14232
14233         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14234         HAVE_TARGET_EXECUTABLE_SUFFIX.
14235
14236 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14237
14238         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14239         SIZE, EXPR and OFFSET.
14240
14241 2002-07-25  Richard Henderson  <rth@redhat.com>
14242
14243         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14244         in ARRAY_REF of DECL_P case.
14245
14246 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14247
14248         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14249         description.  Document -mips32, -mips64, and the associated -march
14250         values.  Describe the "mipsN" arguments to -march.  Say that the
14251         -mipsN options are equivalent to -march.  Reword the description
14252         of default type sizes.
14253         * toplev.h (target_flags_explicit): Declare.
14254         * toplev.c (target_flags_explicit): New var.
14255         (set_target_switch): Update target_flags_explicit.
14256         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14257         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14258         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14259         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14260         * config/mips/mips.h (mips_cpu_info): New struct.
14261         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14262         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14263         (MIPS_CPP_SET_PROCESSOR): New macro.
14264         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14265         Define _MIPS_ARCH and _MIPS_TUNE.
14266         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14267         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14268         MIPS_ISA_DEFAULT were already defined.
14269         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14270         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14271         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14272         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14273         (ABI_GAS_ASM_SPEC): Remove.
14274         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14275         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14276         Invoke %(asm_abi_default_spec) if no ABI was specified.
14277         (CC1_SPEC): Remove ISA -> register-size rules.
14278         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14279         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14280         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14281         (mips_cpu_info_table): New array.
14282         (mips_set_architecture, mips_set_tune): New fns.
14283         (override_options): Rework to make -mipsN equivalent to -march.
14284         Detect more erroneous cases, including those removed from CC1_SPEC.
14285         Don't change the ABI based on architecture, or vice versa.
14286         Unify logic with GAS.
14287         (mips_asm_file_start): Get architecture name from mips_arch_info.
14288         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14289         (mips_parse_cpu): Take the name of the option as argument.  Handle
14290         'from-abi'.  Raise an error if the option is wrong.
14291         (mips_cpu_info_from_isa): New fn.
14292
14293 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14294
14295         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14296         (tablejump_mips162): Likewise.
14297
14298 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14299
14300         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14301         int_mode_for_mode.
14302
14303 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14304
14305         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14306         complaining.
14307         * c-common.h (c_sizeof): Adjust definition.
14308         (c_alignof): Likewise.
14309         * c-tree.h (c_sizeof_nowarn): Now macro.
14310         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14311
14312 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14313
14314         * c-decl.c (c_decode_option): No need to handle switches
14315         cpplib handles.
14316
14317 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14318
14319         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14320         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14321         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14322         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14323
14324         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14325         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14326         config/cris/aout.h, config/i386/freebsd-aout.h,
14327         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14328         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14329         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14330         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14331         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14332         config/xtensa/elf.h, config/xtensa/linux.h:
14333         Use the new macros.
14334         Where possible, remove redundant definitions of SIZE_ASM_OP,
14335         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14336
14337 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14338
14339         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14340         TARGET_ISEL, and TARGET_FPRS.
14341
14342         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14343         -mabi=spe, -mabi=no-spe, and -misel=.
14344
14345         * config/rs6000/rs6000-protos.h: Add output_isel.
14346         Move vrsave_operation prototype here.
14347
14348         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14349         (smaxsi3): Same.
14350         (uminsi3): Same.
14351         (umaxsi3): Same.
14352         (abssi2_nopower): Disallow when TARGET_ISEL.
14353         (*ne0): Same.
14354         (negsf2): Change to expand and rename old pattern to *negsf2.
14355         (abssf2): Change to expand and rename old pattern to *abssf2.
14356
14357         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14358         fixunssfsi2.
14359
14360         Change patterns that check for TARGET_HARD_FLOAT or
14361         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14362
14363         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14364         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14365         (rs6000_override_options): Add 8540 case to
14366         processor_target_table.
14367         Set rs6000_isel for the 8540.
14368         Call rs6000_parse_isel_option.
14369         (enable_mask_for_builtins): New.
14370         (rs6000_parse_isel_option): New.
14371         (rs6000_parse_abi_options): Add spe and no-spe.
14372         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14373         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14374         for TARGET_HARD_FLOAT.
14375         Add case for SPE_VECTOR_MODE.
14376         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14377         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14378         vector modes.
14379         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14380         (rs6000_emit_move): Check for TARGET_FPRS.
14381         Add cases for SPE vector modes.
14382         (function_arg_boundary): Return 64 for SPE vector modes.
14383         (function_arg_advance): Check for TARGET_FPRS and
14384         Handle SPE vectors.
14385         (function_arg): Same.
14386         (setup_incoming_varargs): Check for TARGET_FPRS.
14387         (rs6000_va_arg): Same.
14388         (struct builtin_description): Un-constify mask field.  Move up in
14389         file.
14390         (bdesc_2arg): Un-constify and add SPE builtins.
14391         (bdesc_1arg): Same.
14392         (bdesc_spe_predicates): New.
14393         (bdesc_spe_evsel): New.
14394         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14395         (rs6000_expand_binop_builtin): Same.
14396         (bdesc_2arg_spe): New.
14397         (spe_expand_builtin): New.
14398         (spe_expand_predicate_builtin): New.
14399         (spe_expand_evsel_builtin): New.
14400         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14401         (rs6000_init_builtins): Initialize SPE builtins.  Call
14402         rs6000_common_init_builtins.
14403         (altivec_init_builtins): Move all non-altivec builtin code to...
14404         (rs6000_common_init_builtins): ...here.  New function.
14405         (branch_positive_comparison_operator): Allow NE code for SPE.
14406         (ccr_bit): Return correct ccr bit for SPE fp.
14407         (print_operand): Emit crnor in 'D' case for SPE.
14408         New case 't'.
14409         Add SPE code for 'y' case.
14410         (rs6000_generate_compare): Generate rtl for SPE fp.
14411         (output_cbranch): Handle SPE hard floats.
14412         (rs6000_emit_cmove): Handle isel.
14413         (rs6000_emit_int_cmove): New.
14414         (output_isel): New.
14415         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14416         64-bits for SPE.
14417         (debug_stack_info): Add SPE info.
14418         (gen_frame_mem_offset): New.
14419         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14420         Change mode of frame pointer, when saving it, to Pmode.
14421         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14422         Misc cleanups and use gen_frame_mem_offset when appropriate.
14423
14424         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14425         (TARGET_SPE_ABI): New.
14426         (TARGET_SPE): New.
14427         (TARGET_ISEL): New.
14428         (TARGET_FPRS): New.
14429         (FIXED_SCRATCH): New.
14430         (RTX_COSTS): Add PROCESSOR_PPC8540.
14431         (ASM_CPU_SPEC): Add case for 8540.
14432         (TARGET_OPTIONS): Add isel= case.
14433         (rs6000_spe_abi): New.
14434         (rs6000_isel): New.
14435         (rs6000_fprs): New.
14436         (rs6000_isel_string): New.
14437         (UNITS_PER_SPE_WORD): New.
14438         (LOCAL_ALIGNMENT): Adjust for SPE.
14439         (HARD_REGNO_MODE_OK): Same.
14440         (DATA_ALIGNMENT): Same.
14441         (MEMBER_TYPE_FORCES_BLK): New.
14442         (FIRST_PSEUDO_REGISTER): Set to 113.
14443         (FIXED_REGISTERS): Add SPE registers.
14444         (reg_class): Same.
14445         (REG_CLASS_NAMES): Same.
14446         (REG_CLASS_CONTENTS): Same.
14447         (REGNO_REG_CLASS): Same.
14448         (REGISTER_NAMES): Same.
14449         (DEBUG_REGISTER_NAMES): Same.
14450         (ADDITIONAL_REGISTER_NAMES): Same.
14451         (CALL_USED_REGISTERS): Same.
14452         (CALL_REALLY_USED_REGISTERS): Same.
14453         (SPE_ACC_REGNO): New.
14454         (SPEFSCR_REGNO): New.
14455         (SPE_SIMD_REGNO_P): New.
14456         (HARD_REGNO_NREGS): Adjust for SPE.
14457         (VECTOR_MODE_SUPPORTED_P): Same.
14458         (REGNO_REG_CLASS): Same.
14459         (FUNCTION_VALUE): Same.
14460         (LIBCALL_VALUE): Same.
14461         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14462         (SPE_VECTOR_MODE): New.
14463         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14464         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14465         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14466         spe_gp_save_offset.
14467         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14468         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14469         (SPE_CONST_OFFSET_OK): New.
14470         (rs6000_builtins): Add SPE builtins.
14471
14472         * testsuite/gcc.dg/ppc-spe.c: New.
14473
14474         * config/rs6000/eabispe.h: New.
14475
14476         * config/rs6000/spe.h: New.
14477
14478         * config/rs600/spe.md: New.
14479
14480         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14481         __SIMD__ for TARGET_SPE.
14482
14483         * config.gcc: Add powerpc-*-eabispe* case.
14484         Add spe.h to user headers for powerpc.
14485
14486 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14487
14488         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14489         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14490         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14491
14492 2002-07-24  Richard Henderson  <rth@redhat.com>
14493
14494         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14495         form when not optimizing.
14496
14497 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14498
14499         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14500         thread_pointer_rtx as unchanging.
14501
14502 2002-07-24  Michael Matz  <matz@suse.de>
14503
14504         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14505         (free_reg): Use it.
14506
14507 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14508
14509         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14510         pattern.
14511         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14512         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14513
14514 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14515
14516         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14517         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14518         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14519
14520 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14521
14522         * toplev.c (rest_of_compilation): Dump loops before clobbering
14523         the structure.
14524
14525 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14526
14527         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14528
14529 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14530
14531         PR optimization/7291
14532         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14533         problem on x86_64.
14534
14535 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14536
14537         * pretty-print.h: Add macros from cp/error.c
14538
14539 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14540
14541         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14542         (mask64_2_operand): Declare.
14543         (build_mask64_2_operands): Declare.
14544         (and64_2_operand): Declare.
14545         (extract_MB): Declare.
14546         (extract_ME): Declare.
14547         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14548         CONST_DOUBLE code.
14549         (mask_operand_wrap): New insn predicate.
14550         (mask64_2_operand): Likewise.
14551         (and64_2_operand): Likewise.
14552         (build_mask64_2_operands): New function.
14553         (extract_MB): New function.
14554         (extract_ME): New function.
14555         (print_operand <case m,M>): Use extract_MB and extract_ME.
14556         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14557         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14558         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14559         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14560         * config/rs6000/rs6000.md (andsi3_internal3): New
14561         (andsi3_internal3+1): Enable split for powerpc64.
14562         (andsi3_internal3+2): New split.
14563         (andsi3_internal4): Renamed old andsi3_internal3.
14564         (andsi3_internal5): New.
14565         (andsi3_internal5+1): Enable split for powerpc64.
14566         (andsi3_internal5+2): New split.
14567         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14568         (anddi3): Handle 't' constraint.
14569         (anddi3+1): New split.
14570         (anddi3_internal2): Handle 't' constraint.
14571         (anddi3_internal2+1): New split.
14572         (anddi3_internal3): Handle 't' constraint.
14573         (anddi3_internal3+1): New split.
14574
14575 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14576
14577         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14578         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14579         missing scratch reg in one case.  Formatting fixes.
14580
14581 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14582
14583         * cppexp.c (parse_defined): Mark macro used.
14584         * cpphash.h (struct cpp_macro): New member "used".
14585         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14586         (struct cpp_reader): New member.
14587         * cppinit.c (cpp_finish_options): Set first_unused_line.
14588         (cpp_finish): Warn of unused macros if requested.
14589         (OPT_TABLE): New switches.
14590         (cpp_handle_option): Handle them.
14591         * cpplib.c (do_undef): Warn if macro unused.
14592         (do_ifdef, do_ifndef): Mark macro used.
14593         * cpplib.h (struct cpp_options): New member.
14594         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14595         (enter_macro_context): Mark macro used.
14596         (_cpp_create_definition): Mark macro unused; warn if unused
14597         when redefined.
14598         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14599         Mark macros used.
14600         * doc/cppopts.texi: Update.
14601
14602 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14603
14604         * dwarf2out.c (SECTION_ASM_OP,
14605         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14606         * system.h (SECTION_ASM_OP): Poison.
14607         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14608         * config/alpha/alpha-interix.h, config/mips/linux.h
14609         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14610         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14611         (mmix_asm_output_define_label_difference_symbol): Remove.
14612         * config/mmix/mmix.h
14613         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14614         * doc/tm.texi: Remove documentation.
14615
14616 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14617
14618         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14619         (constrain_operands): Likewise.
14620         * regclass.c (record_reg_classes): Likewise.
14621         * reload.c (find_reloads): Likewise.
14622         * doc/md.texi: Likewise.
14623
14624         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14625         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14626         mode, try to convert to an integer mode of matching size first.
14627
14628         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14629         from individual subregs, check that each subreg has been generated
14630         sucessfully.
14631
14632 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14633
14634         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14635         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14636         FOR_EACH_BB_IN_SBITMAP): Remove.
14637         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14638         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14639         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14640         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14641         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14642         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14643
14644 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14645
14646         * pretty-print.h: New file.
14647
14648 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14649
14650         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14651         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14652         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14653         (TARGET_G_FLOAT): Default to 0 if not defined.
14654         (ieeetoe): New, common routine to convert target format floats
14655         to internal form.
14656         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14657         vs. others.
14658         (e113toe): Change to use ieeetoe.
14659
14660 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14661
14662         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14663         IBM.
14664         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14665         (e64toe): Remove special cases for DEC and IBM. Remove support for
14666         ARM_EXTENDED_IEEE_FORMAT.
14667         (e24toe): Remove special cases for DEC.
14668         (significand_size): Simplify. Indent.
14669         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14670         (etoieee, toieee): New.
14671         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14672         etoieee and toieee for IEEE arithmetic.
14673
14674 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14675
14676         * doc/extend.texi: Say ISO C90, not ISO C89.
14677         * doc/invoke.texi: Likewise.
14678         * doc/standards.texi: Likewise.
14679
14680 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14681
14682         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14683         Fix permutation of conversion and plus/mult.
14684         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14685         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14686         (expand_builtin_strncpy) Ditto.
14687         (expand_builtin_memset) Ditto.
14688
14689 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14690
14691         Fix PR/7363:
14692         * c-common.c (c_sizeof_or_alignof_type): New function.
14693         (c_alignof): Remove definition.
14694         * c-common.h (c_sizeof, c_alignof): Define as macros.
14695         (c_sizeof_or_alignof_type): Declare.
14696         (my_friendly_assert): Moved from cp/cp-tree.h
14697         * c-typeck.c (c_sizeof): Remove definition.
14698
14699 2002-07-23  Jan Hubicka  <jh@suse.cz>
14700
14701         * gcse.c (try_replace_reg): Use num_changes_pending.
14702         * recog.c (num_changes_pending): New function.
14703         (validate_replace_src): Use validate_repalce_src_group.
14704         (validate_replace_src_group): New.
14705         * recog.h (validate_repalce_src_group): New.
14706         (num_changes_pending): Likewise.
14707
14708 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14709
14710         * calls.c (emit_library_call_value_1): If
14711         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14712         libcall, const call nor pure call.
14713
14714 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14715
14716         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14717
14718 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14719
14720         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14721
14722 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14723
14724         * config/i386/i386.c (AT_BP): Remove.
14725
14726 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14727
14728         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14729         Default definition.
14730         * gcse.c: Don't define obstack_chunk_free.
14731         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14732         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14733         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14734         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14735         Don't define obstack macros.
14736
14737 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14738
14739         PR target/6744
14740         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14741         ASM_OPERANDS instructions.
14742
14743 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14744
14745         PR target/7361
14746         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14747         constant addresses only on 68HC12.
14748
14749 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14750
14751         * cppfiles.c (stack_include_file): Correct test of whether
14752         a dependency should be output.
14753
14754 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14755
14756         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14757
14758 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14759
14760         * arm.md (movqi): If optimizing and we can create pseudos, use
14761         a ZERO_EXTEND to load from memory, then copy the result into the
14762         target.
14763         (movhi): Likewise, but only for ARMv4.
14764
14765 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14766
14767         * ssa-ccp.c (PHI_PARMS): Remove.
14768
14769 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14770
14771         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14772         on big-endian targets.
14773
14774 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14775
14776         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14777         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14778         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14779         New formatting macros.
14780
14781         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14782
14783 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14784
14785         * rtlanal.c (subreg_regno_offset): Return correct offset for
14786         big endian paradoxical subregs.
14787
14788         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14789         if we got the wrong mode.
14790
14791         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14792         * genrecog.c (write_switch, write_cond): Use it.
14793         * genemit.c (gen_exp): Likewise.
14794
14795 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14796
14797         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14798
14799 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14800
14801         * c-decl.c (build_compound_literal): Defer compound literal decls
14802         until until file end to emit them only if they are actually used.
14803
14804 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14805
14806         * ra-build.c (check_conflict_numbers): Hide unused function.
14807         (livethrough_conflicts_bb): Avoid automatic aggregate
14808         initialization.
14809         (parts_to_webs_1): Avoid `U' integer constant modifier.
14810         (conflicts_between_webs): Wrap a variable in the macro controlling
14811         its usage.
14812         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14813         (dump_igraph, dump_graph_cost): Avoid string concatenation
14814         (dump_static_insn_cost): Avoid automatic aggregate
14815         initialization.
14816         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14817         initialization.
14818         (dump_cost): Avoid string concatenation
14819
14820 2002-07-21  Richard Henderson  <rth@redhat.com>
14821
14822         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14823         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14824
14825 2002-07-21  Richard Henderson  <rth@redhat.com>
14826
14827         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14828         that are not unrolled completely.
14829
14830 2002-07-21  Richard Henderson  <rth@redhat.com>
14831
14832         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14833         * loop.c (strength_reduce): Update.
14834         * toplev.c (rest_of_compilation): Do unrolling in the first
14835         loop pass, not the second.
14836
14837 2002-07-21  Richard Henderson  <rth@redhat.com>
14838
14839         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14840         when flag_argument_noalias == 2.
14841         * alias.c (nonoverlapping_memrefs_p): Handle that.
14842         * print-rtl.c (print_mem_expr): Likewise.
14843
14844 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
14845
14846         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14847         instead of __negdi2 directly.
14848
14849 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14850
14851         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14852         * function.c (SYMBOL__MAIN): Remove definition.
14853         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14854         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14855         * profile.c (GCOV_INDEX_TO_BB): Remove.
14856         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14857         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
14858
14859 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14860
14861         * c-lex.c (GET_ENVIRONMENT): Remove.
14862         * collect2.c (GET_ENV_PATH_LIST): Remove.
14863         (prefix_from_env): Use GET_ENVIRONMENT.
14864         * cppinit.c (GET_ENV_PATH_LIST): Remove.
14865         (init_standard_includes): Use GET_ENVIRONMENT.
14866         * defaults.h (GET_ENVIRONMENT): Define here if not already.
14867         * gcc.c (GET_ENV_PATH_LIST): Remove.
14868         (make_relative_prefix, process_command): Update.
14869         * protoize.c (GET_ENV_PATH_LIST): Remove.
14870         (do_processing): Update.
14871
14872 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
14873
14874         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
14875         (grokdeclarator): Likewise.
14876         * c-format.c (C_STD_NAME): Likewise.
14877         * c-lex.c (interpret_integer): Likewise.
14878         * c-typeck.c (build_array_ref): Likewise.
14879         * cpplex.c (_cpp_lex_direct): Likewise.
14880         * toplev.c (documented_lang_options): Likewise.
14881
14882 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14883
14884         * c-format.c (T99_I, T99_UI): Remove.
14885
14886 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14887
14888         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
14889
14890 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
14891
14892         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
14893         do_local_cprop.
14894
14895 2002-07-21  Andreas Jaeger  <aj@suse.de>
14896
14897         * reload1.c (fixup_abnormal_edges): Remove unused variable.
14898
14899 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
14900
14901         Improvements for the ifcvt pass from Michael Meissner, with patches
14902         by Richard Sandiford <rsandifo@redhat.com>
14903         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
14904         * ifcvt.c (cond_exec_changed_p): New static variable.
14905         (last_active_insn): New function, renamed from last_active_insn_p
14906         and changed to return the last active insn in a basic block. All
14907         callers updated.
14908         (block_fallthru): New function.
14909         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
14910         IFCVT_MODIFY_INSN.  All callers updated.
14911         Return false if START or END are NULL.
14912         Handle case where we're processing an insn that is already
14913         conditional.
14914
14915         (noce_process_if_block): CE_INFO argument rather than
14916         multiple args containing the involved basic blocks.  All callers
14917         changed.
14918         (process_if_block, merge_if_block, find_if_block,
14919         cond_exec_process_if_block): Likewise.
14920
14921         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
14922         changed.
14923         Use new function last_active_insn to simplify some code.
14924         New code to handle multiple tests.
14925         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
14926         cond_exec_changed_p to TRUE.
14927
14928         (process_if_block): New code to handle multiple tests.
14929         (merge_if_block): Likewise.
14930         (find_if_header): New arg PASS.  Changed to return the currently
14931         processed basic block or NULL instead of true/false. All callers
14932         changed.
14933         Call IFCVT_INIT_EXTRA_FIELDS.
14934         (block_jumps_and_fallthru_p): New function.
14935         (find_if_block): Discover opportunities to convert multiple tests.
14936         Add additional debugging output.
14937         Update the ce_info structure before returning.
14938
14939         (if_convert): Run multiple passes of if-conversion.
14940         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
14941         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
14942         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
14943         these macros.
14944
14945 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
14946
14947         * gcse.c: Include cselib.h
14948         (constptop_register): Break out from ...
14949         (cprop_insn): ... here; kill basic_block argument.
14950         (do_local_cprop, local_cprop_pass): New functions.
14951         (one_cprop_pass): Call local_cprop_pass.
14952
14953 2002-07-20  Roger Sayle  <roger@eyesopen.com>
14954
14955         * simplify-rtx.c (simplify_relational_operation): Optimize
14956         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
14957
14958 2002-07-20  Michae Matz  <matz@suse.de>
14959
14960         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
14961
14962 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
14963
14964         * cppexp.c (struct op): Add token pointer.
14965         (check_promotion, CHECK_PROMOTION): New.
14966         (optab): Update.
14967         (_cpp_parse_expr): Update, use token pointer of struct op.
14968         (reduce): Warn about change of sign owing to promotion.
14969         * cppinit.c (cpp_handle_option): New warning if -Wall.
14970         * cpplib.h (struct cpp_options): New member.
14971
14972 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
14973
14974         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
14975         fpu list.  Separate Power4 compare and delayed_compare.  Correct
14976         Power4 fpcompare.
14977         (fix_truncdfsi2_internal): Restore FPR preference.
14978         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
14979         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
14980
14981 2002-07-19  Momchil Velikov <velco@fadata.bg>
14982
14983         * reload1.c (reload_as_needed): Duplicate oldpat.
14984
14985 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
14986
14987         PR optimization/7130
14988         * loop.h (struct loop_info): Add "preconditioned".
14989         * unroll.c (unroll_loop): Set it.
14990         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
14991
14992 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
14993
14994         * rtl.def (CODE_LABEL): Remove slot 8.
14995         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
14996         (LABEL_ALTERNATE_NAME): Delete.
14997         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
14998         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
14999
15000         * final.c (output_alternate_entry_point): New.
15001         (final_scan_insn): Use it instead of
15002         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15003         of a case label being an alternate entry point.
15004
15005         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15006         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15007         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15008         (field deleted).
15009         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15010
15011         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15012         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15013         * doc/tm.texi: Delete documentation of
15014         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15015
15016 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15017
15018         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15019         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15020         (LINK_SPEC): Define.
15021         (STARTFILE_SPEC): Define.
15022         (ENDFILE_SPEC): Define.
15023
15024         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15025         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15026
15027         * config/mips/iris6-o32-gas.h: New file.
15028         * config.gcc (mips-sgi-irix6*o32): Use it.
15029
15030         * config/mips/t-iris5-gas: New file.
15031         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15032
15033 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15034
15035         * cppexp.c (ALWAYS_EVAL): Remove.
15036         (optab, reduce): Always evaluate.
15037         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15038         only if not skipping evaluation.
15039
15040 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15041
15042         * config/avr/avr.c (debug_hard_reg_set): Remove.
15043
15044 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15045
15046         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15047
15048 2002-07-19  Richard Henderson  <rth@redhat.com>
15049
15050         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15051
15052 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15053
15054         * prefix.c (update_path): Don't zap single `.' path components
15055         unless followed by another `.' and fix typo last patch.
15056
15057 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15058
15059         * cppexp.c (cpp_num_mul): Remove unused parameter.
15060         (UNARY, BINARY, OTHER, binary_handler): Remove.
15061         (ALWAYS_EVAL): New.
15062         (optab): Update.
15063         (reduce): Refactor to a large switch, don't use a function
15064         pointer.
15065
15066 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15067
15068         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15069
15070 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15071
15072         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15073         (sh_expand_binop_v2sf): Likewise.
15074         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15075         (int_gpr_dest, trunc_hi_operand): New functions.
15076         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15077         trunc_hi_operand.
15078         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15079         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15080         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15081         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15082         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15083         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15084         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15085         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15086         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15087         (movsf_ie+1): Likewise.
15088         (loaddi_trunc): Use int_gpr_dest predicate.
15089         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15090         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15091         (casesi_worker_0+[12], casesi_worker): Likewise.
15092         (shcompact_preserve_incoming_args): Likewise.
15093         (mov_nop): Use any_register_operand predicate.
15094         (mperm_w0): Use trunc_hi_operand predicate.
15095
15096 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15097
15098         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15099         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15100         numbering.
15101
15102 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15103
15104         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15105
15106 2002-07-18  Richard Henderson  <rth@redhat.com>
15107
15108         PR optimization/7147
15109         * ifcvt.c (noce_get_condition): Make certain that the condition
15110         is valid at JUMP.
15111
15112 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15113
15114         * sh.c (barrier_align, push): Shut up compiler warnings.
15115         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15116         (reg_no_subreg_operand): Delete.
15117
15118 2002-07-17  Bo Thorsen  <bo@suse.de>
15119
15120         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15121         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15122         (STARTFILE_SPEC): Remove hardcoded library paths.
15123         (ENDFILE_SPEC): Likewise.
15124
15125 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15126
15127         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15128
15129         * gcse.c (try_replace_reg): Do not return false positives.
15130
15131 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15132
15133         * prefix.c: (update_path): Strip ".." components when prior dir
15134         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15135
15136         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15137         (ASM_OUTPUT_REG_POP): Likewise.
15138
15139 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15140
15141         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15142         adjustments to first_reg for profiling case.
15143         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15144         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15145         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15146         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15147         (ASM_OUTPUT_REG_POP): Define.
15148         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15149         (ASM_OUTPUT_REG_POP): Undef.
15150
15151 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15152
15153         * cpplib.c (do_sccs): Handle #sccs on all systems.
15154         * system.h (SCCS_DIRECTIVE): Poison.
15155         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15156         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15157         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15158         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15159         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15160         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15161         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15162         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15163         Remove all references to SCCS_DIRECTIVE.
15164         * doc/cpp.texi, doc/tm.texi: Update.
15165
15166 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15167
15168         * regrename.c (maybe_mode_change): New function.
15169         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15170
15171 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15172
15173         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15174         suppress addition when either ct or cf are zero.
15175
15176 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15177             Glen Nakamura <glen@imodulo.com>
15178
15179         PR optimization/6713
15180         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15181         sets a non-replaceable giv after issuing the new one.
15182
15183 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15184
15185         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15186         eval_token): Clarify and correct use of "bool" variables.
15187         * cpplib.h (struct cpp_options): Similarly.
15188         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15189         * cpptrad.c (recursive_macro): Similarly.
15190
15191 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15192
15193         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15194         SHmedia code.
15195
15196         * sh.md (cmpgtudi_media): Remove spurious @.
15197
15198         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15199         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15200
15201         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15202         * sh-protos.h (sh_initialize_trampoline): Declare.
15203         * sh.c (sh_initialize_trampoline): New function.
15204         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15205         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15206         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15207         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15208         * sh.md (initialize_trampoline, double_shori): New patterns.
15209         (initialize_trampoline_compact): Likewise.
15210         (shmedia32_initialize_trampoline_big): Remove.
15211         (shmedia32_initialize_trampoline_little): Likewise.
15212
15213         * sh-protos.h (binary_float_operator): Remove declaration.
15214         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15215         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15216         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15217         (sh_expand_binop_v2sf): Likewise.
15218         (zero_vec_operand): Delete.
15219         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15220         all non-shared ones.
15221         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15222         Enable nsb and byterev.
15223         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15224         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15225         in general regs.
15226         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15227         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15228         immediate operands.
15229         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15230         Add DF_HI_REGS.
15231         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15232         lowpart fp regs - only for big endian for now.
15233         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15234         when FPU is in use.
15235         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15236         (LOAD_EXTEND_OP): NIL for SImode.
15237         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15238         general and fp registers is 4.
15239         PREDICATE_CODES: Amend binary_float_operator entry.
15240         Remove zero_vec_operand.  Add unary_float_operator.
15241         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15242         subreg SET_DEST.
15243         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15244         (truncdiqi2): Do sign extension.
15245         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15246         (movdf_media, movsf_media): Likewise.
15247         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15248         Collapse to one define_insn_and_split.  Allow immediate sources.
15249         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15250         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15251         (movv4sf): Allow immediate sources.
15252         (movsf_media_nofpu+1): Don't split moves to FP registers.
15253         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15254         (movv8qi_i+3): Check against CONST0_RTX.
15255         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15256         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15257         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15258         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15259         (mshf0_w, fipr, ftrv): Likewise.
15260         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15261
15262 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15263
15264         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15265         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15266         * arm.c: Similarly.
15267
15268 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15269
15270         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15271         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15272         (TARGET_SWITCHES): Remove debugh.
15273         (ISA_HAS_TRUNC_W): New macro.
15274         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15275         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15276         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15277         any SImode move_operand.
15278         (se_nonimmediate_operand): Remove.
15279         (mips_sign_extend): New.
15280         (mips_move_2words): Use it for sign-extended source operands.
15281         (override_options): Allow integers to be put into single FPRs.
15282         (mips_secondary_reload_class): Handle integers in float registers.
15283         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15284         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15285         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15286         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15287         (fix_truncdfdi2): Provide only a single alternative, in which the
15288         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15289         than TARGET_64BIT.
15290         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15291         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15292         (movdi_internal2): Don't allow the source operand to be sign-extended.
15293         Add alternatives for float registers.
15294         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15295         allows sign-extension.
15296         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15297         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15298         float registers.  Remove TARGET_DEBUG_H_MODE test.
15299         (movhi_internal1): Rename to movhi_internal.  Don't check
15300         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15301         (movqi_internal1): Rename to movqi_internal and remove
15302         TARGET_DEBUG_H_MODE dependency.
15303         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15304
15305 2002-07-16  Jim Wilson  <wilson@redhat.com>
15306
15307         * toplev.c (lang_dependent_init): Create function context for
15308         init_expr_once.
15309
15310 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15311
15312         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15313         --gc-sections if -r.
15314         * config/cris/cris.h: Ditto.
15315
15316 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15317
15318         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15319         the comparison directly gives a mask suppress addition when cf is
15320         zero by complementing the mask.
15321
15322 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15323
15324         * Makefile.in: Delete references to enquire.
15325         * enquire.c: Move to contrib.
15326
15327 2002-07-16  Stan Shebs  <shebs@apple.com>
15328
15329         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15330         config/rs6000/darwin.h.
15331         (ASM_OUTPUT_SKIP): Ditto.
15332         (TEXT_SECTION_ASM_OP): Ditto.
15333         (DATA_SECTION_ASM_OP): Ditto.
15334         (ASM_APP_ON): Define.
15335         (ASM_APP_OFF): Define.
15336         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15337         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15338
15339         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15340         (machopic_function_base_name): Declare result to be const.
15341         (machopic_non_lazy_ptr_name): Ditto.
15342         (machopic_stub_name): Ditto.
15343         * config/darwin-protos.h: Ditto for the prototypes.
15344
15345 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15346
15347         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15348
15349 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15350
15351         * i386.md (prefetch): Fix for 64bit mode.
15352         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15353
15354 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15355
15356         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15357         * i386.c (x86_machine_dependent_reorg): New function.
15358         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15359
15360 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15361
15362         * builtins.c (std_expand_builtin_va_start): Remove unused
15363         first argument.
15364         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15365         std_expand_builtin_va_start with just two arguments.
15366         * expr.h: Update prototypes.
15367
15368         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15369         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15370         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15371         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15372         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15373         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15374         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15375         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15376         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15377         argument from all implementations of EXPAND_BUILTIN_VA_START
15378         and all uses of std_expand_builtin_va_start.
15379
15380 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15381
15382         * regrename.c (copy_value): Don't record high part copies.
15383
15384 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15385
15386         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15387         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15388         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15389
15390 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15391
15392         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15393
15394         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15395         into addsi3 using register class "x" and "y".
15396
15397         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15398         "earlyclobber" constraint modifier for some alternative.
15399
15400         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15401         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15402         unordered.
15403         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15404
15405         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15406         (TARGET_SWITCHES): Add -mieee-compare option.
15407         (OVERRIDE_OPTIONS): 32332 is a subset of
15408         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15409         (TARGET_SWITCHES): Fix description of bitfield option.
15410         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15411         -mieee-compare option. Remove 32332 flag.
15412
15413 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15414
15415         * explow.c (convert_memory_address): Remove special handling
15416         when POINTERS_EXTEND_UNSIGNED < 0.
15417         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15418         (movedi_symbolic): Fix typo.
15419         (load_fptr): Remove mode restriction so it works for SI and DI.
15420         (load_fptr_internal1): Ditto.
15421         (load_gprel): Ditto.
15422         (load_symptr_internal1): Ditto.
15423         (call_pic): Ditto.
15424         * config/ia64.c (call_operand): Modify mode check.
15425         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15426         (ia64_expand_move): Ditto.
15427         (ia64_assemble_integer): Handle SImode function pointers.
15428         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15429         (ia64_expand_op_and_fetch): Ditto.
15430         (ia64_expand_compare_and_swap): Ditto.
15431         (ia64_expand_lock_test_and_set): Ditto.
15432         (ia64_expand_lock_release): Ditto.
15433
15434 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15435
15436         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15437
15438 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15439             Richard Earnshaw  <rearnsha@arm.com>
15440
15441         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15442         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15443
15444 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15445
15446         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15447         understands to be a memory clobber.
15448         * arm.c (arm_expand_prologue): Use it.
15449
15450 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15451
15452         * ra-rewrite.c: #include reload.h, insn-config.h
15453         * ra-build.c: #include reload.h
15454         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15455         depend on reload.h, insn-config.h.
15456
15457 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15458
15459         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15460         the same size as a word.
15461
15462         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15463         BYTES_BIG_ENDIAN into account.
15464
15465 Tue Jul 16 12:22:44 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         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15471
15472 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15473
15474         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15475
15476 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15477
15478         * ginclude/varargs.h: Replace with stub which issues #error.
15479         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15480         __builtin_va_start.
15481
15482         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15483         (BUILT_IN_VA_START): New.
15484         * builtins.c (expand_builtin_va_start): Eliminate first
15485         argument and code to implement pre-ISO varargs.
15486         (std_expand_builtin_va_start): Ignore first argument; it is
15487         always 1.
15488         (expand_builtin): Handle BUILT_IN_VA_START and
15489         BUILT_IN_STDARG_START identically.  Delete
15490         BUILT_IN_VARARGS_START case.
15491
15492         * function.c (assign_parms): Delete hide_last_arg and all
15493         its uses.
15494         (mark_varargs): Delete function.
15495         * function.h (struct function): Delete 'varargs' bit.
15496         (current_function_varargs): Delete macro.
15497         * tree.h: Don't declare mark_varargs.
15498
15499         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15500         (c_expand_body): Don't call mark_varargs.
15501         * c-objc-common.c: Handle BUILT_IN_VA_START and
15502         BUILT_IN_STDARG_START identically.  Delete
15503         BUILT_IN_VARARGS_START case.
15504         * c-tree.h: Don't declare c_mark_varargs.
15505         * c-parse.in: Remove grammar rules for '&...' (which has been
15506         commented out since before 2.7.2) and for '...' in K+R
15507         argument declarations.
15508
15509         * builtins.c, function.c, integrate.c, sibcall.c,
15510         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15511         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15512         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15513         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15514         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15515         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15516         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15517         config/stormy16/stormy16.c: Delete all references to
15518         current_function_varargs, and code predicated on that flag.
15519
15520         * config/alpha/alpha.c (alpha_va_start),
15521         config/arc/arc.c (arc_va_start),
15522         config/i386/i386.c (ix86_va_start),
15523         config/mips/mips.c (mips_va_start),
15524         config/mn10300/mn10300.c (mn10300_va_start),
15525         config/rs6000/rs6000.c (rs6000_va_start),
15526         config/s390/s390.c (s390_va_start),
15527         config/sh/sh.c (sh_va_start),
15528         Ignore first argument; it is always 1.
15529
15530         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15531         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15532         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15533         Delete m68hc11_va_start.
15534         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15535         No need to define EXPAND_BUILTIN_VA_START.
15536
15537         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15538         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15539
15540 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15541
15542         PR optimization/7153
15543         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15544         dies in more than one insn.
15545
15546 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15547
15548         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15549
15550 2002-07-15  Michael Matz  <matz@suse.de>,
15551             Daniel Berlin  <dberlin@dberlin.org>,
15552             Denis Chertykov  <denisc@overta.ru>
15553
15554         Add a new register allocator.
15555
15556         * ra.c: New file.
15557         * ra.h: New file.
15558         * ra-build.c: New file.
15559         * ra-colorize.c: New file.
15560         * ra-debug.c: New file.
15561         * ra-rewrite.c: New file.
15562
15563         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15564         (ra-rewrite.o): New .o files for libbackend.a.
15565         (GTFILES): Add basic-block.h.
15566
15567         * toplev.c (flag_new_regalloc): New.
15568         (f_options): New option "new-ra".
15569         (rest_of_compilation): Call initialize_uninitialized_subregs()
15570         only for the old allocator.  If flag_new_regalloc is set, call
15571         new allocator, instead of local_alloc(), global_alloc() and
15572         friends.
15573
15574         * doc/invoke.texi: Document -fnew-ra.
15575         * basic-block.h (FOR_ALL_BB): New.
15576         * config/rs6000/rs6000.c (print_operand): Write small constants
15577         as @l+80.
15578
15579         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15580         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15581         (df_insn_table_realloc): Size argument now is absolute, not relative.
15582         Changed all callers.
15583
15584         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15585         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15586
15587         2002-06-20  Michael Matz  <matz@suse.de>
15588
15589         * df.h (struct ref.id): Make unsigned.
15590         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15591
15592         2002-06-13  Michael Matz  <matz@suse.de>
15593
15594         * df.h (DF_REF_MODE_CHANGE): New flag.
15595         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15596         involving subregs with invalid mode changes, when
15597         CLASS_CANNOT_CHANGE_MODE is defined.
15598
15599         2002-05-07  Michael Matz  <matz@suse.de>
15600
15601         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15602
15603         2002-05-03  Michael Matz  <matz@suse.de>
15604
15605         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15606
15607         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15608
15609         * regclass.c (regclass): Work with all regs which have sets or
15610         refs.
15611         (reg_scan_mark_refs): Count regs inside (clobber ...).
15612
15613         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15614
15615         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15616         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15617         add new refs.
15618         (df_bb_refs_update): Don't clear insns_modified here, ...
15619         (df_analyse): ... but here.
15620
15621         * sbitmap.c (dump_sbitmap_file): New.
15622         (debug_sbitmap): Use it.
15623
15624         * sbitmap.h (dump_sbitmap_file): Add prototype.
15625
15626         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15627
15628         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15629         than assume all emits go through df_insns_modify.
15630
15631         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15632
15633         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15634         increase REG_N_REFS (like flow does), so that regclass doesn't
15635         think a reg is useless, and thus, not calculate a class, when it
15636         really should have.
15637
15638         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15639
15640         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15641         dataflow analysis.
15642
15643 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15644
15645         PR middle-end/7245
15646         * config/i386/i386.c (const_int_1_31_operand): New.
15647         * config/i386/i386.h (PREDICATE_CODES): Add it.
15648         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15649         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15650         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15651
15652 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15653
15654         PR target/7282
15655         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15656         (floatunssidf2): Likewise.
15657         (floatsidf_ppc64): New insn_and_split.
15658         (floatunssidf_ppc64): Likewise.
15659
15660 2002-07-14  Andreas Jaeger  <aj@suse.de>
15661
15662         * config.gcc (sh64): Remove unused
15663         target_requires_64bit_host_wide_int.
15664
15665 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15666
15667         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15668         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15669         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15670         whether clear_by_pieces should be used to clear storage.
15671         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15672
15673         * doc/tm.texi: Document these two new target macros.
15674
15675 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15676
15677         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15678         the scratch register.
15679         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15680         of it, forbid reload to use it.
15681
15682 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15683
15684         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15685         usage on 64-bit hosts, return value was truncated to 32 bits.
15686
15687 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15688
15689         * simplify-rtx.c (simplify_subreg): Handle floating point
15690         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15691         the element mode is requested, compute a subreg with an
15692         integer mode of the same size as the element mode first.
15693
15694 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15695
15696         * combine.c (try_combine): When converting a paradoxical subreg
15697         to an extension, take LOAD_EXTEND_OP into account.
15698
15699 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15700
15701         * config.gcc (mips-sgi-irix6*o32): New configuration.
15702
15703         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15704         configurations.
15705         * configure: Regenerate.
15706
15707         * config/mips/iris6-o32-as.h: New file.
15708         * config/mips/iris6-o32.h: New file.
15709
15710         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15711         (NM_FLAGS): Define.
15712         (HAVE_AS_SHF_MERGE): Undefine.
15713
15714         * config/mips/t-iris5-as: New file.
15715         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15716
15717         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15718         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15719         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15720         dp-bit.c, fp-bit.c): Move ...
15721         * config/mips/t-iris5-6: ... here.
15722         New file, shared by IRIX 5 and IRIX 6.
15723         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15724         mips-sgi-irix5*): Use it.
15725
15726         * config/mips/iris6.h: Remove duplicate comment.
15727
15728         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15729         !TARGET_IRIX6]: Define.
15730         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15731
15732         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15733
15734 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15735
15736         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15737         and delete code to force constant to register.
15738         * pa-protos.h (adddi3_operand): Add prototype.
15739         * pa.c (adddi3_operand): New function.
15740
15741 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15742
15743         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15744         non-ANSI builtin functions.
15745
15746 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15747
15748         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15749         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15750         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15751         (gen_const_vector_0): Use it.
15752
15753 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15754
15755         * pa.md (adddi3): For 32-bit targets, force constants to a register
15756         if they don't fit in an 11-bit immediate.  Change insn predicate to
15757         arith11_operand.  Remove comment.
15758         * pa.c (cint_ok_for_move): Fix comment.
15759         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15760         targets.
15761
15762 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15763
15764         Remove front end hard coding from gengtype.c.
15765
15766         * Makefile.in
15767         (STAGESTUFF): add gtyp-gen.h
15768         (GTFILES): Remove front end specific files.
15769         (GTFILES_FILES_LANGS): New, from configure..
15770         (GTFILES_FILES_FILES): Likewise.
15771         (GTFILES_LANG_DIR_NAMES): Likewise.
15772         (GTFILES_SRCDIR): Likewise.
15773         (gtyp-gen.h): Build from configure information.
15774         (s-gtype): Remove command line parameters from gengtype.
15775         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15776         (mostlyclean): Delete files generated by and for gengtype.
15777
15778         * c-config-lang.in: New file.
15779
15780         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15781         for each language.
15782         (all_gtfiles_files_files): New. Accumulate language for each file
15783         accumulated.
15784         (gtfiles): Pick up value for C.
15785         (srcdir): AC-SUBST this variable.
15786         (all_gtfiles_files_langs): AC-SUBST this variable.
15787         (all_gtfiles_files_files): AC-SUBST this variable.
15788
15789         * configure: Regenerate.
15790
15791         * gengtype-lex.l (parse_file): Make parameter const.
15792
15793         * gengtype.c (toplevel): include gtyp-gen.h.
15794         (BASE_FILE_<language> unnamed enum): Delete.
15795         (lang_names): Delete (replaced by gtyp-gen.h)
15796         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15797         all references.
15798         (NUM_GT_FILES): New.
15799         (NUM_LANG_FILES): New.
15800         (srcdir_len): New.
15801         (NUM_BASE_FILES): Change calculation.
15802         (open_base_files): Change prototype to avoid warning.
15803         (startswith): Delete.
15804         (get_file_basename): Iterate through generated language list not
15805         hard coded list.
15806         (get_base_file_bitmap): Use generated list of files and languages.
15807         (close_output_files): Add prototype to rmove warning.
15808         (main): Iterate through list of generated files from gtyp-gen.h
15809         rather than command line paramaters.  Ignore duplicated file
15810         names.
15811
15812         * gengtype.h (parse_file): Amend prototype for const parameter.
15813
15814         * doc/sourcebuild.texi: Document gtfiles variable.
15815
15816         * doc/gty.texi: Document changes to gtfiles variable for front
15817         ends.
15818
15819         * objc/config-lang.in (gtfiles): Add files needed for objc front
15820         end.
15821
15822 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15823
15824         PR c/2454
15825         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15826         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15827
15828 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15829             Zack Weinberg <zack@codesourcery.com>
15830
15831         * builtins.def: Make the argument types of abort and exit
15832         independent of the front-end.
15833
15834 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15835
15836         * config/rs6000/linux64.h (ASM_SPEC): Define.
15837
15838 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
15839
15840         * config/rs6000/rs6000.c (emit_frame_save): New.
15841         (rs6000_frame_related): Replace reg2 before reg.
15842         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15843         and eh_return registers.
15844
15845 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
15846
15847         Revert all patches for optimization of Complex .op. Real.
15848         * complex_part_zero_p: Remove
15849         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15850         with x.
15851         * expand_cmplxdiv_wide: Ditto.
15852         * expand_binop: Ditto.
15853
15854 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15855
15856         * config/avr/avr.md: Fix two 0x80000000 constants to make them
15857         negative also on 64-bit hosts.
15858
15859         Default to -fno-reorder-blocks when optimizing for size.
15860         * config/avr/avr-protos.h (avr_optimization_options): Declare.
15861         * config/avr/avr.c (avr_optimization_options): New function.
15862         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
15863
15864         Optimize returning from simple functions.
15865         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
15866         * config/avr/avr.c (avr_simple_epilogue): New function.
15867         * config/avr/avr.md (return): New insn.
15868
15869 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
15870
15871         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
15872         HAS_INIT_SECTION to protection.
15873
15874 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
15875
15876         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
15877         deprecated.
15878
15879 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
15880
15881         * combine.c (gen_lowpart_for_combine): Handle vector modes.
15882         Supply non-VOID mode to simplify_gen_subreg.
15883
15884 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
15885
15886         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
15887
15888 2002-07-10  Jeffrey A Law  <law@redhat.com>
15889
15890         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
15891         as appropriate.
15892
15893         * mn10200.c (expand_epilogue): Fix test to determine which scratch
15894         register to use.
15895
15896 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
15897
15898         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
15899         Get mode from dest.
15900         If simplify_gen_subreg fails, try next equivalent.
15901
15902 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
15903
15904         * diagnostic.h: #include location.h
15905         (location_t): Move definition to..
15906         * location.h: ... here.  New file.
15907         * tree.h: #include location.h
15908         (DECL_SOURCE_LOCATION): New macro.
15909         (DECL_SOURCE_FILE): Use.
15910         (DECL_SOURCE_LINE): Likewise.
15911         (struct tree_decl): REplace filename and linenum with locus.
15912         * Makefile.in (TREE_H): add location.h
15913         (diagnostic.o): Depends on gt-location.h
15914         (gt-location.h): Depends on s-gtype
15915
15916 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
15917
15918         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
15919         TARGET_OS_CPP_BUILTINS.
15920         * config/rs6000/aix31.h: Likewise.
15921         * config/rs6000/aix41.h: Likewise.
15922         * config/rs6000/aix43.h: Likewise.
15923         * config/rs6000/aix51.h: Likewise.
15924         * config/rs6000/beos.h: Likewise.
15925         * config/rs6000/darwin.h: Likewise.
15926         * config/rs6000/eabi.h: Likewise.
15927         * config/rs6000/eabisim.h: Likewise.
15928         * config/rs6000/linux.h: Likewise.
15929         * config/rs6000/linux64.h: Likewise.
15930         * config/rs6000/lynx.h: Likewise.
15931         * config/rs6000/mach.h: Likewise.
15932         * config/rs6000/rtems.h: Likewise.
15933         * config/rs6000/sysv4.h: Likewise.
15934         * config/rs6000/vxppc.h: Likewise.
15935
15936 2002-07-09 Devang Patel <dpatel@apple.com>
15937         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
15938         Do not allow ObjC objects as a parameter type for Objective-C methods.
15939         My previous patch restricted  'struct' also.
15940
15941 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
15942
15943         * cpperror.c (cpp_error): Default to directive_line within
15944         directives here.
15945         * cppexp.c (cpp_interpret_integer): Only use traditional
15946         number semantics in directives.
15947         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
15948         (do_include_common): Similarly.
15949         * cpptrad.c (scan_out_logical_line): Implement accurate
15950         quoting of <> in #include.
15951         * doc/cpp.texi: Update.
15952
15953 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
15954                           J"orn Rennecke <joern.rennecke@superh.com>
15955
15956         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
15957         * sh.md (attribute issues): Replace with:
15958         (attribute pipe_model).  All users changed.
15959         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
15960         All users changed.
15961         (function units sh5issue, sh5fds): New.
15962         (attribute is_mac_media): New.
15963         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
15964         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
15965         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
15966         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
15967         (call_media, call_value_media, sibcall_media): Likewise.
15968         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
15969         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
15970         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
15971         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
15972         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
15973         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
15974         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
15975         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
15976         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
15977         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
15978         (truncdfsf2_media): Likewise.
15979         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
15980         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
15981
15982 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15983
15984         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
15985         * sh.c (general_extend_operand, inqhi_operand): New functions.
15986         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
15987         alternatives using 'N' modifier.  Add type.
15988         (adddi3z_media): Likewise.  Enable generator function generation.
15989         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
15990         exact predicates / constraints.  Add type.
15991         (subsi3): Allow 0 for SHMEDIA.
15992         (udivsi3_i4_media): Use match_operand for input values
15993         rather than hard registers.
15994         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15995         unnecessarily through hard registers.  Keep copies of pseudo
15996         registers outside of the libcall sequence.
15997         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
15998         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
15999         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16000         (extendhidi2, extendqidi2): Likewise.
16001         (andsi3_compact): Name.
16002         (andcdi3): Enable generator function generation.
16003         (zero_extendhisi2, zero_extendqisi2): Rename to
16004         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16005         (extendhisi2, extendqisi2): Rename to
16006         (extendhisi2_compact, extendqisi2_compact).
16007         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16008         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16009         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16010         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16011         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16012         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16013         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16014         (shmedia32_initialize_trampoline_big): Likewise.
16015         (shmedia32_initialize_trampoline_little): Likewise.
16016         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16017         (negdi2): Remove spurious T clobber.
16018         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16019         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16020         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16021         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16022         (ic_invalidate_line_media): Write back data cache before invalidating
16023         instruction cache.  Add type.
16024         (movsf_media): Sign-extend when the destination is a general
16025         purpose register.  Add type.
16026         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16027         (casesi_worker_0+1): Only increment ref count for proper label.
16028         (casesi_worker_0+2): Likewise.
16029
16030 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16031
16032         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16033
16034 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16035
16036         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16037         from Pmode to ptr_mode.
16038         (get_exception_pointer): Ditto.
16039         (connect_post_landing_pads): Ditto.
16040         (dw2_build_landing_pads): Ditto.
16041
16042 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16043         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16044         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16045         (handle_pragma_redefine_extname): Change to use new function.
16046
16047 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16048
16049         * combine.c (combine_simplify_rtx): Add an explicit cast
16050         to avoid signed/unsigned comparison warning.
16051         (simplify_if_then_else): Likewise.
16052         (extended_count): Likewise.
16053         (simplify_shift_const): Likewise.
16054         (simplify_comparison): Likewise.
16055
16056 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16057
16058         * config/mips/mips.md: Add imadd type.  Update scheduler description
16059         to use imadd as well as imul.
16060         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16061         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16062         (*mul_sub_si): Likewise for first alternative.  Change second
16063         alternative from imul to multi.
16064
16065 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16066
16067         * c-common.c (c_common_post_options): Update prototype;
16068         don't init backends if preprocessing only.
16069         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16070         * langhooks.h (struct lang_hooks): Update post_options to
16071         return a boolean.
16072         * toplev.c (parse_options_and_default_flags, do_compile,
16073         lang_independent_init): Update prototypes.  Allow the
16074         front end to specify that there is no need to initialize
16075         the back end.
16076         (general_init): Move call to hex_init here...
16077         (toplev_main): ...from here.  Pass flag for back end init
16078         suppression.
16079
16080 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16081
16082         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16083         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16084         greater_comparison_operator and less_comparison_operator.
16085         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16086         more operators.
16087         (equality_comparison_operator): New function.
16088         (greater_comparison_operator, less_comparison_operator): Likewise.
16089         * sh.md (beq_media_i): Disable generator function generation.
16090         Use match_operator to handle a whole class of comparisons.  Add
16091         modifier in output template to provide branch prediction.  Add type.
16092         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16093         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16094         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16095         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16096
16097 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16098
16099         Emit MMIX function prologue and epilogue as rtl.
16100         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16101         not unprototyped get_hard_reg_initial_val.
16102         ("call_value", "nonlocal_goto_receiver"): Ditto.
16103         ("return"): Make define_expand.  Move real insn to...
16104         ("*expanded_return"): New pattern.
16105         ("prologue", "epilogue"): New define_expands.
16106         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16107         (struct machine_function): New member in_prologue.
16108         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16109         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16110         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16111         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16112         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16113         (LOCAL_REGNO): Define.  Adjust comment.
16114         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16115         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16116         leaf_function_p.
16117         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16118         the prologue.
16119         (mmix_target_asm_function_prologue): Make static.  Just mark that
16120         the prologue is being emitted.  Move guts to...
16121         (mmix_expand_prologue): New function.  Adjust for emitting
16122         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16123         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16124         \n.  Move guts to...
16125         (mmix_expand_epilogue): New function.  Adjust for emitting
16126         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16127         (mmix_target_asm_function_end_prologue): Mark that the prologue
16128         has ended.
16129         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16130         (mmix_conditional_register_usage): Improve comments.
16131         (mmix_local_regno): New function.
16132         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16133         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16134         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16135         (mmix_get_hard_reg_initial_val): Ditto.
16136
16137 2002-07-06  Andreas Jaeger  <aj@suse.de>
16138
16139         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16140         definitions.
16141         * gengtype.c (open_base_files): Likewise.
16142         (close_output_files): Likewise.
16143         * tracer.c (find_best_predecessor): Likewise.
16144         (find_best_successor): Likewise.
16145         (ignore_bb_p): Likewise.
16146
16147 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16148
16149         PR c++/7099
16150         * builtin-attrs.def: Define new attribute lists for use in
16151         builtins.def.
16152         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16153         ATTRS argument, an enumerated value defined in builtin-attrs.def
16154         that represents the attribute list for the builtins.  Modify
16155         all builtin functions to pass an appropriate attribute list.
16156         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16157         their required noreturn attributes.
16158         * tree.h (enum_builtin_function): Ignore the additional parameter
16159         to DEF_BUILTIN.
16160         * builtins.c (built_in_names): Likewise.
16161         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16162         argument with a tree representing the functions attribute list.
16163         Pass this "attrs" argument to builtin_function.  No longer handle
16164         the noreturn_p processing manually.
16165         (built_in_attributes): Move the definitions from builtin-attrs.def
16166         before c_common_nodes_and_builtins.
16167         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16168         DEF_BUILTIN, passing it to both builtin_function and the changed
16169         builtin_function_2.
16170
16171         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16172         __builtin__exit and __builtin__Exit.
16173
16174 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16175
16176         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16177         QI mode registers in soft registers.
16178         ("zero_extendqihi2"): Do not take into account soft registers
16179         for register allocation (use '*' constraint).
16180
16181 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16182
16183         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16184         it is dead.
16185         ("*ashrsi3"): Likewise.
16186         ("*lshrsi3"): Likewise.
16187
16188 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16189
16190         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16191         into account.
16192
16193 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16194
16195         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16196         address computation and memory moves.
16197
16198 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16199
16200         PR c++/6706
16201         * dwarfout.c (output_reg_number): Fix warning message.
16202         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16203         before using it.
16204
16205 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16206
16207         * gcc/gcc.c (asm_debug): Move initialization ...
16208         (init_spec): ... here.
16209
16210 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16211
16212         * c-parse.in (extdef): Append ';'.
16213         (old_style_parm_decls): Append ';'.
16214
16215 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16216
16217         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16218         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16219         to gcc_cv_as_gstabs_flag.
16220         * configure: Rebuilt.
16221
16222 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16223
16224         * ggc.h (ggc_add_root): Document as obsolete.
16225
16226 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16227
16228         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16229         (mshflo_w): Likewise.
16230
16231 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16232
16233         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16234         vector mode subregs of constants to finding integer mode
16235         subregs of constants.
16236         * cse.c (cse_insn): Use simplify_gen_subreg.
16237         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16238         From a vector mode expression of different size than the
16239         target mode.
16240
16241 2002-07-03  Eric Christopher  <echristo@redhat.com>
16242
16243         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16244         * config/mips/mips.h: Remove deprecated -m<processor> options
16245         and cc1_cpu_spec associated.
16246         (CONSTANT_ADDRESS_P): Fix last patch.
16247         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16248         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16249         sunge_sf): Remove.
16250
16251 2002-07-03  Stan Shebs  <shebs@apple.com>
16252
16253         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16254         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16255         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16256
16257 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16258
16259         * combine.c (struct_undo): Change types of recorded substitutions
16260         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16261         (do_SUBST_INT): Change types of the substitution from unsigned int
16262         to int, to avoid compilation warning from SUBST_INT's only caller.
16263
16264         (make_extraction): Add cast to avoid compilation warning.
16265         (force_to_mode): Remove cast to avoid compilation warning.
16266
16267 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16268             Jeff Law  <law@redhat.com>
16269
16270         * i386.md (length_immediate attribute): Fix typo.
16271         (length_address attribute): Likewise.
16272         (modrm attribute): Set it to 0 for immediate call instructions.
16273         (jcc_1 pattern): Set modrm attribute to 0.
16274         (jcc_2 pattern ): Likewise.
16275         (jump pattern): Likewise.
16276         (doloop_end_internal pattern): Explicitly set length.
16277         (leave pattern): Fix typo.
16278         (leave_rex64 pattern): Likewise.
16279
16280 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16281
16282         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16283         in FPR as preference.
16284         (fctiwz): Same.
16285         (floatdidf2, fix_truncdfdi2): Same.
16286         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16287         (floatditf2): Same.
16288         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16289         (ctrdi): Remove FPR alternative and splitter.
16290
16291 2002-07-03  Will Cohen  <wcohen@redhat.com>
16292
16293         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16294
16295 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16296
16297         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16298         than UNITS_PER_WORD, unless this is little endian and the first unit
16299         in this word.  Let extract_bit_field decide how to load an element.
16300         Force arguments to matching mode.
16301         (expand_vector_unop): Likewise.
16302
16303         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16304         consist of word_mode elements.
16305         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16306         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16307         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16308         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16309         CONST_VECTOR.
16310         * optabs.c (expand_vector_binop): Try to perform operation in
16311         smaller vector modes with same inner size.  Add handling of AND, IOR
16312         and XOR.  Reject expansion to inner-mode sized scalars when using
16313         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16314         (expand_vector_unop): Try to perform operation in smaller vector
16315         modes with same inner size.  Add handling of one's complement.
16316         When there is no vector negate operation, try a vector subtract
16317         operation.  Use simplify_gen_subreg on constants.
16318         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16319         constants into smaller vectors with same inner mode, and to
16320         integer CONST_DOUBLEs.
16321
16322 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16323
16324         * c-parse.in (parsing_iso_function_signature): New variable.
16325         (extdef_1): New, copied from...
16326         (extdef): ... here.  Reset parsing_iso_function_signature.
16327         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16328         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16329         Warn about ISO C style function definitions.
16330         (nested_function, notype_nested_function): Reset
16331         parsing_iso_function_signature.
16332         (parmlist_2): Set parsing_iso_function_signature.
16333
16334         * doc/invoke.texi (-Wtraditional): Document new behavior.
16335
16336 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16337
16338         * config.gcc (mips*el-*-*): Use tm_defines to set
16339         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16340         * config/mips/little.h: Remove.
16341
16342 2002-07-02 Devang Patel <dpatel@apple.com>
16343
16344         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16345         object as parameter. Prevent something like 'NSObject' to be
16346         used as the type for a method argument.
16347
16348 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16349
16350         * cpptrad.c: Update comment.
16351
16352 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16353
16354         * doc/cpp.texi: Update for traditional preprocessing changes.
16355         * goc/cppopts.texi: Similarly.
16356
16357 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16358
16359         * c-parse.in (designator): Enable designated initializers if ObjC.
16360         (objcmessageexpr): Remove references to objc_receiver_context.
16361         * objc/objc-act.h (objc_receiver_context): Remove decl.
16362         * objc/objc-act.c (objc_receiver_context): Remove.
16363         (lookup_objc_ivar): Test objc_method_context instead of
16364         objc_receiver_context.
16365
16366 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16367
16368         * sh.c (print_operand, case 'N'): Allow zero vector.
16369         (arith_reg_or_0_operand): Likewise.
16370         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16371         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16372         IOR, XOR, PLUS and SET and take their respective constant
16373         ranges into account.
16374         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16375         * sh.md (subdi3, subdi3_media): Allow zero operand.
16376         (movv8qi_i+3): Only vector that is not split is the zero vector.
16377         Fix operand 3 to simplify_subreg.
16378         (movv2si_i): Split alternative 1.
16379         (mshfhi_l_di_rev+1): New splitter.
16380
16381 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16382
16383         PR preprocessor/7029
16384         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16385         implicit "-w" for "-M" and "-MM".
16386         * doc/cppopts.texi: Update.
16387
16388 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16389
16390         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16391         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16392         builtin_function.
16393
16394 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16395
16396         * README.Portability: Fix typos.
16397
16398 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16399
16400         PR target/7177
16401         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16402         of indirections for register inside sign-extended mem part.
16403
16404 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16405
16406         * tree.h:  Modify builtin_function interface to take an extra
16407         argument ATTRS, which is a tree representing an attribute list.
16408
16409         * c-decl.c (builtin_function): Accept additional parameter.
16410         * objc/objc-act.c (builtin_function): Likewise.
16411         * f/com.c (builtin_function): Likewise.
16412         * java/decl.c (builtin_function): Likewise.
16413         * ada/utils.c (builtin_function): Likewise.
16414         * cp/decl.c (builtin_function): Likewise.
16415         (builtin_function_1): Likewise.
16416
16417         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16418         NULL_TREE argument to builtin_function.  (builtin_function_2):
16419         Likewise.
16420         * cp/call.c (build_java_interface_fn_ref): Likewise.
16421         * objc/objc-act.c (synth_module_prologue): Likewise.
16422         * java/decl.c (java_init_decl_processing): Likewise.
16423         * f/com.c (ffe_com_init_0): Likewise.
16424
16425         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16426         NULL_TREE argument to builtin_function.
16427         * config/arm/arm.c (def_builtin): Likewise.
16428         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16429         * config/i386/i386.c (def_builtin): Likewise.
16430         * config/ia64/ia64.c (def_builtin): Likewise.
16431         * config/rs6000/rs6000.c (def_builtin): Likewise.
16432
16433 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16434
16435         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16436         * config/mips/t-isa3264: Likewise.
16437         * config/mmix/t-mmix: Likewise.
16438
16439 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16440
16441         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16442
16443 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16444
16445         PR opt/4046
16446         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16447         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16448         B are truth values.
16449
16450 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16451
16452         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16453
16454 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16455
16456         * README.Portability (Function prototypes): Give an example of
16457         declaring and defining a function with no arguments.
16458
16459         * README.Portability (Function prototypes): Document new
16460         variable-argument function macros.
16461
16462 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16463
16464         * sh.c (langhooks.h): Include.
16465         (sh_init_builtins, sh_media_init_builtins): New functions.
16466         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16467         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16468         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16469         (builtin_description): New struct tag.
16470         (signature_args, bdesc): New arrays.
16471         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16472         (print_operand): Add 'N' modifier.
16473         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16474         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16475         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16476         (CONST_COSTS): Add special case for SHmedia AND.
16477         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16478         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16479         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16480         target_operand can also be const or unspec.
16481         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16482         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16483         (attribute type): Add new types.
16484         (anddi3): Add splitter.
16485         (movdi_const_16bit+1): Add code to handle vector constants and
16486         bitmasks efficiently.
16487         (shori_media): Have generator function made.
16488         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16489         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16490         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16491         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16492         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16493         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16494         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16495         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16496         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16497         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16498         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16499         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16500         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16501         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16502         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16503         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16504         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16505         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16506         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16507         (ftrv): Likewise.
16508
16509         (fpu_switch+1, fpu_switch+2): Remove constraint.
16510
16511 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16512
16513         * tree.c (build_function_type_list): Update function comment.
16514         Rename first argument to return_type.
16515
16516 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16517
16518         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16519         tradcif.y and related files.
16520
16521 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16522
16523         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16524
16525 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16526
16527         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16528
16529 See ChangeLog.7 for earlier changes.