OSDN Git Service

* dbxout.c (lastfile, cwd): Fix `unused' warning.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * dbxout.c (lastfile, cwd): Fix `unused' warning.
4         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
5         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
6         is_main_source, file_table, decl_die_table_in_use,
7         abbrev_die_table_in_use, line_info_table_in_use,
8         separate_line_info_table_in_use, pubname_table_in_use,
9         arange_table_in_use, ranges_table_in_use,
10         current_function_has_inlines): Likewise.
11         * flow.c (life_analysis): Likewise.
12         * genemit.c (gen_insn): Likewise.
13         * protoize.c (cplus_suffix): Likewise.
14
15         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
16         * arm.h (ROUND_UP_WORD): Likewise.
17
18         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
19         warning.
20         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
21         init_emit_once): Likewise.
22         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
23         Likewise.
24         * function.c (assign_stack_temp_for_type): Likewise.
25         * loop.c (loop_invariant_p): Likewise.
26         * recog.c (push_operand): Likewise.
27         * regclass.c (init_reg_sets_1): Likewise.
28         * reload.c (update_auto_inc_notes): Likewise.
29         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
30         * stmt.c (expand_asm_operands): Likewise.
31         * stor-layout.c (start_record_layout): Likewise.
32
33 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
34
35         * config/c4x/c4x.md (epilogue): Correct last patch.
36
37 2003-01-15  Richard Henderson  <rth@redhat.com>
38
39         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
40         also check that GP is being used.
41         (alpha_find_lo_sum_using_gp): New.
42         (alpha_does_function_need_gp): Use get_attr_usegp.
43         * config/alpha/alpha-protos.h: Update.
44         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
45         as needed.
46
47 2003-01-15  Roger Sayle  <roger@eyesopen.com>
48
49         * gcse.c (one_cprop_pass): Change function arguments to take both
50         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
51         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
52         (bypass_jumps): New function to perform separate jump bypassing pass.
53         * rtl.h (bypass_jumps): Add function prototype.
54         * timevar.def (TV_BYPASS): New timing variable.
55         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
56         (dump_file): New entry for the bypass RTL dump file.
57         (rest_of_compilation): Insert new jump bypassing optimization
58         pass after loop.
59         * doc/passes.texi: Document new pass.
60
61 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
62
63         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
64         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
65         * pa.h (TARGET_SOM_SDEF): Define.
66         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
67
68 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
69
70         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to 
71         allocate 4-bytes of locals on 68HC11.
72         (expand_epilogue): Likewise.
73         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
74
75 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
76
77         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
78         and -mshort-double to the assembler to specify the ABI.
79         (LINK_SPEC): Likewise.
80         (CPP_SPEC): Pass HCS12 specific define.
81         (MASK_M68S12): New define.
82         (TARGET_M68S12): Likewise.
83         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
84         (TARGET_VERSION): Update.
85         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
86         (LINK_SPEC): Update.
87         (ASM_SPEC): Update.
88         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
89         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
90
91 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
92
93         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
94         the return code.
95
96 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
97
98         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
99         flag before setting it.
100
101 2003-01-15  Roger Sayle  <roger@eyesopen.com>
102
103         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
104         when loop condition is known true, i.e.  "while (1) { ... }".
105         (genrtl_for_stmt): Similarly for "for" statements.
106
107 2003-01-15  Roger Sayle  <roger@eyesopen.com>
108
109         * real.c (real_sqrt): Return a bool result indicating whether
110         a floating point exception or trap should be raised.
111         * real.h (real_sqrt): Update function prototype.
112         * builtins.c (fold_builtin): Only fold non-trapping square
113         roots unless we're ignoring errno and trapping math.
114
115 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
116
117         * expr.h (emit_conditional_add): Add PARAMS to declaration.
118         * gengtype-lex.l (malloc, realloc): Move defines after include of
119         system.h.  Remove duplicate include of system.h.
120
121 2003-01-15  Roger Sayle  <roger@eyesopen.com>
122
123         PR middle-end/9009
124         * optabs.c (expand_unop):  When manipulating the FP sign bit
125         using integer operations, account for targets with different
126         integer and FP word orders.
127         (expand_abs): Likewise.
128
129 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
130
131         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
132         file extension in section name.
133
134 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
135
136         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
137         constant offset.
138
139 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
140
141         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
142         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
143         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
144         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
145
146 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
147
148         PR f/9258
149         * global.c (struct allocno): Add no_stack_reg. 
150         (global_conflicts): Set no_stack_reg.
151         (find_reg): Use it.
152
153         * convert.c (convert_to_real): Fold - and abs only when profitable.
154         * fold-const.c (fold): Fold truncates in - and abs.
155
156 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
157
158         Segher Boessenkool  <segher@koffie.nl>
159
160         * predict.c (real_inv_br_prob_base): New variable.
161         (propagate_freq): Use multiply by reciprocal instead of
162         division.  Don't divide by 1.0 at all.
163         (estimate_bb_frequencies): Similar.
164
165 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
166
167         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
168         * configure: Rebuilt.
169
170 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
171
172         * config/s390/s390.c (s390_safe_attr_type): New function.
173         (s390_use_dfa_pipeline_interface): New function, return true for z900.
174         (s390_issue_rate): New function.
175         (s390_agen_dep_p): New function.
176         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
177         (s390_adjust_cost): Return 'cost' if new DFA is used.
178         (s390_adjust_priority): Delete function.
179         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
180         * config/s390/s390.md (atype attribute): Attribute 'atype' default
181         determined by 'op_type'.
182         (type attribute): Added more type attributes.
183         * config/s390/2064.md: New DFA description for z900 pipeline.
184         
185 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
186
187         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
188         forced to memory.  Fixes PR bootstrap/9036.
189
190         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
191         to set $gp before the call.
192
193 2003-01-14  Richard Henderson  <rth@redhat.com>
194
195         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
196         for force_const_mem.
197
198 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
199
200         * genattr.c (main): Rearrange output to avoid prototype warning.
201         * genautomata.c (transform_3): Fix ambiguous-else warning.
202         * local-alloc.c (requires_inout): Add parentheses around
203         assignment used as truth-value.
204         * timevar.c: Move system includes above local includes.  Include
205         toplev.h
206         * Makefile.in (timevar.o): Depend on toplev.h.
207
208 2003-01-14  Denis Chertykov  <denisc@overta.ru>
209
210         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
211         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
212
213         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
214         attributes.
215         (TARGET_ATTRIBUTE_TABLE): New macro.
216         (valid_machine_type_attribute): Remove.
217         (valid_machine_decl_attribute): Remove.
218         (ip2k_handle_progmem_attribute): New function.
219         (ip2k_handle_fndecl_attribute): New function.
220
221 2003-01-10  Andrew Haley  <aph@redhat.com>
222
223         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
224         registers to be in correct order.  Add rip.
225
226 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
227
228         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
229         (*iorsi3_and_lshiftrt_9_sb): Likewise.
230
231 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
232
233         * convert.c (strip_float_extensions):  Look for narrowest type handling
234         FP constants.
235
236         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
237         float1 CMP float2.
238         * convert.c (strip_float_extensions): Make global.
239         * tree.h (strip_float_extensions): Declare.
240
241 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
242
243         * timevar.def: define TV_NAME_LOOKUP.
244         * timevar.c (timevar_pop): Be verbose when aborting.
245
246 2003-01-13  Andreas Schwab  <schwab@suse.de>
247
248         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
249         $(parsedir), just move the temporary file at the end.
250         ($(parsedir)/gengtype-yacc.c): Likewise.
251
252 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
253
254         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
255         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
256         splitting.
257         * configure: Rebuilt.
258
259 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
260
261         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
262         internal_mcount): Don't use PARAMS.
263         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
264         ISO C style.
265         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
266
267 2003-01-13  Andreas Schwab  <schwab@suse.de>
268
269         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
270         directive.
271
272 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
273
274         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
275         (*iorsi3_and_lshiftrt_n_sb): Likewise.
276
277 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
278
279         PR c++/9264
280         * c-lex.c (c_lex): Set the token value to error_mark_node for
281         invalid numeric constants.
282
283 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
284
285         * c-pch.c (asm_file_startpos): Change to `long'.
286         (pch_init): Use ftell, not ftello.
287         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
288         Use `long' instead of `off_t'.
289         (c_common_read_pch): Likewise.
290         * ggc-common.c (gt_pch_save): Use long/ftell instead of
291         off_t/ftello.
292
293 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
294
295         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
296
297 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
298
299         * arm-protos.h (struct cpp_reader): Add declaration.
300
301 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
302
303         PR target/9068
304         * i386.c (output_fp_compare): Fix typo.
305
306 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
307
308         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
309
310 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
311
312         * Makefile.in (parsedir): New variable.
313         (docobjdir): New variable.
314         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o, 
315         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
316         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
317         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
318         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man): 
319         Use docobjdir.
320         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
321         objc.maintainer-clean): Use parsedir.
322
323         * varasm.c (struct constant_descriptor_rtx): Remove unused
324         `label' field.
325
326         * toplev.c (documented_lang_options): Document -Winvalid-pch.
327
328 2003-01-10  Richard Henderson  <rth@redhat.com>
329
330         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
331         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
332
333 2003-01-10  Richard Henderson  <rth@redhat.com>
334
335         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
336         not INTEGRAL_MODE_P when widening extensions.
337
338 2003-01-10  Richard Henderson  <rth@redhat.com>
339
340         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
341
342 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
343
344         * ggc-page.c (ggc_collect): Avoid overflow computing
345         min_expand.
346
347         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
348         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
349         Remove calls.
350         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
351
352 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
353
354         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
355         with weird operands.
356
357 2003-01-10  Dale Johannesen <dalej@apple.com>
358
359         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
360         parameters.  Call check_sibcall_argument_overlap if indicated.
361         (check_sibcall_argument_overlap):  Add mark_stored_args_map
362         parameter.  Don't mark parameter area as clobbered if not set.
363         (expand_call):  Adjust calls to above.
364
365 2003-01-10 Kelley Cook <kelleycook@comcast.net>
366
367         * configure.in (linker read-only and read-write section mixing):
368         Squelch some assembler warnings.
369         * configure: Likewise.
370
371 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
372
373         * doc/invoke.texi: Document -mtune, delete -mcpu 
374         option for S/390 and zSeries.
375         * config/s390/s390.c (s390_tune_string) New variable.
376         (s390_cpu_string) Delete variable.
377         (override_options): Use s390_tune_string instead of
378         s390_cpu_string.
379         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
380
381 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
382
383         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
384
385 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
386
387         * jump.c (next_nonnote_insn_in_loop): New function.
388         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
389         next_nonnote_insn.
390         (duplicate_loop_exit_test). Likewise.
391
392 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
393
394         Merge from pch-branch:
395
396         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
397
398         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
399         load.
400
401         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
402
403         * cpplib.c (count_registered_pragmas): New function.
404         (save_registered_pragmas): New function.
405         (_cpp_save_pragma_names): New function.
406         (restore_registered_pragmas): New function.
407         (_cpp_restore_pragma_names): New function.
408         * cpphash.h (_cpp_save_pragma_names): Prototype.
409         (_cpp_restore_pragma_names): Likewise.
410         * cpppch.c (struct save_macro_item): Split from save_macro_data.
411         (struct save_macro_data): New field 'saved_pragmas'.
412         (save_macros): Update for changes to struct save_macro_data.
413         (cpp_prepare_state): Call _cpp_save_pragma_names, update
414         for changes to struct save_macro_data.
415         (cpp_read_state): Call _cpp_restore_pragma_names, update
416         for changes to struct save_macro_data.
417
418         * cpppch.c (cpp_read_state): Restore the hashtable references
419         in the cpp_reader.
420         
421         * tree.h (built_in_decls): Mark for PCH.
422
423         * dbxout.c (lastfile): Don't mark for PCH.
424
425         * ggc.h: Document PCH calls into memory managers.
426
427         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
428
429         * doc/invoke.texi (Precompiled Headers): Document the
430         directory form of PCH.
431         * cppfiles.c (validate_pch): New function.
432         (open_file_pch): Search suitably-named directories for PCH files.
433
434         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
435
436         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
437         reorder options.
438         (Type Information): Mention that the information is also
439         used to implement PCH.
440         * doc/passes.texi (Passes): Improve documentation of
441         language-specific files.
442
443         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
444
445         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
446         (struct walk_type_data): Add reorder_fn field.
447         (walk_type): Process 'reorder' option.
448         (write_types_process_field): Reorder parameters to gt_pch_note_object,
449         call reorder_note_routine.
450         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
451         (ggc_wtd): Update for change to struct write_types_data.
452         (pch_wtd): Likewise.
453         * ggc.h (gt_pch_note_object): Reorder parameters.
454         (gt_handle_reorder): New definition.
455         (gt_pch_note_reorder): New prototype.
456         * ggc-common.c (struct ptr_data): Add reorder_fn.
457         (gt_pch_note_object): Reorder parameters.
458         (gt_pch_note_reorder): New.
459         (gt_pch_save): Call reorder_fn.
460         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
461
462         * dbxout.c (cwd): Don't mark for PCH.
463
464         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
465
466         * gengtype.c (finish_root_table): Fix some warnings.
467         (write_root): Handle TYPE_STRING.
468         * ggc.h (gt_ggc_m_S): Add prototype.
469         * stringpool.c (gt_ggc_m_S): New function.
470
471         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
472
473         * dwarf2out.c (dw2_string_counter): New.
474         (AT_string_form): Use it.
475         (same_dw_val_p): Update for removal of hashtable.h hash tables.
476
477         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
478
479         * dbxout.c: Include gt-dbxout.h.
480         (lastfile): Mark for PCH/GGC.
481         (cwd): Likewise.
482         (struct typeinfo): Likewise.
483         (typevec): Likewise.
484         (typevec_len): Likewise.
485         (next_type_number): Likewise.
486         (struct dbx_file): Likewise.
487         (current_file): Likewise.
488         (next_file_number): Likewise.
489         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
490         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
491         (dbxout_end_source_file): Don't free struct dbx_file.
492         (dbxout_type): Use GGC to allocate typevec.
493         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
494         (GTFILES): Add dbxout.c.
495         (gt-dbxout.h): New rule.
496         
497         * Makefile.in (c-pch.o): Add debug.h as dependency.
498         * c-pch.c: Include debug.h.
499         (pch_init): Call start_source_file to keep nesting right.
500         (c_common_read_pch): Add orig_name parameter.  Call
501         start_source_file debug hook.  Call end_source_file debug hook.
502         * c-common.h (c_common_read_pch): Update prototype.
503         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
504         callback.
505         * cppfiles.c (struct include_file): Add new field `header_name'.
506         (find_or_create_entry): Default it to `name'.
507         (open_file_pch): Set it to the original header file searched for.
508         (stack_include_file): Don't stack an empty buffer, just handle
509         PCH files immediately.  Pass header_name field to read_pch callback.
510
511         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
512
513         * function.c (funcdef_no): Mark to be saved in a PCH.
514
515         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
516
517         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
518
519         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
520
521         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
522
523         * optabs.h (code_to_optab): Add GTY marker.
524
525         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
526
527         * Makefile.in (GTFILES): Add cpplib.h.
528         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
529         * c-decl.c (build_compound_literal): Don't use var_labelno.
530         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
531         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
532         * varasm.c (const_labelno): Use gengtype to mark.
533         (var_labelno): Likewise.
534         (in_section): Likewise.
535         (in_named_name): Likewise.
536         (struct in_named_entry): Likewise.
537         (in_named_htab): Likewise.
538         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
539         (init_varasm_once): Use GGC to allocate in_named_htab.
540         * config/darwin.c (current_pic_label_num): Mark for PCH.
541
542         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
543
544         * ggc-simple.c (init_ggc_pch): New stub procedure.
545         (ggc_pch_count_object): Likewise.
546         (ggc_pch_total_size): Likewise.
547         (ggc_pch_this_base): Likewise.
548         (ggc_pch_alloc_object): Likewise.
549         (ggc_pch_prepare_write): Likewise.
550         (ggc_pch_write_object): Likewise
551         (ggc_pch_finish): Likewise.
552         (ggc_pch_read): Likewise.
553
554         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
555
556         * c-pch.c (c_common_write_pch): Write the macro definitions after
557         the GCed data.
558         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
559         definitions after the GCed data.
560         * cpplib.c (save_macros): New.
561         (reset_ht): New.
562         (cpp_write_pch_deps): Split out of cpp_write_pch.
563         (cpp_write_pch_state): Split out of cpp_write_pch.
564         (cpp_write_pch): Delete.
565         (struct save_macro_data): Delete.
566         (cpp_prepare_state): New.
567         (cpp_read_state): Erase and restore initial macro definitions.
568         * cpplib.h (struct save_macro_data): Forward-declare.
569         (cpp_write_pch_deps): Prototype.
570         (cpp_write_pch_state): Prototype.
571         (cpp_write_pch): Delete prototype.
572         (cpp_prepare_state): Prototype.
573         (cpp_read_state): Add fourth argument.
574
575         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
576
577         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
578         (write_array): Remove warning.
579
580         * gengtype.c (contains_scalar_p): New.
581         (finish_root_table): Add the table to all languages, even if it's
582         empty.
583         (write_roots): Output gt_pch_scalar_rtab.
584         * ggc-common.c (gt_pch_save): Write out scalars.
585         (gt_pch_restore): Read scalars back.
586
587         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
588         (struct page_entry): Delete pch_page field.
589         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
590         (clear_marks): Likewise.
591         (sweep_pages): Likewise.
592         (poison_pages): Likewise.
593         (ggc_print_statistics): Likewise.
594         (ggc_pch_read): Don't free objects read from a PCH.
595         Properly set up in_use_p and page_tails.
596
597         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
598
599         * gengtype.c (struct write_types_data): New.
600         (struct walk_type_data): Make `cookie' const; add extra
601         prev_val item; add `orig_s' field.
602         (walk_type): Update prev_val[3].
603         (write_types_process_field): New.
604         (write_func_for_structure): Take write_types_data structure.
605         (write_types): New.
606         (ggc_wtd): New.
607         (pch_wtd): New.
608         (write_types_local_process_field): New.
609         (gc_mark_process_field): Delete.
610         (write_local_func_for_structure): New.
611         (gc_mark_func_name): Delete.
612         (write_gc_types): Delete.
613         (write_local): New.
614         (finish_root_table): Don't include 'ggc_' in PFX.
615         (write_root): Rename from write_root.  Fill pchw field of structures.
616         (write_array): New.
617         (write_roots): Rename from write_gc_roots.  Split out to write_array.
618         Update to changes to other routines.  Write gt_pch_cache_rtab table.
619         (main): Write PCH walking routines.
620         * ggc-common.c: Include toplev.h, sys/mman.h.
621         (ggc_mark_roots): For cache hashtables, also mark the hash table
622         and the array of entries.
623         (saving_htab): New.
624         (struct ptr_data): New.
625         (POINTER_HASH): New.
626         (gt_pch_note_object): New.
627         (saving_htab_hash): New.
628         (saving_htab_eq): New.
629         (struct traversal_state): New.
630         (call_count): New.
631         (call_alloc): New.
632         (compare_ptr_data): New.
633         (relocate_ptrs): New.
634         (write_pch_globals): New.
635         (struct mmap_info): New.
636         (gt_pch_save): New.
637         (gt_pch_restore): New.
638         * ggc-page.c (ROUND_UP_VALUE): New.
639         (ROUND_UP): New.
640         (struct page_entry): Add field `pch_page'.
641         (init_ggc): Use ROUND_UP.
642         (struct ggc_pch_data): Declare.
643         (init_ggc_pch): New.
644         (ggc_pch_count_object): New.
645         (ggc_pch_total_size): New.
646         (ggc_pch_this_base): New.
647         (ggc_pch_alloc_object): New.
648         (ggc_pch_prepare_write): New.
649         (ggc_pch_write_object): New.
650         (ggc_pch_finish): New.
651         (ggc_pch_read): New.
652         * ggc.h (gt_pointer_operator): New.
653         (gt_note_pointers): New.
654         (gt_pch_note_object): New prototype.
655         (gt_pointer_walker): New.
656         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
657         (LAST_GGC_ROOT_TAB): Update.
658         (gt_pch_cache_rtab): Declare.
659         (gt_pch_scalar_rtab): Declare.
660         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
661         (LAST_GGC_CACHE_TAB): Update.
662         (gt_pch_save_stringpool): Declare.
663         (gt_pch_restore_stringpool): Declare.
664         (gt_pch_p_S): Declare.
665         (gt_pch_n_S): Declare.
666         (struct ggc_pch_data): Forward-declare.
667         (init_ggc_pch): Declare.
668         (ggc_pch_count_object): Declare.
669         (ggc_pch_total_size): Declare.
670         (ggc_pch_this_base): Declare.
671         (ggc_pch_alloc_object): Declare.
672         (ggc_pch_prepare_write): Declare.
673         (ggc_pch_write_object): Declare.
674         (ggc_pch_finish): Declare.
675         (ggc_pch_read): Declare.
676         (gt_pch_save): Declare.
677         (gt_pch_restore): Declare.
678         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
679         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
680         const_double_htab, mem_attrs_htab using GGC.
681         * c-pch.c: Include ggc.h.
682         (pch_init): Allow reading PCH file back.
683         (c_common_write_pch): Call gt_pch_save.
684         (c_common_read_pch): Call gt_pch_restore.
685         * c-parse.in (init_reswords): Delete now-untrue comment.
686         Allocate ridpointers using GGC.
687         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
688         calling expand_deferred_fns.
689         * c-common.h (ridpointers): Mark for GTY machinery.
690         * Makefile.in (stringpool.o): Update dependencies.
691         (c-pch.o): Update dependencies.
692         (ggc-common.o): Update dependencies.
693         * stringpool.c: Include gt-stringpool.h.
694         (gt_pch_p_S): New.
695         (gt_pch_n_S): New.
696         (struct string_pool_data): New.
697         (spd): New.
698         (gt_pch_save_stringpool): New.
699         (gt_pch_restore_stringpool): New.
700         * tree.c (init_ttree): Make type_hash_table allocated using GC.
701         
702         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
703
704         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
705         (output_mangled_typename): Don't pass size_t to printf.
706
707         * tree.h (union tree_type_symtab): Add tag to `address' field.
708         (union tree_decl_u2): Add tag to 'i' field.
709         * varasm.c (union rtx_const_un): Add tags to all fields.
710         * gengtype.c (struct walk_type_data): New.
711         (output_escaped_param): Take struct walk_type_data parameter.
712         (write_gc_structure_fields): Delete.
713         (walk_type): New.
714         (write_gc_marker_routine_for_structure): Delete.
715         (write_func_for_structure): New.
716         (gc_mark_process_field): New.
717         (gc_mark_func_name): New.
718         (gc_counter): Delete.
719         (write_gc_types): Use write_func_for_structure.
720         (write_gc_roots): Use walk_type.
721
722         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
723
724         * ggc-common.c (ggc_mark_roots): Delete 'x'.
725         (ggc_splay_dont_free): Fix warning about unused 'x'.
726         (ggc_print_common_statistics): Remove warnings.
727
728         2002-10-01  Mike Stump  <mrs@apple.com>
729
730         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
731         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
732
733         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
734             Catherine Moore  <clm@redhat.com>
735
736         * Makefile (c-pch.o): Update dependencies.
737         (LIBCPP_OBJS): Add cpppch.o.
738         (cpppch.o): New.
739         * c-common.c (c_common_init): Don't call pch_init here.
740         * c-common.h (c_common_read_pch): Update prototype.
741         * c-lex.c (c_common_parse_file): Call pch_init here.
742         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
743         (c_common_decode_option): Handle them.
744         * c-pch.c: Include c-pragma.h.
745         (save_asm_offset): Delete.
746         (pch_init): Move contents of save_asm_offset into here, call
747         cpp_save_state.
748         (c_common_write_pch): Call cpp_write_pch.
749         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
750         cpp_valid_state.
751         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
752         * cppfiles.c (stack_include_file): Update for change to 
753         parameters of cb.read_pch.
754         * cpphash.h (struct cpp_reader): Add `savedstate' field.
755         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
756         `restore_pch_deps' fields.
757         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
758         (cpp_save_state): Prototype.
759         (cpp_write_pch): Prototype.
760         (cpp_valid_state): Prototype.
761         (cpp_read_state): Prototype.
762         * cpppch.c: New file.
763         * flags.h (version_flag): Remove prototype.
764         * mkdeps.c (deps_save): New.
765         (deps_restore): New.
766         * mkdeps.h (deps_save): Prototype.
767         (deps_restore): Prototype.
768         * toplev.c (late_init_hook): Delete.
769         (version_flag): Make static again.
770         (compile_file): Don't call late_init_hook.
771         * toplev.h (late_init_hook): Delete.
772         * doc/cppopts.texi: Document -fpch-deps.
773         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
774
775         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
776
777         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
778         callers.
779         (c_common_valid_pch): Rename from c_valid_pch, change callers.
780         (c_common_read_pch): Rename from c_read_pch, change callers.
781
782         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
783         a space between it and its argument.
784
785         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
786
787         * c-pch.c: New file.
788         * toplev.h (late_init_hook): Declare.
789         * toplev.c (late_init_hook): Define.
790         (version_flag): Make globally visible.
791         (compile_file): Call late_init_hook.
792         (init_asm_output): Make output file seekable.
793         * gcc.c (default_compilers): Update c-header rule.
794         * flags.h (version_flag): Declare.
795         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
796         fields.
797         * cppfiles.c (struct include_file): Add 'pch' field.
798         (INCLUDE_PCH_P): New.
799         (open_file_pch): New.
800         (stack_include_file): Handle PCH files specially.
801         (find_include_file): Call open_file_pch instead of open_file.
802         (_cpp_read_file): Explain why open_file is used instead of
803         open_file_pch.
804         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
805         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
806         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
807         in cpplib callbacks.
808         * c-common.c (pch_file): Correct comment.
809         (allow_pch): Define.
810         (c_common_init): Call pch_init.
811         * c-common.h (allow_pch): Declare.
812         (pch_init): Declare.
813         (c_valid_pch): Declare.
814         (c_read_pch): Declare.
815         (c_write_pch): Declare.
816         * Makefile.in (c-pch.o): New.
817         (C_AND_OBJC_OBJS): Add c-pch.o.
818         * doc/invoke.texi (Precompiled Headers): Add index entries,
819         complete truncated paragraph.
820
821         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
822
823         * c-common.c: (pch_file): Define.
824         * c-common.h (pch_file): Declare.
825         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
826         (missing_arg): Require --output-pch= to have an argument.
827         (c_common_decode_option): Handle --output-pch=.
828         * gcc.c: Document new %V.
829         (default_compilers): Handle compiling C header files.
830         (do_spec_1): Implement %V.
831         (main): Handle "gcc foo.h" without trying to run linker.
832         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
833         (Overall Options): Document what the driver does with header files,
834         document new -x option possibilities.
835         (Invoking G++): More documentation for PCH.
836         (Precompiled Headers): New.
837
838         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
839
840         * ggc.h: Don't include varray.h.  Rearrange functions to be more
841         organized.
842         (ggc_add_root): Delete.
843         (ggc_mark_rtx): Delete.
844         (ggc_mark_tree): Delete.
845         (struct ggc_statistics): Remove contents.
846         * ggc-common.c: Remove unneeded includes.
847         (struct ggc_root): Delete.
848         (roots): Delete.
849         (ggc_add_root): Delete.
850         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
851         (ggc_print_common_statistics): Remove most of the contents.
852         * Makefile.in (GGC_H): No longer uses varray.h.
853         (ggc-common.o): Update dependencies.
854         (c-parse.o): Add varray.h to dependencies.
855         (c-common.o): Add varray.h.
856         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
857         (mark_ident_hash): Rename to ggc_mark_stringpool.
858         (init_stringpool): Don't use ggc_add_root.
859         * c-parse.in: Include varray.h.
860         * c-common.c: Include varray.h.
861         * objc/Make-lang.in (objc-act.o): Add varray.h.
862         * objc/objc-act.c: Include varray.h.
863
864         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
865
866         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
867         (dw_cfi_oprnd1_desc): Likewise.
868
869         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
870
871         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
872         move out of ifdef.
873         (alpha_links): Use gengtype to mark; move out of ifdef.
874         (mark_alpha_links_node): Delete.
875         (mark_alpha_links): Delete.
876         (alpha_need_linkage): Use GGC to allocate splay tree, struct
877         alpha_links, strings.  Don't use ggc_add_root.
878         * ggc-common.c (ggc_splay_alloc): New.
879         (ggc_splay_dont_free): New.
880         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
881         (ggc_mark_tree): Likewise.
882         (splay_tree_new_ggc): New.
883         (ggc_splay_alloc): Declare.
884         (ggc_splay_dont_free): Declare.
885         * dwarf2asm.c: Include gt-dwarf2asm.h.
886         (mark_indirect_pool_entry): Delete.
887         (mark_indirect_pool): Delete.
888         (indirect_pool): Use gengtype to mark.
889         (dw2_force_const_mem): Don't use ggc_add_root.
890         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
891         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
892         (gt-dwarf2asm.h): Depend on s-gtype.
893
894         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
895
896         * tree.h (union tree_type_symtab): Mark `die' field.
897         * Makefile.in (dwarf2out.o): Update dependencies.
898         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
899         hash tables.
900         (dw_cfi_oprnd1_desc): New function.
901         (dw_cfi_oprnd2_desc): New function.
902         (indirect_string_alloc): Delete.
903         (debug_str_do_hash): New function.
904         (debug_str_eq): New function.
905         (mark_limbo_die_list): Delete.
906         (dwarf2out_init): Don't call ggc_add_root.
907
908 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
909
910         The following changes are merged from itanium-sched-branch:
911
912         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
913
914         * doc/md.texi: Clarify assignment of units to automata description.
915
916         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
917
918         * genautomata.c (unit_decl): Remove members
919         `the_same_automaton_unit' and
920         `the_same_automaton_message_reported_p'.
921         (process_unit_to_form_the_same_automaton_unit_lists,
922         form_the_same_automaton_unit_lists_from_regexp,
923         form_the_same_automaton_unit_lists, the_same_automaton_lists):
924         Remove them.
925         (annotation_message_reported_p): New global variable.
926         (check_unit_distribution_in_reserv,
927         check_regexp_units_distribution): New functions.
928         (check_unit_distributions_to_automata): Rewrite it.
929
930         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
931
932         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
933         Use continue instead of break if cycle is too big.
934
935         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
936
937         * genautomata.c (check_unit_distributions_to_automata): Output at
938         most one message for a unit.
939         (process_unit_to_form_the_same_automaton_unit_lists): Check
940         automaton of units instead of units themself.
941
942         * doc/md.texi: Describe the constraint about assigning unit to
943         automata.
944
945         2002-12-20  Jan Hubicka  <jH@suse.cz>
946                     Vladimir Makarov  <vmakarov@redhat.com>
947
948         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
949         and `in_set_p'.
950         (gen_cpu_unit): Initialize the new members.
951         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
952         up `min_occ_cycle_num'.
953         (evaluate_max_reserv_cycles): Change the function call.
954         (CLEAR_BIT): New macro.
955         (states_union, state_shift): Use the mask.
956         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
957         (form_reservs_matter): New function.
958         (make_automaton): Call the function and use the mask.
959         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
960         account.
961         
962         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
963
964         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
965
966         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
967
968         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
969         for Itanium.
970
971         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
972
973         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
974         default cpu.
975
976         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
977                 2002-10-31  Dale Johannesen <dalej@apple.com>
978
979         * haifa-sched.c (find_set_reg_weight): New function.
980         (find_insn_reg_weight): Use the new function.
981         (schedule_block): Do sorting ready queue always
982         after insn issue.
983
984         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
985
986         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
987
988         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
989
990         * haifa-sched.c (choice_entry): New structure.
991         (choice_stack, cycle_issued_insns): New variables.
992         (max_issue): Rewrite it.
993         (choose_ready): Set up ready_try for unknown insns too.
994         (schedule_block): Allocate and free choice_stack.  Set up
995         and modify cycle_issued_insns.
996
997         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
998         with and without filling the bundle.
999         (bundling): Combine calls of issue_nops_and_insn.
1000         
1001         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1002
1003         * config/ia64/itanium1.md: New file.
1004
1005         * config/ia64/itanium2.md: New file.
1006
1007         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1008         Remove the old pipeline description.
1009         
1010         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1011         itanium processor names.
1012         
1013         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1014
1015         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1016         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1017
1018         * config/ia64/ia64.md: Add descriptions for Itanium2.
1019
1020         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1021
1022         * config/ia64/ia64.h (processor_type): New enumeration.
1023         (ia64_tune, ia64_tune_string): New external declarations.
1024         (TARGET_OPTIONS): Add option `tune='.
1025
1026         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1027         variables.
1028         (ia64_override_options): Set up `ia64_tune'.
1029         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1030         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1031         (bundling): Add nops for MM-insns only for Itanium.
1032         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1033         Itanium.
1034
1035         * config/ia64/ia64.md (cpu): New attribute.
1036         (DFA description): Enable it only for Itanium.
1037         
1038         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1039                     Richard Henderson  <rth@redhat.com>
1040
1041         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1042         MASK_EARLY_STOP_BITS.
1043         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1044         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1045         `early-stop-bits'.
1046         
1047         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1048         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1049         instead of TARGET_TUNE_STOP_BITS.
1050         
1051         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1052         `-mearly-stop-bits'.
1053
1054         * config/ia64/ia64.c (automata_option "v"): Comment it.
1055         
1056         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1057
1058         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1059         New macros.
1060         (TARGET_SWITCHES): Add entries for the new option.
1061         
1062         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1063         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1064         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1065         global variables.
1066         (ia64_sched_reorder2): Set up `clocks'.
1067         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1068         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1069         queue when TARGET_TUNE_STOP_BITS.
1070         (bundling): Insert additional nops for MM-insns.
1071         (final_emit_insn_group_barriers): Add insertion of stop bits
1072         according `stops_p'.
1073         (ia64_reorg): Initiate the new varibales.
1074
1075         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1076         
1077         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1078
1079         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1080         insns at the end of block insn scheduling.
1081
1082         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1083
1084         * sched-deps.c (remove_dependence, group_leader): Remove it.
1085         (add_dependence): Add dependence to group leader to.
1086         (set_sched_group_p): Add dependence to the first insn of the
1087         schedule group too.
1088         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1089         Change true dependence by anti-dependence when
1090         `reg_pending_barrier'.
1091
1092         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1093         add_branch_dependences): Ignore schedule groups.
1094
1095         * sched-ebb.c (init_ready_list): Ditto.
1096
1097         * (move_insn, set_priorities): Ditto.
1098
1099         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1100         flag is clear after reload.
1101         (adjust_cost): Change cost only for output dependencies.
1102         
1103         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1104         
1105         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1106
1107         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1108
1109         * target.h (gcc_target): Add member
1110         `dependencies_evaluation_hook'.
1111
1112         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1113         macro.
1114         (TARGET_SCHED): Add initiatialization of the new member.
1115
1116         * sched-ebb.c: Include `target.h'.
1117         (schedule_ebb): Call `dependencies_evaluation_hook'.
1118
1119         * sched-rgn.c (schedule_region): Call
1120         `dependencies_evaluation_hook'.
1121
1122         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1123         New macro.
1124         (ia64_dependencies_evaluation_hook): New function.
1125
1126         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1127         Describe the new hook.
1128         
1129         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1130
1131         * target.h (gcc_target): Add members
1132         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1133
1134         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1135         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1136         macros.
1137         (TARGET_SCHED): Add initiatialization of the new members.
1138
1139         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1140         insn scheduling too.
1141         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1142         initialize `ready_try'.
1143         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1144         `dfa_new_cycle' says not to do it.
1145         
1146         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1147         bundling.
1148
1149         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1150
1151         * config/ia64/ia64.c: Include `hashtab.h'.
1152         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1153         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1154         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1155         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1156         bundle_state_eq_p, insert_bundle_state,
1157         initiate_bundle_state_table, finish_bundle_state_table,
1158         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1159         get_template, get_next_important_insn, bundling): New functions.
1160         (ia64_internal_sched_reorder): Remove it.
1161         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1162         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1163         (ia64_safe_itanium_requires_unit0): Remove it.
1164         (group_barrier_needed_p): Place group barrier right before a real
1165         insn.
1166         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1167         Remove them.
1168         (bundle_name): New variable.
1169         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1170         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1171         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1172         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1173         temp_dfa_state, prev_cycle_state): New global variables.
1174         (insn_matches_slot, maybe_rotate, finish_last_head,
1175         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1176         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1177         find_best_packet, itanium_reorder, dump_current_packet,
1178         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1179         (sched_data, sched_ready, sched_types): Remove them.
1180         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1181         `init_insn_group_barriers'.
1182         (ia64_sched_reorder, ia64_sched_reorder2): Call
1183         ia64_dfa_sched_reorder.
1184         (ia64_variable_issue): Rewrite it.
1185         (bundle_state): New structure.
1186         (index_to_bundle_states, bundle_states_num,
1187         allocated_bundle_states_chain, free_bundle_state_chain): New
1188         global variables.
1189         (ia64_sched_finish): Add stop bits and call `bundling' after the
1190         2nd insn scheduling.
1191         (ia64_use_dfa_pipeline_interface): Return zero always.
1192         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1193         insn scheduling.
1194         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1195         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1196         (ia64_reorg): Add bundling insns.
1197
1198         * doc/tm.texi
1199         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1200         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1201         
1202         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1203
1204         * config/ia64/ia64.md: Add Itanium1 DFA description.
1205         (itanium_class): Add `nop' and `pre_cycle'.  Add
1206         define_function_unit for `nop'.
1207         (nop): Change attribute `itanium_class'.
1208         (pre_cycle): New define_insn.
1209
1210         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1211         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1212         ia64_produce_address_p): New function prototypes.
1213
1214         * config/ia64/ia64.c (bundling_p): New global variable.
1215         (ia64_use_dfa_pipeline_interface,
1216         ia64_first_cycle_multipass_dfa_lookahead,
1217         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1218         functions.
1219         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1220         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1221         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1222         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1223         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1224         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1225         (dfa_pre_cycle_insn): New variable.
1226         
1227         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1228
1229         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1230         constructions.
1231
1232         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1233         New function prototypes.
1234
1235         * genattrtab.c (main): Process the new constructions.
1236
1237         * genautomata.c (gen_presence_absence_set,
1238         process_presence_absence_names, process_presence_absence_patterns,
1239         add_presence_absence, check_absence_pattern_sets): Add parameter
1240         `final_p'.
1241         (unit_decl): Add new members `final_presence_list' and
1242         `final_absence_list'.
1243         (unit_pattern_rel_decl): Add new member `final_p'.
1244         (gen_final_presence_set, gen_final_absence_set): New functions.
1245         (process_decls): Use member `final_p'.
1246         (temp_reserv): New global variable.
1247         (reserv_sets_are_intersected): Add processing `final_presence_set'
1248         and `final_absence_set'.
1249         (initiate_states): Allocate `temp_reserv'.
1250         (unit_final_presence_set_table, unit_final_absence_set_table): New
1251         gloabal variables.
1252         (initiate_presence_absence_pattern_sets): Initiate them.
1253         (NDFA_to_DFA): Fix typo.
1254         (output_description): Output `final_presence_set' and
1255         `final_absence_set'.
1256
1257         * doc/md.texi (final_presence_set, final_absence_set): Describe
1258         them.
1259         
1260         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1261
1262         * genautomata.c (transform_3): Process a missing case (nothing on
1263         unit place).
1264
1265         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1266
1267         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1268         comments about queried units and the minimization.
1269         
1270         * doc/md.texi: Ditto.
1271         
1272         * genautomata.c (create_composed_state): Return nonzero if the new
1273         state has been created.
1274         (first_cycle_unit_presence): New function.
1275         (state_is_differed): Add new parameter.  Use the new function.
1276         Take queried units into account.
1277         (partition_equiv_class): Pass additional parameter to
1278         `state_is_differed'.
1279         (merge_states): Process composed states too.
1280         (build_automaton, create_automata, output_min_issue_delay_table,
1281         output_tables, output_statistics): Output more information.
1282         (output_reserved_units_table): Use function
1283         `first_cycle_unit_presence'.
1284         (output_tables): Output table of queried units even if the
1285         minimization is switched on.
1286         (write_automata): Output code for querying units even if the
1287         minimization is switched on.
1288         
1289         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1290
1291         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1292         syntax of the constructions.
1293         
1294         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1295         extended syntax of the constructions.
1296         
1297         * genautomata.c (unit_rel_decl): Rename it to
1298         `unit_pattern_rel_decl'.
1299         (pattern_set_el, pattern_reserv): New structures.
1300         (pattern_set_el_t, pattern_reserv_t): New types.
1301         (gen_presence_absence_set): New function.
1302         (process_presence_absence): Remove it.
1303         (process_presence_absence_names,
1304         process_presence_absence_patterns): New functions.
1305         (get_presence_absence_set): Remove it.
1306         (initiate_presence_absence_sets): Rename it on
1307         `initiate_presence_absence_pattern_sets'.  Use new function
1308         `form_reserv_sets_list'.
1309         (form_reserv_sets_list, check_presence_pattern_sets,
1310         check_absence_pattern_sets, output_pattern_set_el_list): New
1311         functions.
1312         (unit_decl): Change types of members `presence_list' and
1313         `absence_list'.
1314         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1315         (decl): Change types of members `excl', `presence', and `absence'.
1316         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1317         at the end of the vector.
1318         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1319         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1320         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1321         (gen_presence_set, gen_absence_set): Use new function
1322         `gen_presence_absence_set'.
1323         (add_presence_absence): Process `pattern_list' instead of
1324         `source_list'.
1325         (process_decls): USe new functions
1326         `process_presence_absence_names' and
1327         `process_presence_absence_patterns'.
1328         (reserv_sets_are_intersected): Use new function
1329         `check_presence_pattern_sets'.
1330         (presence_set, absence_set): Remove them.
1331         (unit_presence_set_table, unit_absence_set_table): New global
1332         variables.
1333         (output_description): Use new function
1334         `output_pattern_set_el_list'.
1335         (generate): Use `initiate_presence_absence_pattern_sets'.
1336         
1337         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1338
1339         * genattr.c (main): Add output of prototype of new interface
1340         function `dfa_clean_insn_cache'.
1341
1342         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1343         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1344         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1345         the generated code.
1346         (write_automata): Call the new function.
1347         
1348 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1349
1350         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1351         correctly.
1352
1353 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1354
1355         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1356
1357 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1358
1359         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1360         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1361         (CONSTRAINT_LEN): Provide default definition.
1362         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1363         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1364         (EXTRA_CONSTRAINT_STR): Likewise.
1365         (REG_CLASS_FROM_CONSTRAINT): Define.
1366         * genoutput.c (check_constraint_len, constraint_len): New functions.
1367         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1368         constraint / modifier.
1369         (gen_insn): Call check_constraint_len.
1370         * local-alloc.c (block_alloc): Update to use new macros / pass
1371         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1372         * ra-build.c (handle_asm_insn): Likewise.
1373         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1374         (constrain_operands, peep2_find_free_register): Likewise.
1375         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1376         * regmove.c (find_matches): Likewise.
1377         * reload.c (push_secondary_reload, find_reloads): Likewise.
1378         (alternative_allows_memconst): Likewise.
1379         * reload1.c (maybe_fix_stack_asms): Likewise.
1380         (reload_cse_simplify_operands): Likewise.
1381         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1382         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1383         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1384         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1385         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1386         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1387
1388         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1389
1390 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1391
1392         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1393         length.
1394         (*extzv_1_r_h8300hs): Likewise.
1395         (*extzv_1_r_inv_h8300): Likewise.
1396         (*extzv_1_r_inv_h8300hs): Likewise.
1397
1398 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1399
1400         * config/h8300/h8300.h (PREDICATE_CODES): New.
1401
1402 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1403
1404         * config/h8300/h8300.md (*addsi3_upper): New.
1405         (*iorsi3_shift): Likewise.
1406         (two splitters): Likewise.
1407         (*addsi3_shift): Likewise.
1408         (two splitters): Likewise.
1409
1410 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1411
1412         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1413         * basic-block.h (control_flow_insn_p): Fuction was exported.
1414         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1415         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1416         notes only when the region is contained in a single basic block.
1417
1418 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1419
1420         PR inline-asm/8832
1421         * tree.h (expand_asm): New prototype.
1422         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1423         to do so.
1424         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1425         down to expand_asm.
1426         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1427         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1428         (volatile_refs_p) [ASM_INPUT]: Likewise.
1429         (side_effects_p) [ASM_INPUT]: Likewise.
1430
1431 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1432
1433         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1434         athlon_decode attributes
1435         (imul/k8 optimization peep2s): New.
1436
1437         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1438         * i386.md (type attribute): Add ssecomi.
1439         (unit, memory, prefix attributes): Handle ssecomi.
1440         (cvt?2? patterns): Fix athlon_decode attribute
1441         (comi patterns): Set attribute to ssecomi.
1442
1443         PR target/8343
1444         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1445
1446 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1447
1448         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1449         that match register_operands.
1450         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1451         register_operand the default case.
1452
1453 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1454
1455         PR c/8032
1456         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1457         an empty element, do not advance the pointer to unfilled
1458         fields if there are pending initializers.
1459
1460 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1461
1462         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1463         (install-gcc-tooldir, install-cpp, installdirs,
1464         install-common, install-driver, install-info, install-man,
1465         install-headers, install-include-dir, install-headers-tar,
1466         install-headers-cpio, install-headers-cp, install-mkheaders,
1467         install-collect2, uninstall): Prepend $(DESTDIR) to
1468         destination paths in all (un)installation commands.
1469         (install-driver): Rewrite $(LN) commands to support DESTDIR
1470         with "ln" as well as with "ln -s".
1471         (installdirs): Simply use mkinstalldirs.
1472         (install-libgcc, install-multilib): Also pass DESTDIR.
1473         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1474         installation destination variable ldir.
1475         * config/alpha/t-osf4, config/arm/t-netbsd,
1476         config/ia64/t-hpux, config/mips/t-iris5-6,
1477         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1478         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1479         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1480         in the definition of SHLIB_INSTALL.
1481         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1482         $(libsubdir) in the installation commands.
1483
1484 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1485
1486         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1487         non-optimizing compile.
1488         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1489         compile.
1490
1491 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1492
1493         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1494         ms_struct and gcc_struct.
1495         (ix86_handle_struct_attribute): New function.
1496         (ix86_ms_bitfield_layout_p): Update to take new attributes
1497         into account.
1498         * doc/extend.texi: Document new attributes.
1499         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1500
1501 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1502
1503         PR optimization/8750
1504         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1505         scheduling pass to move insns across __alloca call.
1506
1507 2003-01-08  Dale Johannesen  <dalej@apple.com>
1508
1509         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1510         with *stmsi[3-8].
1511
1512 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1513
1514         PR target/9210
1515         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1516         Set SYMBOL_REF_FLAG on local data sym_ref.
1517
1518 2003-01-08  Dale Johannesen  <dalej@apple.com>
1519  
1520         * function.c (assign_parms):  Don't set pretend_args_size if 
1521           REG_PARM_STACK_SPACE.
1522           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set 
1523           pretend_args_size.
1524
1525 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1526
1527         * gcc.hlp: Delete.
1528
1529 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1530
1531         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1532
1533 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1534
1535         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1536         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1537         as hook_bool_tree_hwi_hwi_tree_true.
1538         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1539         (rs6000_emit_epilogue): Same.
1540         (rs6000_output_mi_thunk): Re-implement as RTL.
1541         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1542         xcoffout_declare_function if any debugging enabled.
1543
1544 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1545
1546         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1547         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1548         * config/mips/mips.h (enum processor_type): Rename
1549         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1550         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1551         Add PROCESSOR_M4K.
1552         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1553         (ISA_MIPS32R2): New define.
1554         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1555         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1556         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1557         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1558         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1559         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1560         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1561         compiling MIPS16 code.
1562         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1563         comment.
1564         (ISA_HAS_SEB_SEH): New define.
1565         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1566         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1567         processor_type value renaming.  Add support for MIPS32R2.
1568         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1569         entries.
1570         (override_options): Reimplement -mipsN option handling so that
1571         it will work correctly for -mips32r2.  Avoid branch-likely
1572         instructions on MIPS32R2.
1573         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1574         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1575         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1576         (extendhisi2_hw, extendqisi2_hw): New.
1577         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1578         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1579         MIPS32R2, and MIPS64.
1580         (LINK_SPEC): Pass -mips32r2 to linker.
1581         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1582         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1583         for mips32r2 in the -march description.  Alphabetically sort
1584         CPU names in the -march description.  Add long-missed -mips32
1585         and -mips64 to MIPS option summary.
1586
1587         * config.gcc: Update copyright years to include 2003.
1588         * config/mips/mips.c: Likewise.
1589         * config/mips/mips.h: Likewise.
1590         * config/mips/mips.md: Likewise.
1591         * config/mips/netbsd.h: Likewise.
1592         * doc/invoke.texi: Likewise.
1593
1594 2003-01-08  Andreas Schwab  <schwab@suse.de>
1595
1596         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1597         variable.
1598         * configure: Regenerated.
1599
1600 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1601
1602         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1603         extraction of det with b0, b1, w0, w2, etc.
1604         (compute_logical_op_length): Likewise.
1605         (compute_logical_op_cc): Likewise.
1606
1607 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1608
1609         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1610         HIGH on all variants.
1611
1612 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1613         
1614         * Makefile.in (PARTITION_H): New.
1615         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1616         * basic-block.h: Include hard-reg-set.h.
1617
1618 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1619
1620         * arm.h (ENABLE_XF_PATTERNS): Delete.
1621         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1622         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1623         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1624         (cmpxf_trap): Delete.
1625         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1626
1627 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1628
1629         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1630         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1631         (add??cc): New expanders.
1632         * i386.c (expand_int_addcc): New function.
1633         * i386-protos.h (expand_int_addcc): Declare.
1634
1635         * alias.c (memory_modified_1): New static function.
1636         (memory_modified): New static varaible.
1637         (memory_modified_in_insn_p): New global function.
1638         * rtl.h (memory_modified_in_insn_p): Declare.
1639         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1640         references.
1641
1642         * expr.h (emit_conditional_add): Declare.
1643
1644 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1645
1646         PR other/8947
1647         * doc/invoke.texi (-malign-double): Explain that the option breaks
1648         binary compatibility.
1649
1650 2003-01-08  Andreas Schwab  <schwab@suse.de>
1651
1652         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1653         should come from the generic *-*-linux* entry.
1654
1655 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1656
1657         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1658         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1659         we are inside libcall.
1660         * cselib.h (elt_loc_list): Add in_libcall.
1661         * gcse.c (do_local_cprop): Do not copy propagate using insns
1662         in libcalls.
1663
1664 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1665
1666         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1667         not normally affect to issue rate.
1668
1669 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1670
1671         * genopinit.c (optabs): Add addc_optab.
1672         * ifcvt.c (noce_try_store_flag): Rename to ...
1673         (noce_try_addcc): ... this one; handle generic conditional increment.
1674         (noce_process_if_block): Update noce_try_addcc call.
1675         * optabs.c (emit_conditional_add): New.
1676         (init_obtabs): Initialize addc_optab.
1677         * optabs.h (optab_index): Add OTI_addcc.
1678         (addcc_optab): New macro.
1679         * md.texi: Document addMcc
1680
1681         PR target/8322
1682         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1683         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1684         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1685
1686         * reload1.c (delete_output_reload): Avoid repeated attempts
1687         to delete insn.
1688
1689 2003-01-07  Andreas Schwab  <schwab@suse.de>
1690
1691         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1692         Move --enable-initfini-array check ...
1693         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1694         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1695         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1696         * configure: Rebuild.
1697
1698 2003-01-07  Richard Henderson  <rth@redhat.com>
1699
1700         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1701         if the register is set once.
1702
1703 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1704   
1705         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1706         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1707         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1708
1709 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1710             Sunil Davasam  <sunil.k.davasam@intel.com>
1711
1712         PR libstdc++/9076 
1713         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1714         DW_CFA_same_value, read next and ignore.
1715
1716 2003-01-07  Richard Henderson  <rth@redhat.com>
1717
1718         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1719
1720 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1721
1722         * cfg.c: Include alloc-pool.h
1723         (edge_pool): New pool.
1724         (bb_pool): New pool.
1725         (first_deleted_edge): Remove.
1726         (first_deleted_block): Remove.
1727         (init_flow): Alloc/free the pools.
1728         (free_edge): Use pools.
1729         (alloc_block): Ditto.
1730         (expunge_block): Ditto.
1731         (cached_make_edge): Ditto.
1732
1733         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1734
1735 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1736
1737         * et-forest.c: Include alloc-pool.h.
1738         (struct et_forest): Add node_pool and occur_pool.
1739         (et_forest_create): Create the new pools.
1740         (et_forest_delete): Delete them.
1741         (et_forest_add_node): Allocate and free using pools.
1742         (et_forest_add_edge): Ditto.
1743         (et_forest_remove_node): Ditto.
1744         (et_forest_remove_edge): Ditto.
1745
1746         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1747
1748 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1749
1750         * config/h8300/h8300.c (output_logical_op): Simplify and
1751         optimize the handling of SImode.
1752         * config/h8300/h8300.c (compute_logical_op_length): Update
1753         accordingly.
1754         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1755
1756 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1757
1758         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1759         big-endian correction to indirect arguments too.
1760
1761 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1762
1763         Segher Boessenkool  <segher@koffie.nl>
1764
1765         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1766         (alt_reg_names): Ditto, fix formatting.
1767         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1768
1769 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1770
1771         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1772         (output_logical_op): Constify intval and det.
1773         (compute_logical_length): Likewise.
1774         (compute_logical_cc): Likewise.
1775         (output_a_shift): Constify mask.
1776         (h8300_encode_label): Constify len.
1777
1778 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1779
1780         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1781         (h8300_expand_epilogue): Likewise.
1782
1783 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1784
1785         Segher Boessenkool  <segher@koffie.nl>
1786
1787         * config/rs6000/altivec.md: Remove spaces from assembler
1788         instruction argument lists.
1789         
1790 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1791
1792         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1793         c4x_assembler_function_p.
1794         (c4x_null_epilogue_p): Complement return value, all uses updated.
1795         (c4x_insert_attributes): Add naked.
1796         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1797         * doc/extend.texi: Update C4x function attributes.
1798
1799 2003-01-06  Richard Henderson  <rth@redhat.com>
1800
1801         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1802         properly when changing "local-ness".
1803         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1804
1805 2003-01-06  Dale Johannesen  <dalej@apple.com>
1806
1807         * config/darwin-protos.h:  Add prototypes for new section functions.
1808
1809 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1810
1811         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1812         to EABI.
1813
1814 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1815
1816         * hwint.h: If the current compiler has no 64-bit type at all,
1817         make HOST_WIDEST_INT 32 bits.
1818
1819 2003-01-06  Eric Christopher  <echristo@redhat.com>
1820
1821         * config/mips/mips.md (movdf_internal2): Fix constraints.
1822
1823 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1824
1825         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1826
1827 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1828
1829         * config/mips/mips.md (leadi): Use dla rather than la.
1830
1831 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1832
1833         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1834         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1835
1836 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1837
1838         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1839         redefinition.
1840
1841 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1842
1843         * config/h8300/h8300.md (*extzv_8_23): New.
1844
1845 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1846
1847         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1848         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1849         USE_EH_FRAME_REGISTRY when defining.
1850
1851 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1852
1853         * config/h8300/h8300.c (output_a_shift): Do not output a
1854         variable shift.
1855         * config/h8300/h8300.md (two splitters): New.
1856
1857 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1858
1859         * config/mips/mips.md: Disable the movstrsi define_split.
1860
1861 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1862
1863         * alloc-pool.c: Don't include "libiberty.h".
1864         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1865         * convert.c (convert_to_real): Hide unused variable.
1866
1867 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1868
1869         * Makefile.in (gtyp-gen.h): Const-ify.
1870         * gcov-dump.c (tag_table): Likewise.
1871
1872 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1873
1874         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1875         of *both* the file name and the fix name.
1876
1877 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
1878
1879         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
1880         collect2.
1881         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1882         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1883         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1884         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1885         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1886         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1887         elfos.h.
1888         (EH_FRAME_IN_DATA_SECTION): Delete define.
1889         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1890         (STARTFILE_SPEC): Use crtbegin.o.
1891         (ENDFILE_SPEC): Use crtend.o.
1892         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1893         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1894         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1895         DTOR_LIST_BEGIN): Define.
1896         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
1897         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
1898         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
1899
1900 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
1901
1902         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
1903         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
1904         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
1905         Cleanup handling of replacement text.
1906         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
1907
1908 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1909
1910         * fixinc/tests/base/math.h: removed obsolete results
1911         * fixinc/tests/base/stdlib.h: ditto
1912         * fixinc/tests/base/sys/param.h: ditto
1913         * fixinc/tests/base/sys/stat.h: ditto
1914         * fixinc/tests/base/time.h: ditto
1915         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
1916         * fixinc/tests/base/sys/byteorder.h: ditto
1917         * fixinc/inclhack.def: Remove superfluous backslashes
1918
1919 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
1920
1921         * config/h8300/h8300-protos.h: Add prototypes for
1922         the new functions defined below.
1923         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
1924         define.
1925         (dosize): Emit RTL instead of assembly code.
1926         (push): Likewise.
1927         (pop): Likewise.
1928         (h8300_output_function_prologue): Remove.
1929         (h8300_expand_prologue): New.
1930         (h8300_expand_epilogue): New.
1931         (h8300_output_function_epilogue): Do only the reset of
1932         pragma_saveall.
1933         * config/h8300/h8300.md (push_h8300): New.
1934         (push_h8300hs): Likewise.
1935         (pop_h8300): Likewise.
1936         (pop_h8300hs): Likewise.
1937         (*stm_h8300s_2): Change the name to stm_h8300s_2.
1938         (*stm_h8300s_3): Change the name to stm_h8300s_3.
1939         (*stm_h8300s_4): Change the name to stm_h8300s_4.
1940         (*ldm_h8300s_2): New.
1941         (*ldm_h8300s_3): Likewise.
1942         (*ldm_h8300s_4): Likewise.
1943         (return): Likewise.
1944         (*return_1): Likewise.
1945         (prologue): Likewise.
1946         (epilogue): Likewise.
1947         (monitor_prologue): Likewise.
1948
1949 2003-01-03  Dale Johannesen  <dalej@apple.com>
1950
1951         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
1952           machopic_picsymbol_stub1.
1953           (EXTRA_SECTION_FUNCTIONS):  Ditto.
1954         * rs6000/rs6000.c:  Update copyright.
1955           (machopic_output_stub):  Use them.  Remove an insn from stub code.
1956
1957 2003-01-02  Jason Merrill  <jason@redhat.com>
1958
1959         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
1960
1961         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
1962         static/external decls.
1963
1964         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
1965         outermost scope.
1966         * c-decl.c (c_make_fname_decl): Push the decls there, too.
1967
1968 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
1969
1970         * config/h8300/h8300-protos.h: Add a prototype for
1971         h8300_current_function_interrupt_function_p.
1972         * config/h8300/h8300.c (interrupt_handler): Remove.
1973         (os_task): Likewise.
1974         (monitor): Likewise.
1975         (pragma_interrupt): New.
1976         (WORD_REG_USED): Use
1977         h8300_current_function_interrupt_function_p.
1978         (dosize): Likewise.
1979         (h8300_output_function_prologue): Likewise.
1980         Do not set interrupt_handler, os_task, monitor.
1981         (h8300_output_function_prologue): Use
1982         h8300_current_function_interrupt_function_p.
1983         Do not set interrupt_handler, os_task, monitor.
1984         (h8300_current_function_interrupt_function_p): New.
1985         (h8300_pr_interrupt): Set pragma_interrupt.
1986         (h8300_insert_attributes): Reset pragma_interrupt.
1987
1988 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1989
1990         * doc/install.texi (Configuration): Fix markup for reference to
1991         gcc/config.gcc.
1992
1993 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
1994
1995         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
1996         (*iorhi3_two_qi): Likewise.
1997         (*iorsi3_zexthi): Likewise.
1998         (*xorhi3_zextqi): Likewise.
1999         (*xorsi3_zexthi): Likewise.
2000         (*xorsi3_zextqi): Likewise.
2001
2002 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2003
2004         * config/h8300/h8300.c (stack_pointer_operand): New.
2005         (const_int_gt_2_operand): Likewise.
2006         (const_int_ge_8_operand): Likewise.
2007         * config/h8300/h8300.md (a splitter): Likewise.
2008         (a peephole2): Likewise.
2009         * config/h8300/h8300-protos.h: Add prototypes for the new
2010         functions above.
2011
2012 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2013
2014         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2015         objc/objc-act.h: Fix copyright years.
2016
2017 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2018
2019         * doc/passes.texi: Fix documentation for -fssa-ccp
2020
2021 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2022
2023         * gccbug.in: Update for new categories.
2024
2025 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2026
2027         * config/h8300/h8300.md: Reorder some patterns.
2028
2029 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2030
2031         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2032
2033 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2034
2035         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2036         config/cris/cris-protos.h, config/i370/i370-protos.h,
2037         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2038         config/v850/v850-protos.h: Use struct, and don't conditionally
2039         compile on GCC_C_PRAGMA_H.
2040
2041 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2042
2043         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2044         * config/h8300/h8300-protos.h: Likewise.
2045         * config/sh/sh-protos.h: Likewise.
2046
2047 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2048
2049         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2050         cpp_reader.
2051         * config/h8300/h8300-protos.h: Likewise.
2052         * config/sh/sh-protos.h: Likewise.
2053
2054 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2055
2056         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2057         arm_pr_long_calls_off): Use struct.
2058         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2059         : Similarly.
2060         Don't include cpplib.h.
2061         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2062         sh_pr_nosave_low_regs): Similarly.
2063
2064 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2065
2066         * config/h8300/h8300.c: Include cpplib.h.
2067
2068 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2069
2070         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2071           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2072           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2073           "GCC" in the copyright header.
2074
2075 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2076
2077         * c-pragma.c (c_register_pragma): New.
2078         (init_pragma): Use it.
2079         * c-pragma.h (cpp_register_pragma): Don't declare.
2080         (c_register_pragma): New.
2081         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2082         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2083         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2084         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2085         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2086         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2087         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2088         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2089         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2090         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2091         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2092         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2093
2094 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2095
2096         * config/h8300/h8300-protos.h: Update the prototypes.
2097         * config/h8300/h8300.c (const_le_2_operand): Change to
2098         const_int_le_2_operand.
2099         (const_int_le_6_operand): Change to const_int_le_6_operand.
2100         * config/h8300/h8300.md (two peepholes): Update the function
2101         names.
2102
2103 2002-12-31  Tom Tromey  <tromey@redhat.com>
2104
2105         * doc/install.texi (Testing): Fixed typo.
2106
2107 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2108
2109         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2110         (TRAMPOLINE_SIZE): Support the normal mode.
2111         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2112
2113 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2114
2115         * c-common.h (pending_lang_change): Declare.
2116
2117 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2118
2119         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2120         descriptions.
2121
2122 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2123
2124         * gcc/doc/invoke.texi (Optimization Options): List the options
2125         enabled by each -O flag.
2126
2127 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2128
2129         * doc/install.texi (Configuration): Explicitly refer
2130         gcc/config.gcc for a list of cpu models.
2131
2132 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * config/h8300/h8300.h: Fix comment typos.
2135
2136 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2137
2138         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2139
2140 2002-12-30  Tom Tromey  <tromey@redhat.com>
2141
2142         * doc/install.texi (Testing): Mention Jacks.
2143
2144 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2145
2146         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2147
2148 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2149
2150         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2151         cases.
2152         (compute_logical_op_length): Update to reflect the change in
2153         output_logical_op.
2154         (compute_logical_op_cc): Likewise.
2155
2156 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2157
2158         * doc/service.texi: Uncomment and update FAQ link.
2159
2160 2002-12-30  Andreas Jaeger  <aj@suse.de>
2161
2162         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2163
2164 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2165
2166         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2167
2168 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2169
2170         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2171         are clearing the most significant byte.
2172         (compute_logical_op_length): Update to reflect the change in
2173         output_logical_op.
2174         (compute_logical_op_cc): Likewise.
2175
2176 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2177
2178         * config/h8300/h8300.md: Give internal names to anonymous
2179         insns.
2180
2181 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2182
2183         * config/h8300/h8300.md: Reorder some insns.
2184
2185 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2186
2187         * config/h8300/h8300-protos.h: Add prototypes for
2188         const_int_qi_operand and const_int_hi_operand.
2189         * config/h8300/h8300.c (const_int_qi_operand): New.
2190         (const_int_hi_operand): Likewise.
2191         * config/h8300/h8300.md (three peepholes): New.
2192
2193 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2194
2195         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2196         Use @copying.
2197
2198 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2199
2200         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2201         * configure: Regenerate.
2202         * doc/install.texi: Update Texinfo version requirement.
2203
2204 2002-12-28  Andreas Jaeger  <aj@suse.de>
2205
2206         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2207         possibly unused.
2208
2209         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2210         correct format.
2211
2212 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2213
2214         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2215         *iorhi_ashift_8.
2216         (*iorhi_lshiftrt_8): New.
2217
2218 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2219
2220         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2221
2222 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2223
2224         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2225
2226 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2227
2228         * config/h8300/h8300-protos.h: Fix comment typos.
2229         Update copyright.
2230         * config/h8300/h8300.c: Fix comment typos.
2231
2232 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2233
2234         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2235
2236 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/i386/athlon.md: Fix comment typos.
2239         * config/i386/crtdll.h: Likewise.
2240         * config/i386/djgpp.h: Likewise.
2241         * config/i386/i386-interix.h: Likewise.
2242         * config/i386/i386.c: Likewise.
2243         * config/i386/i386.h: Likewise.
2244         * config/i386/i386.md: Likewise.
2245         * config/i386/k6.md: Likewise.
2246         * config/i386/mingw32.h: Likewise.
2247         * config/i386/pentium.md: Likewise.
2248         * config/i386/sco5.h: Likewise.
2249         * config/i386/winnt.c: Likewise.
2250         * config/i386/xmmintrin.h: Likewise.
2251
2252 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2253
2254         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2255         INSN_P before checking to see if it is dead.
2256         (mark_all_insn_unnecessary): Similarly.
2257         (ssa_eliminate_dead_code): Similarly.
2258         * rtl.h (struct rtx_def): Update comments for in_struct usage
2259         in dead code elimination pass.
2260         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2261
2262 2002-12-26  Andreas Schwab  <schwab@suse.de>
2263
2264         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2265
2266 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2267
2268         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2269         tartet_flags_explicit.
2270         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2271         Compact target_flags bits.
2272         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2273         (TARGET_SWITCHES): Delete references to *_SET flags.
2274
2275 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2276
2277         * i386.md (memory attribute): Fix setcc attribute.
2278
2279 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2280
2281         * output.h: Fix comment typos.
2282         * predict.c: Likewise.
2283         * print-tree.c: Likewise.
2284         * profile.c: Likewise.
2285         * ra-build.c: Likewise.
2286         * ra-colorize.c: Likewise.
2287         * ra-debug.c: Likewise.
2288         * ra-rewrite.c: Likewise.
2289         * ra.c: Likewise.
2290         * ra.h: Likewise.
2291         * real.c: Likewise.
2292         * recog.c: Likewise.
2293         * reg-stack.c: Likewise.
2294         * regclass.c: Likewise.
2295
2296 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2297
2298         * config/h8300/h8300.c (print_operand_address): Do not negate
2299         a negative number when printing one.
2300
2301 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2302
2303         * config/h8300/h8300-protos.h: Add prototypes for
2304         output_plussi, compute_plussi_length, and compute_plussi_cc.
2305         * config/h8300/h8300.c (output_plussi): New.
2306         (compute_plussi_length): Likewise.
2307         (compute_plussi_cc): Likewise.
2308         * config/h8300/h8300.md (addsi_h8300h): Call
2309         output_plussi, compute_plussi_length, and compute_plussi_cc.
2310
2311 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2312
2313         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2314         of match_operand in the new patterns.
2315
2316 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2317
2318         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2319
2320 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2321
2322         * configure.in (enable-coverage): Add SELF_COVERAGE.
2323         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2324
2325 2002-12-24  Jim Wilson  <wilson@redhat.com>
2326
2327         * alias.c (record_set): Handle multi-reg hard registers.
2328
2329 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2330
2331         * regmove.c: Fix comment typos.
2332         * reload.c: Likewise.
2333         * reload1.c: Likewise.
2334         * resource.c: Likewise.
2335         * rtl.def: Likewise.
2336         * rtl.h: Likewise.
2337         * rtlanal.c: Likewise.
2338         * sched-deps.c: Likewise.
2339         * sched-rgn.c: Likewise.
2340         * sibcall.c: Likewise.
2341         * simplify-rtx.c: Likewise.
2342         * ssa-ccp.c: Likewise.
2343         * ssa.c: Likewise.
2344         * stmt.c: Likewise.
2345         * stor-layout.c: Likewise.
2346         * system.h: Likewise.
2347         * tlink.c: Likewise.
2348         * toplev.c: Likewise.
2349         * tracer.c: Likewise.
2350         * tree-inline.c: Likewise.
2351         * tree.c: Likewise.
2352         * tree.h: Likewise.
2353         * unroll.c: Likewise.
2354         * varasm.c: Likewise.
2355
2356 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2357
2358         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2359         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2360         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2361         DG/UX entries.
2362         * doc/md.texi: Remove AMD 29K entries.
2363         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2364         1.38.1, NewsOS, RT PC, WE32K entries.
2365
2366 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2367
2368         PR/8763
2369         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2370         (altivec_vspltisw_v4sf): Name pattern.
2371         (altivec_vslw_v4sf): New pattern.
2372
2373 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2374
2375         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2376
2377 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2378
2379         * stor-layout.c (update_alignment_for_field): Correct handling of
2380         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2381         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2382         bitfield does not affect alignment.
2383
2384 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2385
2386         * expr.c (expand_assignment): Apply special treatment to
2387         ARRAY_TYPE.
2388
2389 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2390
2391         * config/h8300/h8300-protos.h: Update the prototype of
2392         expand_a_shift.
2393         * config/h8300/h8300.c (expand_a_shift): Change the return
2394         type to void.
2395         * config/h8300/h8300.md: Update all the uses of
2396         expand_a_shift.
2397
2398 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2399
2400         * tree.c (save_expr): Allow either side of a dyadic operand to be
2401         constant.
2402
2403         * doc/portability.texi (portability): Update portability goals.
2404
2405 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2406
2407         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2408
2409 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2410
2411         * stor-layout.c (update_alignment_for_field): Guard use of
2412         ADJUST_FIELD_ALIGN with #ifdef.
2413
2414         * stor-layout.c (update_alignment_for_field): Use
2415         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2416         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2417
2418 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2419
2420         * genautomata.c: Fix comment typos.
2421
2422 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2423
2424         * params.def (tracer-min-branch-probability-feedback): Fix default.
2425         * final.c (compute_alignments): Use profile to avoid code bloat.
2426
2427 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2428
2429         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2430         sequences end with a valid cc0 whenever possible.
2431
2432 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2433
2434         * config/h8300/h8300.md (negsf2): New.
2435         (*negsf2_h8300): Likewise.
2436         (*negsf2_h8300hs): Likewise.
2437
2438 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2439
2440         * integrate.c (output_inline_function): Don't hold private
2441         pointers to 'struct function' over GC calls.
2442
2443 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2444
2445         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2446         NO_FPSCR_VALUES.
2447         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2448
2449 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2450
2451         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2452         length.
2453
2454 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2455
2456         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2457         second alternative "#".
2458         (*zero_extendqihi2_h8300hs): Likewise.
2459         (a define_split): New.
2460
2461 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2462
2463         * config/h8300/h8300-protos.h: Update the prototype for
2464         split_adds_subs.
2465         Add prototypes for const_le_2_operand and const_le_6_operand.
2466         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2467         specify whether inc/dec should be used when possible.
2468         (const_le_2_operand): New.
2469         (const_le_6_operand): Likewise.
2470         * config/h8300/h8300.md (two peepholes): New.
2471
2472 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2473
2474         * config/fr30/fr30.md: Fix a comment typo.
2475         * config/i386/i386.c: Likewise.
2476         * config/ip2k/ip2k.h: Likewise.
2477
2478 2002-12-20  Jim Wilson  <wilson@redhat.com>
2479
2480         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2481         (__ev_subw, __ev_subiw): New.
2482         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2483         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2484
2485 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2486
2487         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2488         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2489         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2490         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2491
2492 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2493
2494         * config/h8300/h8300-protos.h: Add prototypes for
2495         incdec_operand and eqne_operator.
2496         * config/h8300/h8300.c (incdec_operand): New.
2497         (eqne_operator): Likewise.
2498         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2499         (CONST_OK_FOR_O): Likewise.
2500         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2501         CONST_OK_FOR_O.
2502         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2503         (addhi3_incdec): New.
2504         (addsi3_incdec): Likewise.
2505         (two peepholes): Likewise.
2506
2507 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2508
2509         * config/h8300/h8300.c (dosize): Remove warnings.
2510         (print_operand): Likewise.
2511
2512 2002-12-20  Richard Henderson  <rth@redhat.com>
2513
2514         * config/alpha/alpha.c (decl_has_samegp): New.
2515         (samegp_function_operand): Use it.  Rename from
2516         current_file_function_operand.
2517         (direct_call_operand): Handle -msmall-text via symbol->jump.
2518         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2519         (tls_symbolic_operand_type): Likewise.
2520         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2521         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2522         (alpha_end_function): Set symbol->jump for functions defined in
2523         the text section.
2524         * config/alpha/alpha-protos.h: Update.
2525         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2526         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2527         (PREDICATE_CODES): Update.
2528         * config/alpha/alpha.md (call patterns): Update for
2529         samegp_function_operand rename; use !samegp reloc if
2530         TARGET_EXPLICIT_RELOCS.
2531         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2532
2533 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2534
2535         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2536         all registers capable of holding a double float.
2537         (*rcond): change name of "reverse branch" insns to
2538         something more meaningful.
2539         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2540         comparisons properly.
2541         (*ffs): Change operand 0 from write to read-modify-write.
2542         (*ffsssi2): Drop constraints from define_expand.
2543
2544         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2545         MOVE_RATIO as default for store operations.
2546
2547         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2548         LONG_REGS class.
2549         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2550         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2551         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2552
2553         * config/ns32k/STATUS: New File
2554         * config/ns32k/NOTES: New file.
2555
2556 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2557
2558         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2559         option for S/390 and zSeries.
2560         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2561         s390_arch_string): New variables.
2562         (override_options): Checking for options and setting of
2563         appropriate target_flags, cpu and arch flags.
2564         * config/s390/s390.h: (processor_type): New enum.
2565         (TARGET_SWITCHES): New switches -mesa/zarch.
2566         * config/s390/s390.md: New attribute 'cpu'.
2567
2568 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2569
2570         * c-pretty-print.h: Fix comment typos.
2571         * integrate.c: Likewise.
2572         * varasm.c: Likewise.
2573         * config/c4x/c4x.h: Likewise.
2574         * config/c4x/c4x.md: Likewise.
2575         * config/fr30/fr30.md: Likewise.
2576         * config/frv/frv.c: Likewise.
2577         * config/h8300/h8300.c: Likewise.
2578         * config/i386/i386.c: Likewise.
2579         * config/i386/i386.h: Likewise.
2580         * config/ia64/ia64.c: Likewise.
2581         * config/ia64/ia64.h: Likewise.
2582         * config/ip2k/ip2k.md: Likewise.
2583         * config/m68hc11/m68hc11-crt0.S: Likewise.
2584         * config/m68hc11/m68hc11.h: Likewise.
2585         * config/m68hc11/m68hc11.md: Likewise.
2586         * config/m68hc11/m68hc12.h: Likewise.
2587         * config/mcore/mcore.md: Likewise.
2588         * config/mips/mips.c: Likewise.
2589         * config/mips/mips.md: Likewise.
2590         * config/mmix/mmix-modes.def: Likewise.
2591         * config/pa/pa.c: Likewise.
2592         * config/rs6000/rs6000.c: Likewise.
2593         * config/rs6000/rs6000.h: Likewise.
2594         * config/rs6000/rs6000.md: Likewise.
2595
2596 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2597
2598         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2599         output shifts using rotation.
2600
2601 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2602
2603         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2604
2605 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2606
2607         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2608         pointer.
2609         (pushqi_h8300hs): Likewise.
2610         (pushhi_h8300): Likewise.
2611         (pushhi_h8300hs): Likewise.
2612
2613 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2614
2615         * sched-rgn.c (init_regions): Update comment.
2616
2617 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2618
2619         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2620         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2621         attributes.
2622         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2623         (get_vrsave_internal,set_vrsave_internal): Same.
2624         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2625         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2626         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2627
2628 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2629             Danny Smith  <dannysmith@users.sourceforge.net>
2630             Eric Kohl  <ekohl@rz-online.de>
2631
2632         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2633         attributes incompatible with fastcall attribute.
2634         (ix86_handle_regparm_attribute): Likewise.
2635
2636         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2637         fastcall types.
2638
2639         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2640         attributes.
2641         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2642         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2643         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2644         i386_pe_output_labelref rather than here.
2645         (gen_fastcall_suffix): New function. Decorates a label name with the
2646         fastcall prefix (@) and the stdcall suffix.
2647         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2648         has a fastcall attribute.
2649         (i386_pe_output_labelref): New function. Outputs a label reference.
2650         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2651         valid attribute.
2652         (ix86_return_pops_args): Fastcall functions pop the stack.
2653         (init_cumulative_args): Reserve registers ECX and EDX if function has
2654         fastcall attribute.
2655         (function_arg): Use registers ECX and EDX if function has fastcall
2656         attribute.
2657         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2658         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2659         (FASTCALL_PREFIX): Define as '@'.
2660         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2661         attributes.
2662         * doc/extend.texi: Add documentation of fastcall attribute.
2663
2664 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2665
2666         * configure.in: FORBUILD when build!=host changed from
2667         ../$build-alias to ../build-$build_alias to match change made
2668         in top directory.
2669         * configure: Regenerated.
2670
2671 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2672
2673         PR optimization/8988
2674         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2675         the biv when eliminating.
2676
2677 2002-12-19  Devang Patel  <dpatel@apple.com>
2678         * gcc.c (struct default_compiler): Recognizes input file name with
2679         .CPP extension as C++ source files
2680         * cp/lang-spec.h: Same
2681         * doc/invoke.texi:  Add documentation for .CPP support.
2682
2683 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2684
2685         PR 8553
2686         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2687         registers.
2688         ("absv16qi2"): Same.
2689         ("absv4si2"): Same.
2690         ("absv4sf2"): Same.
2691         ("altivec_abss_v16qi"): Same.
2692         ("altivec_abss_v8hi"): Same.
2693         ("altivec_abss_v4si"): Same.
2694
2695 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2696
2697         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2698         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2699
2700 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2701
2702         PR target/8340
2703         * stmt.c (expand_asm_operands): Produce an error when
2704         the PIC register is clobbered.
2705
2706 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2707
2708         * Makefile.in (OBJS): Add alloc-pool.o
2709         (alloc-pool.o): New object.
2710
2711         * alloc-pool.c: New file.
2712         * alloc-pool.h: New file.
2713
2714 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2715
2716         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2717
2718 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2719
2720         * config.gcc: Set extra_objs in the generic Darwin rule,
2721         not in the machine-specific rules.
2722
2723 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2724
2725         * ChangeLog: Follow spelling conventions.
2726         * ChangeLog.2: Likewise.
2727         * ChangeLog.4: Likewise.
2728         * ChangeLog.5: Likewise.
2729         * cppexp.c: Likewise.
2730         * df.c: Likewise.
2731         * gcov.c: Likewise.
2732         * gengtype.c: Likewise.
2733         * reload1.c: Likewise.
2734         * sched-rgn.c: Likewise.
2735         * stmt.c: Likewise.
2736         * stor-layout.c: Likewise.
2737         * timevar.c: Likewise.
2738         * toplev.c: Likewise.
2739         * tree.h: Likewise.
2740         * varasm.c: Likewise.
2741         * config/fr30/fr30.md: Likewise.
2742         * config/i386/i386.c: Likewise.
2743         * config/ia64/ia64.c: Likewise.
2744         * config/pa/pa.c: Likewise.
2745
2746 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2747
2748         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2749
2750 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2751
2752         PR 8551
2753         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2754         macro.
2755         (vec_cmplt C++ functions): Reverse arguments.
2756
2757 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2758
2759         * config/rs6000/t-rs6000: Move contents to t-fprules,
2760         add rules for dependencies of rs6000.o and to build rs6000-c.o
2761         * config/rs6000/t-fprules: New file from t-rs6000.
2762         * config/rs6000/t-beos: Remove soft-fp rules.
2763         * config/rs6000/t-ppccomm: Likewise.
2764         * config/rs6000/t-newas: Likewise.
2765         * config/rs6000/t-rs6000-c-rule: Delete.
2766         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2767         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2768         Create generic Darwin rules.
2769
2770         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2771
2772 2002-12-18  Doug Evans  <dje@sebabeach.org>
2773
2774         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2775         and LIT_NAME_P.
2776         (move_src_operand): Remove compile-time warning.
2777         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2778
2779 2002-12-18  Jason Merrill  <jason@redhat.com>
2780
2781         * unwind-dw2-fde.c (frame_downheap): Split out from...
2782         (frame_heapsort): Here.
2783
2784 2002-12-17  Jason Merrill  <jason@redhat.com>
2785
2786         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2787         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2788
2789         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2790
2791         * calls.c (expand_call): Don't try to be clever about expanding
2792         the return slot address.
2793
2794 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2795
2796         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2797         Define.
2798
2799 2002-12-17  Jason Merrill  <jason@redhat.com>
2800
2801         * genmultilib: Use 'cd ./foo'.
2802
2803 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2804
2805         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2806
2807 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2808
2809         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2810         * doc/cpp.texi: Likewise.
2811         * doc/extend.texi: Likewise.
2812         * doc/gty.texi: Likewise.
2813         * doc/install.texi: Likewise.
2814         * doc/invoke.texi: Likewise.
2815         * doc/md.texi: Likewise.
2816         * doc/passes.texi: Likewise.
2817         * doc/rtl.texi: Likewise.
2818         * doc/sourcebuild.texi: Likewise.
2819         * doc/tm.texi: Likewise.
2820
2821 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2822
2823         * doc/invoke.texi: Minor spelling and grammar fixes.
2824
2825 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2826
2827         * config/s390/s390.c (s390_output_constant_pool): Replace
2828         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2829
2830 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2831
2832         * convert.c (convert_to_real): Disable function transformation for
2833         now.
2834
2835 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2836
2837         * gcc.c (handle_braces): Allow '@' as a switch name.
2838
2839 2002-12-16  Jason Merrill  <jason@redhat.com>
2840
2841         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2842         with special struct-return ABIs.
2843
2844         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2845         doesn't match the begin SCOPE_STMT in partialness.
2846
2847 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2848
2849         * genmultilib: Create temporary files in unique subdirectory.
2850
2851         * gcc.c (validate_switches): Allow '@' as a switch name.
2852
2853 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2854
2855         * Makefile.in (gcov-iov.h): Improve portability.
2856
2857 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2858
2859         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2860         gas
2861         * mips.md (tablejump insn): Likewise.
2862
2863 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2864
2865         * doc/include/gcc-common.texi: Change version number to 3.4.
2866
2867 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2868
2869         * fixinc/fixlib.h: add: #include <signal.h>
2870         * fixinc/fixincl.c: remove: #include <signal.h>
2871
2872 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2873
2874         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2875         (EXTRA_CONSTRAINT): Use it.
2876         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2877
2878 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
2879
2880         * config.gcc (need_64bit_hwint): New variable.
2881         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2882         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2883         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2884         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2885         Set it.
2886         (powerpc*-*-darwin*): Unset it.
2887         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2888         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2889         deleted/nonexistent xm-*.h headers.
2890         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2891         target set need_64bit_hwint in config.gcc.
2892         * configure, config.in: Regenerate.
2893
2894         * hwint.h: Overhaul.  Don't bother trying int for
2895         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
2896         decision to force 64-bit HOST_WIDE_INT on
2897         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
2898         not visible at this point.  Don't allow prior definition of
2899         any macro defined by this file.
2900
2901         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
2902         HOST_BITS_PER_WIDE_INT.
2903         * config/c4x/c4x.h: Adjust redefinition of
2904         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
2905         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
2906         config/i386/xm-i386-interix.h: Delete file.
2907
2908 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
2909             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2910
2911         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
2912         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2913
2914 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2915
2916         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
2917
2918 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2919
2920         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
2921         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
2922         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
2923         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
2924         config/v850/t-v850:  Correct dependencies and normalize
2925         compilation commands for files that include coretypes.h and tm.h.
2926
2927         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
2928         not config.h and system.h.
2929
2930 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2931
2932         * i386.c (flags_reg_operand):  New function.
2933         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
2934         * i386.md (cmov splitter, movqicc): Use new predicate.
2935
2936 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2937
2938         * i386.md (movqicc splitter): Fix template.
2939
2940 2002-12-13  Jason Merrill  <jason@redhat.com>
2941
2942         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
2943         * calls.c (expand_call): Handle it.
2944         * tree-inline.c (struct inline_data): Remove target_exprs field.
2945         (optimize_inline_calls): Don't initialize it.
2946         (expand_call_inline): Don't modify it.  Handle
2947         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
2948         (declare_return_variable): Take return slot addr.
2949         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
2950         to return_slot_addr.
2951         * langhooks-def.h, langhooks.c: Adjust.
2952         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
2953         a decl with no DECL_INITIAL.
2954
2955         * expr.c (expand_expr): Don't discard the target of a call which
2956         returns in memory.
2957
2958 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
2959
2960         * cppinit.c (path_include): Take an environment variable name.
2961         Tidy up.
2962         (init_standard_includes): Simplify environment handling, and
2963         move to ...
2964         (cpp_read_main_file): ...here as -nostdinc should not affect
2965         environment variable paths.
2966
2967 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2968
2969         * pa.c (output_millicode_call): Correct typo.
2970         (output_call): Likewise.
2971
2972 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
2973
2974         * config/mn10300/mn10300.c (print_operand) <case N>: Check
2975         operand's range.  Print value directly, without aid from
2976         output_address.
2977         <case U>: New.
2978         <case S>: Make sure argument to fprintf has the right type.
2979         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
2980         (EXTRA_CONSTRAINT): Adjust.
2981         * config/mn10300/mn10300.md: Add new all-QImode pattern for
2982         bclr.  Use %U for immediate operands of bset and bclr.
2983         (iorqi3): New expand, with insns for AM33 and mn10300.
2984
2985 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
2986
2987         * sh.c (sh_register_operand): New function.
2988         (prepare_move_operands): Use it.
2989         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
2990         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
2991         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
2992         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
2993         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
2994         (movv2si_i): Likewise.
2995
2996 2002-12-13  Jim Wilson  <wilson@redhat.com>
2997
2998         * doc/extend.texi (Complex Numbers): Update info on debug info.
2999
3000 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3001
3002         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3003         alternative.
3004
3005 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3006
3007         * hooks.h (hook_tree_tree_bool_false): Declare
3008         hook_bool_tree_tree_false instead.
3009
3010 2002-12-12  Devang Patel  <dpatel@apple.com>
3011
3012         * doc/invoke.texi: Document Darwin linker options, -bundle
3013         -bind_at_load, -all_load and -arch_errors_fatal
3014
3015 2002-12-12  Jim Wilson  <wilson@redhat.com>
3016
3017         * dbxout.c (dbxout_fptype_value): New.
3018         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3019
3020 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3021
3022         * c-decl.c: Fix a comment typo.
3023         * cfg.c: Likewise.
3024         * cfgcleanup.c: Likewise.
3025         * cfglayout.c: Likewise.
3026         * cfgrtl.c: Likewise.
3027         * c-typeck.c: Likewise.
3028         * dominance.c: Likewise.
3029         * dwarf2asm.c: Likewise.
3030         * dwarfout.c: Likewise.
3031         * expmed.c: Likewise.
3032         * expr.c: Likewise.
3033         * final.c: Likewise.
3034         * flow.c: Likewise.
3035         * function.c: Likewise.
3036         * gcc.c: Likewise.
3037         * genautomata.c: Likewise.
3038         * integrate.c: Likewise.
3039         * loop.c: Likewise.
3040         * loop.h: Likewise.
3041         * output.h: Likewise.
3042         * profile.c: Likewise.
3043         * ra.h: Likewise.
3044         * reload1.c: Likewise.
3045         * reload.c: Likewise.
3046         * sched-rgn.c: Likewise.
3047         * stmt.c: Likewise.
3048         * tree.h: Likewise.
3049         * vmsdbgout.c: Likewise.
3050
3051 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3052
3053         * config/h8300/h8300.md: Add a new peephole2.
3054
3055 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3056
3057         * config/h8300/h8300.md (a peephole2): Accept a constant
3058         that's accepted by CONST_OK_FOR_J.
3059
3060 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3063         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3064         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3065         (*addhi_h8300hs): Likewise.
3066
3067 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3068
3069         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3070         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3071         Increase cost for moves involving multiple general purpose registers.
3072         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3073         TARGET_FMOVD.
3074         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3075         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3076         (enum reg_class reg_class_from_letter): No longer const.
3077         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3078         REGCLASS_HAS_GENERAL_REG.
3079         Handle SImode moves from/to fp registers.
3080         ! TARGET_SHMEDIA && TARGET_FMOVD.
3081         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3082         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3083
3084 2002-12-12  Andreas Schwab  <schwab@suse.de>
3085
3086         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3087         change and some warnings.
3088
3089 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3090
3091         * doc/md.texi (pushm): Fix a typo.
3092
3093 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3094
3095         * config/mips/mips.c (mips_output_conditional_branch): Support
3096         PIC-safe out-of-range branch and branch-likely.
3097         * config/mips/mips.md (attr length): PIC-safe out-of-range
3098         branches are longer.
3099         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3100         unused code to support indirect jumps.
3101
3102 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3103
3104         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3105         $(tm_file_list).
3106
3107 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3108
3109         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3110
3111 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3112
3113         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3114
3115 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3116
3117         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3118         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3119         BIGGEST_ALIGNMENT.
3120         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3121         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3122
3123 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3124
3125         * doc/invoke.texi: Correct dump file names.
3126
3127 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3128
3129         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3130         name to globalize_label or assemble_name.
3131
3132 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3133
3134         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3135         if not TARGET_SHMEDIA.
3136
3137 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3138
3139         * sh.h (REG_CLASS_HAS_FP_REG): New.
3140         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3141         move it into:
3142         * sh.c (sh_register_move_cost).
3143         * sh-protos.h (sh_register_move_cost): Declare.
3144
3145         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3146         (sh_adjust_cost): Always return a value.
3147
3148 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3149
3150         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3151         (REGISTER_MOVE_COST): Use it.
3152
3153 2002-12-11  Richard Henderson  <rth@redhat.com>
3154
3155         * tree.h (MODULE_LOCAL_P): Kill.
3156         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3157
3158 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3159
3160         * config/h8300/h8300.md (two define_peephole2): New.
3161
3162 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3163
3164         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3165         (CONST_OK_FOR_K): Likewise.
3166         (CONST_OK_FOR_M): Likewise.
3167         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3168
3169 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3170
3171         * c-common.c (builtin_define_type_max): Handle unsigned
3172         types too.
3173
3174 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3175
3176         * haifa-sched.c (rank_for_schedule): Correct style.
3177
3178 2002-12-10  Per Bothner  <pbothner@apple.com>
3179
3180         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3181         directive_index into an unsigned field and a new is_directive field.
3182         * cppinit.c (mark_named_operators):  Update to set new fields.
3183         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3184         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3185         No longer need to subtract 1 from directive_index.
3186         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3187         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3188
3189 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3190
3191         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3192         check for evaluating sqrt of a constant at compile time.
3193         * simplify-rtx.c (simplify_unary_operation): Likewise.
3194
3195 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3196
3197         PR other/8882
3198         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3199
3200 2002-12-10  Devang Patel  <dpatel@appple.com>
3201
3202         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3203         * doc/invoke.texi: Add new "Darwin Options" section.
3204
3205 2002-12-10  Jim Wilson  <wilson@redhat.com>
3206
3207         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3208         memory.
3209
3210 2002-12-10  Andrew Haley  <aph@redhat.com>
3211
3212         * cse.c (cse_insn): Don't cse past a basic block boundary.
3213
3214 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3215
3216         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3217         -shared.
3218         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3219         * config/alpha/linux.h (LIB_SPEC): Likewise.
3220         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3221         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3222         * config/sparc/linux.h (LIB_SPEC): Likewise.
3223         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3224
3225 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3226
3227         * doc/invoke.texi: Document UltraSparc III option.
3228
3229 2002-12-09  Richard Henderson  <rth@redhat.com>
3230
3231         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3232         __tune_pentium2__ and __tune_pentium3__ as necessary.
3233
3234 2002-12-09  Richard Henderson  <rth@redhat.com>
3235
3236         * target.h (gcc_target): Add cannot_force_const_mem.
3237         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3238         (TARGET_INITIALIZER): Add it.
3239         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3240         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3241         * reload1.c (reload): Likewise.
3242         * hooks.c (hook_bool_rtx_false): New.
3243         * hooks.h: Declare it.
3244
3245         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3246         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3247         (ix86_expand_move): Remove de-const-pooling hack.
3248
3249 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3250
3251         * toplev.c (dump_file): Fix order to match reality.
3252
3253 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3254
3255         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3256         (store_multiple): Likewise.
3257
3258 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3259
3260         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3261         function pointers in page 0.
3262
3263 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3264
3265         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3266         definition
3267         (MEMBER_TYPE_FORCES_BLK): Move.
3268         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3269         aggregate arguments.
3270         (ia64_function_value): Use PARALLEL to return aggregate values.
3271
3272 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3273
3274         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3275         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3276         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3277         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3278         * stmt.c (expand_return): Ditto.
3279         * expr.c (move_block_from_reg): Ditto.
3280         (copy_blkmode_from_reg): Ditto.
3281         * expmed.c (store_bit_field): Ditto.
3282
3283 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3284
3285         * config.gcc: Added tic4x-* target as an alias to c4x-*
3286
3287 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3288
3289         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3290         constructing insn directly.
3291
3292 2002-12-06  Per Bothner  <pbothner@apple.com>
3293
3294         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3295         char to an int bit-field, for hosts where char is unsigned.
3296
3297 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3298             Richard Henderson <rth@redhat.com>
3299
3300         * real.c (ieee_extended_motorola_format,
3301         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3302         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3303         Provide appropriate values for new signbit field.
3304
3305 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3306
3307         * real.h (real_format): Add signbit field.
3308         * real.c (ieee_single_format, ieee_double_format,
3309         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3310         ieee_extended_intel_128_format, ibm_extended_format,
3311         ieee_quad_format, vax_f_format, vax_d_format,
3312         vax_g_format, i370_single_format, i370_double_format,
3313         c4x_single_format, c4x_extended_format, real_internal_format):
3314         Provide suitable signbit value, or -1 to avoid bit twiddling.
3315
3316         * optabs.c (expand_unop): Try implementing negation of
3317         floating point modes by flipping the sign bit.
3318         (expand_abs): Try implementing abs of floating point modes
3319         by clearing the sign bit.
3320
3321 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3322
3323         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3324         of constructing insn directly.
3325
3326 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3327
3328         * config/h8300/h8300.md (*iorhi_shift_8): New.
3329
3330 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3331
3332         * doc/invoke.texi: Document FRV port options.
3333         * doc/md.texi: Document FRV register classes.
3334
3335 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3336
3337         * doc/install.texi (Configuration): Improve description of cases
3338         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3339
3340 2002-12-06  Per Bothner  <pbothner@apple.com>
3341
3342         * cpplib.h (NODE_MACRO_ARG):  New flag.
3343         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3344         Remove value.operator field.  Move arg_index field to value union.
3345         (directive_index):  Make signed, since also used for C++ operators.
3346         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3347         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3348         Save node->value, and set node->value.arg_index.
3349         (_cpp_create_definition):  For each paramater, restore node->value.
3350         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3351         * cpptrad.c (scan_out_logical_line): Likewise.
3352         (scan_out_logical_line): Check for directive > 0.
3353         * cpplib.c (cpp_handle_directive):  Likewise.
3354         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3355         by negative of directive_index.
3356         * cppinit.c (mark_named_operators):  Likewise.
3357
3358         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3359
3360 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3361
3362         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3363         FPU.
3364         (push): Generate push_fpscr.
3365         (pop): Generate pop_fpscr.
3366         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3367         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3368
3369 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3370
3371         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3372         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3373
3374 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3375
3376         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3377
3378 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3379         Merged from basic improvements branch (excerpt):
3380
3381         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3382         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3383
3384 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3385
3386         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3387
3388 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3389
3390         * i386.md (dimode peep2s): Re-add "&& 1".
3391
3392 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3393
3394         * i386.c (ix86_expand_prologue):  Add comment, do not use
3395         fast prologues for cold and normal functions.
3396
3397 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3398
3399         * i386.c (x86_rep_movl_optimal): New variable.
3400         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3401         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3402
3403         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3404         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3405         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3406         generate unnecesary subregs.
3407
3408 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3409
3410         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3411         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3412
3413 2002-12-05  Dale Johannesen  <dalej@apple.com>
3414
3415         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3416
3417 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3418
3419         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3420         PROFILE_HOOK.
3421         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3422
3423 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3424
3425         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3426         (__ev_mwlufia): Remove.
3427         (__ev_mwlumfaaw): Remove.
3428         (__ev_mwlusfaaw): Remove.
3429         (__ev_mwlumfanw): Remove.
3430         (__ev_mwlusfanw): Remove.
3431
3432 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3433
3434         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3435
3436 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3437
3438         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3439         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3440         (get_shift_alg): Return optimal assembly instructions for the
3441         shifts mentioned above.
3442
3443 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3444
3445         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3446         condtiional moves.
3447
3448 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3449
3450         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3451         implement ashiftrt:HI by 13 bits on H8S.
3452
3453 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3454
3455         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3456         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3457         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3458         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3459         CTOR_LIST_BEGIN): New defines.
3460         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3461         (fptr.c): Add make rules.
3462
3463 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3464
3465         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3466         * doc/md.texi (Insn Canonicalizations): Document new
3467         canonicalizations for multiply/add combinations.
3468         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3469         patterns to ensure they're used whenever they can be.
3470
3471 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3472
3473         * config/h8300/h8300.c: Update the comments related to shifts.
3474
3475 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3476
3477         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3478
3479 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3480
3481         * config/h8300/h8300.md (*extzv_8_8): New.
3482         (*extzv_8_16): Likewise.
3483
3484 2002-12-04  Jason Merrill  <jason@redhat.com>
3485
3486         PR c++/8461, c++/8625
3487         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3488         references.
3489         * tree-inline.c (initialize_inlined_parameters): Likewise.
3490
3491         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3492
3493 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3494
3495         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3496         macro instruction in a branch delay slot, to avoid assembler
3497         warnings.
3498
3499 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3500
3501         PR c/7622
3502         * c-semantics (genrtl_scope_stmt): Do not output inlined
3503         nested functions that contain no code.
3504
3505 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3506
3507         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3508         to be forced into nonfallthru.
3509
3510 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3511
3512         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3513
3514 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3515
3516         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3517
3518 2002-12-03  Richard Henderson  <rth@redhat.com>
3519
3520         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3521
3522 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3523
3524         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3525         Initialize tmp.using_obstack to 0.
3526
3527 2002-12-03  Andreas Schwab  <schwab@suse.de>
3528
3529         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3530         (EH_RETURN_STACKADJ_RTX): Define.
3531         (EH_RETURN_HANDLER_RTX): Define.
3532         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3533         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3534         registers and don't save fixed registers.
3535         (m68k_output_function_prologue): Use it.
3536         (use_return_insn): Likewise.
3537         (m68k_output_function_epilogue): Likewise.
3538
3539 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3540
3541         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3542         (single_zero_operand): Likewise.
3543
3544 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3545
3546         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3547         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3548         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3549         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3550         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3551         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3552         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3553         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3554         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3555
3556 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3557
3558         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3559         (ffsdi): Likewise.
3560         (cntlzw2, cntlzd2): New patterns.
3561
3562 2002-12-02  H.J. Lu <hjl@gnu.org>
3563
3564         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3565         (mips*-*-linux*): Remove mips/t-linux.
3566
3567 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3568
3569         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3570
3571 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3572
3573         * config/h8300/h8300.c (dosize): Replace argument op with
3574         sign.
3575         (h8300_output_function_prologue): Update the call to dosize.
3576         (h8300_output_function_epilogue): Likewise.
3577
3578 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3579
3580         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3581
3582 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3583
3584         * configure.in: Use "missing" script to generate warning if
3585         flex or bison programs not found, instead of invoking "false".
3586         * configure: Rebuilt.
3587
3588 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3589
3590         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3591
3592 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3593
3594         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3595
3596 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3597
3598         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3599         (push): Likewise.
3600         (pop): Likewise.
3601         (h8300_output_function_prologue): Likewise.
3602         (h8300_output_function_epilogue): Likewise.
3603
3604 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3605
3606         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3607         corresponding mode of non-integer mode, unless it is VOIDmode.
3608
3609 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3610
3611         * config/h8300/h8300.md (stm_h8300s_2): New.
3612         (stm_h8300s_3): Likewise.
3613         (stm_h8300s_4): Likewise.
3614         (five define_peephole2): Likewise.
3615
3616 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3617
3618         * ra-build.c: Fix a comment typo.
3619
3620 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3621
3622         * i386.c (ix86_expand_int_movcc): fix
3623         reversed BRANCH_COST test; be curefull about infinite recursion.
3624
3625 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3626
3627         * config/h8300/h8300.c (h8300_output_function_prologue):
3628         Remove variable idx.
3629         (h8300_output_function_epilogue): Likewise.
3630
3631 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3632
3633         * config/frv/xm-frv.h: Delete, unnecessary.
3634
3635 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3636
3637         * config/h8300/h8300.md: Add comments for define_peephole2.
3638
3639 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3640
3641         * builtin-types.def (BT_SIZE): Use size_type_node.
3642         * builtins.c (fold_builtin): Make the builtin strlen returns a
3643         size_t, not a sizetype.
3644         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3645         c_size_type_node.
3646         (c_alignof_expr): Likewise.
3647         (c_common_nodes_and_builtins): Likewise.
3648         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3649         (c_size_type_node): Likewise.
3650         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3651         * tree.h (TI_SIZE_TYPE): New enumeral.
3652         (size_type_node): Likewise.
3653
3654 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3655
3656         * configure.in: Don't put ${tm_file} into host_xm_file,
3657         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3658         Take location of tm-preds.h into account when calculating
3659         tm_p_file_list.
3660         * configure: Regenerate.
3661         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3662         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3663         Remove special case code for tm_p.h and *config.h; add new
3664         special case code for tm.h and tconfig.h. Clean up a bit.
3665
3666         * Makefile.in (tm_file, tm_file_list): New variables set from
3667         @-substitutions.
3668         (GCONFIG_H): Deleted.
3669         (GTM_H, TM_H): New.
3670         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3671         (TM_P_H): Move up with the other mkconfig.sh-generated
3672         headers; don't mention tm-preds.h explicitly.
3673         (tm.h, cs-tm.h): New rule.
3674         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3675         invocations of mkconfig.sh for changes to that program.
3676         (mostlyclean): Delete print-rtl1.c.
3677         (clean): Delete tm.h.
3678         Update dependencies for the files listed below.
3679
3680         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3681
3682         * coretypes.h: New file.
3683         * system.h: #define malloc to xmalloc and realloc to xrealloc
3684         when FLEX_SCANNER or YYBISON is defined, independent of the
3685         value of GCC_VERSION.
3686         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3687         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3688         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3689         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3690         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3691         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3692         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3693         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3694         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3695         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3696         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3697         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3698         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3699         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3700         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3701         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3702         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3703         genconstants.c, genemit.c, genextract.c, genflags.c,
3704         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3705         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3706         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3707         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3708         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3709         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3710         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3711         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3712         print-tree.c, profile.c, protoize.c, ra-build.c,
3713         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3714         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3715         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3716         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3717         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3718         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3719         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3720         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3721         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3722         xcoffout.c, config/darwin-c.c, config/darwin.c,
3723         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3724         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3725         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3726         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3727         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3728         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3729         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3730         config/i960/i960-c.c, config/i960/i960.c,
3731         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3732         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3733         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3734         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3735         config/mmix/mmix.c, config/mn10200/mn10200.c,
3736         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3737         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3738         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3739         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3740         config/sparc/sparc.c, config/stormy16/stormy16.c,
3741         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3742         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3743         Include coretypes.h and tm.h.
3744
3745         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3746         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3747         genrecog.c: Include coretypes.h and tm.h from the file
3748         generated by this program.
3749
3750         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3751         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3752         coretypes.h and tm.h, and tsystem.h when not already included.
3753         No need to include stddef.h nor stdlib.h.
3754
3755         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3756         include auto-host.h or ansidecl.h/
3757         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3758         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3759         include auto-host.h, ansidecl.h, or system.h.
3760         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3761         and do not redefine volatile.
3762
3763 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3764
3765         * i386.md (movdf_integer):  Always enable in 64bit.
3766         (movdf_nointeger): Always disable in 64bit.
3767
3768 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3769
3770         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3771         pseudo register number plus 1.
3772
3773 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3774
3775         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3776         corresponding mode of non-integer mode, unless it is VOIDmode.
3777
3778 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3779
3780         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3781
3782         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3783
3784 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3785
3786         * config/s390/t-crtstuff: New target makefile fragment.
3787         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3788
3789 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3790
3791         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3792         alternatives to correct the length when the memory operand is
3793         either pre_dec or post_inc.
3794
3795 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3796
3797         * config/h8300/h8300.md (an anonymous pattern): Give an
3798         internal name *tst_extzv_bitqi_1_n.
3799         Accept bit_operand instead of bit_memory_operand.
3800         Do not accept bit tests with the MSB.
3801         (*tst_extzv_memqi_1_n): New.
3802
3803 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3804
3805         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3806         sharing when operand is SUBREG.
3807
3808 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3809
3810         * athlon.md (athlon-decodev): New reservation unit.
3811         (athlon-direct0): New reservation.
3812         (athlon-vector): New use athlon-decodev.
3813         (athlon-double, athlon-direct): Better model.
3814         (athlon_imul_k8): Use athlon-direct0.
3815         (athlon_movlpd_load): New insn reservation.
3816
3817 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3818
3819         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3820         Fix a comment typo.
3821         (h8300_tiny_constant_address_p): Likewise.
3822
3823 2002-11-28  Michael Matz  <matz@suse.de>
3824
3825         * doc/passes.texi: Mention the other register allocator.
3826
3827 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3828
3829         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3830
3831 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3832
3833         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3834         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3835         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3836
3837 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3838
3839         * config/h8300/h8300.c (h8300_and_costs): New.
3840         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3841         * config/h8300/h8300-protos.h: Add a prototype for
3842         h8300_and_costs.
3843
3844 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3845
3846         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3847         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3848         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3849         * i386.md (truncdfsf patterns and splitters): Use
3850         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3851
3852 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3853
3854         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3855         pointer argument in the prototypes of the following builtins
3856         be (const TYPE *) rather than (TYPE *):
3857          + __builtin_altivec_ld_internal_4sf
3858          + __builtin_altivec_ld_internal_4si
3859          + __builtin_altivec_ld_internal_8hi
3860          + __builtin_altivec_ld_internal_16qi
3861          + __builtin_altivec_lvsl
3862          + __builtin_altivec_lvsr
3863          + __builtin_altivec_lvebx
3864          + __builtin_altivec_lvehx
3865          + __builtin_altivec_lvewx
3866          + __builtin_altivec_lvxl
3867          + __builtin_altivec_lvx
3868          + __builtin_altivec_dst
3869          + __builtin_altivec_dstt
3870          + __builtin_altivec_dstst
3871          + __builtin_altivec_dststt
3872
3873 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3874
3875         * except.c (default_exception_section): Move variable into the
3876         scope where it is used.
3877
3878 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
3879
3880         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3881         correct version.
3882
3883 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3884
3885         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3886
3887 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3888
3889         * config/h8300/h8300.c (h8300_shift_costs): New.
3890         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3891         * config/h8300/h8300-protos.h: Add a prototype for
3892         h8300_shift_costs.
3893
3894 2002-11-27  Jim Wilson  <wilson@redhat.com>
3895
3896         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
3897         in output template.
3898
3899 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3900
3901         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
3902         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
3903         DLL_IMPORT_EXPORT_PREFIX, not '@'.
3904         (i386_pe_dllimport_name_p): Likewise.
3905         (i386_pe_mark_dllexport): Likewise.
3906         (i386_pe_mark_dllimport): Likewise.
3907         (i386_pe_encode_section_info): Likewise.
3908         (i386_pe_strip_name_encoding): Likewise.
3909
3910 2002-11-27  Richard Henderson  <rth@redhat.com>
3911
3912         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
3913         (nm && NF == 3): Set sawsymbol true.
3914         (END): Exit if no symbols seen.
3915         (output): Fix map syntax error if no globals for the version.
3916
3917 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3918
3919         * builtins.def (DEF_C99_BUILTIN): Fix.
3920
3921 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
3922
3923         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
3924         (all): Add .size and .type information.
3925
3926 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3927
3928         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
3929         partial_reg_stall target.
3930
3931 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3932
3933         * i386.md (movhicc): Allow general operand.
3934         (movqicc): New expander.
3935         (movqicc_noc): New pattern.
3936         * i386.c (ix86_expand_carry_flag_compare): New function.
3937         (ix86_expand_int_movcc): Optimize harder using sbb; support more
3938         HImode conversion; support QImode conditional moves
3939
3940 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
3941
3942         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
3943         (ix86_expand_prologue): Multiply the count by amount of registers to be
3944         pushed.
3945
3946 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
3947
3948         * i386.c (override_options): Error about wrong -mcpu on x86-64
3949         compilation.
3950
3951 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
3952
3953         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
3954
3955 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
3956
3957         * i386-protos.h (x86_extended_QIreg_mentioned_p,
3958         x86_extended_reg_mentioned_p): Declare.
3959         * i386.c (extended_reg_mentioned_1): New static function.
3960         (x86_extended_QIreg_mentioned_p,
3961         x86_extended_reg_mentioned_p): New global functions.
3962         * i386.h (REX_SSE_REGNO_P): New macro.
3963         * i386.md (prefix_rex): New attribute.
3964         (length attribute): Add rex.
3965
3966 2002-11-26  Andrew Haley  <aph@redhat.com>
3967
3968         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
3969         from_Unwind_Find_Enclosing_Function.
3970         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
3971         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
3972         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
3973         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
3974         * unwind.h (_Unwind_FindEnclosingFunction): Add.
3975
3976 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
3977
3978         * config/s390/s390.c (390_output_constant_pool): Set alignment
3979         before label in 64 bit mode, behind otherwise.
3980
3981 2002-11-26  Richard Henderson  <rth@redhat.com>
3982
3983         * c-common.c (handle_visibility_attribute): Accept "default".
3984         * tree.h (enum symbol_visibility): New.
3985         (decl_visibility): Declare.
3986         * target.h (gcc_target.visibility): Take visibility arg as integer.
3987         * varasm.c (default_assemble_visibility): Likewise.
3988         (decl_visibility): New.
3989         (maybe_assemble_visibility): Use it.
3990         * output.h (default_assemble_visibility): Update prototype.
3991         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
3992         visibility arg as integer.
3993         * doc/extend.texi: Document default visibility.
3994
3995 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3996
3997         * config/h8300/h8300.c: Adjust spacing.
3998         * config/h8300/h8300.h: Likewise.
3999
4000 2002-11-26  Richard Henderson  <rth@redhat.com>
4001
4002         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4003         hook_void_FILEptr_constcharptr): Rename so that the return
4004         type is first.
4005         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4006         hook_bool_tree_false): New.
4007         * hooks.h: Update.
4008         * langhooks-def.h: Update for renames.
4009         * target-def.h: Likewise.
4010         * tree.c (default_comp_type_attributes,
4011         default_set_default_type_attributes, default_insert_attributes,
4012         default_function_attribute_inlinable_p,
4013         default_ms_bitfield_layout_p): Remove.
4014         * tree.h: Update.
4015
4016 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4017
4018         * pa-protos.h (function_value): New prototype.
4019         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4020         TARGET_64BIT.
4021         * pa.h (FUNCTION_VALUE): Use function_value.
4022         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4023         call_value_internal_reg, sibcall_value_internal_symref,
4024         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4025         value.
4026
4027 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4028
4029         * expr.c (gen_group_rtx, emit_group_move): New functions.
4030         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4031         * function.c (expand_function_start): Use gen_group_rtx to create a
4032         PARALLEL rtx to hold the return value when the real return rtx is a
4033         PARALLEL.
4034         (expand_function_end): Use emit_group_move to move the return value
4035         from a PARALLEL to the real return registers.
4036         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4037         in PARALLELs.
4038
4039 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4040
4041         * config/t-libc-ok: Fix typo.
4042
4043 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4044
4045         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4046         before AC_PROG_CC.
4047         * configure: Rebuilt.
4048
4049 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4050
4051         * c-decl.c: (start_struct): Commonize flag setting.
4052
4053 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4054
4055         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4056         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4057         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4058         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4059
4060 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4061
4062         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4063         insns.
4064         * config/s390/s390.c (struct machine_function): Introduction of
4065         struct machine_function.
4066         (s390_output_symbolic_const): Use of cfun.
4067         (s390_optimize_prolog): Likewise.
4068         (s390_fixup_clobbered_return_reg): Likewise.
4069         (s390_frame_info): Likewise.
4070         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4071         (s390_init_machine_status): New function.
4072         (override_options): call s390_init_machine_status.
4073         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4074         prototype.
4075
4076 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4077
4078         * varasm.c (output_constant_pool): For pool constants in mergeable
4079         section ensure each constant is padded to multiple of entity size.
4080
4081 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4082
4083         * varasm.c (default_exception_section): Move to...
4084         * except.c (default_exception_section): ... here. Make
4085         .gcc_except_table read-only if it is not expected to have any
4086         dynamic relocations and linker handles it.
4087         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4088         if it is not expected to have any dynamic relocations and linker
4089         handles it.
4090         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4091         when linking read-only and read-write sections together.
4092         * configure, config.in: Rebuilt.
4093         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4094         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4095
4096 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4097
4098         * i386.md (pushsf_rex64): Fix typo.
4099
4100 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4101
4102         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4103         new function.
4104         (__ev_create_ufix32_fs): Same.
4105         (__ev_get_sfix32_fs_internal): New.
4106         (__ev_get_sfix32_fs): Define to use function.
4107         (__ev_get_ufix32_fs_internal): New.
4108         (__ev_get_ufix32_fs): Define to use function.
4109         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4110         (__ev_get_lower_ufix32_fs): Same.
4111         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4112         (__ev_get_lower_sfix32_fs): Same.
4113         (__ev_set_sfix32_fs_internal): New.
4114         (__ev_set_ufix32_fs_internal): New.
4115         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4116         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4117         (__ev_set_upper_sfix32_fs): Call function.
4118         (__ev_set_lower_sfix32_fs): Same.
4119         (__ev_set_upper_ufix32_fs): Same.
4120         (__ev_set_lower_ufix32_fs): Same.
4121
4122 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4123
4124         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4125
4126 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4127
4128         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4129         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4130         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4131         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4132         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4133         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4134         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4135         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4136         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4137         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4138         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4139         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4140         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4141         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4142         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4143         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4144         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4145         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4146         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4147         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4148         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4149         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4150         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4151         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4152         defining.
4153         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4154         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4155
4156 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4157
4158         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4159
4160 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4161
4162         * config/h8300/h8300.md (an anonymous pattern): New.
4163
4164 2002-11-25  Richard Henderson  <rth@redhat.com>
4165
4166         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4167         (copying_arguments): Make boolean.
4168
4169 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4170
4171         * gcc.c (static_spec_functions): Add if-exists-else spec
4172         function.
4173         (if_exists_else_spec_function): New function.
4174         * doc/invoke.texi: Document the if-exists-else spec function.
4175
4176         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4177         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4178
4179 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4180
4181         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4182         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4183         "${tmake_file} rs6000/t-netbsd".
4184         * config/rs6000/netbsd.h: Rewrite.
4185         * config/rs6000/t-netbsd: New file.
4186
4187 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4188
4189         * config/h8300/h8300.md (an anonymous pattern): Relax the
4190         condition for the pattern.
4191
4192 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4193
4194         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4195         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4196         evmwlssfanw, evmwlsmfanw.
4197
4198         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4199
4200         * config/rs6000/spe.md: Same for patterns.
4201
4202 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4203
4204         PR c/8639
4205         * fold-const.c (extract_muldiv): Don't propagate division unless
4206         both arguments are multiples of C.
4207
4208 2002-11-25  Andrew Haley  <aph@redhat.com>
4209
4210         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4211         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4212         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4213         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4214
4215 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4216
4217         * i386.c (x86_use_ffreep): New global variable.
4218         * i386.h (x86_use_frfeep): Declare
4219         (TARGET_USE_FFREEP): New macro
4220         * i386.md  (movs?f*): Use freep when asked for.
4221         (push?f): Remove dead code.
4222
4223 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4224
4225         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4226         target help message.
4227
4228 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4229
4230         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4231         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4232         crtbeginT.o".
4233         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4234         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4235         to "" for a.out configurations.
4236         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4237
4238 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4239
4240         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4241         NETBSD_CPP_SPEC directly.
4242         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4243         netbsd_endfile_spec.
4244         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4245
4246 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4247
4248         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4249         NETBSD_STARTFILE_SPEC.
4250         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4251         (ENDFILE_SPEC): Likewise.
4252         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4253
4254 2002-11-24  Andreas Schwab  <schwab@suse.de>
4255
4256         * Makefile.in (install-driver): Remove versioned link before
4257         trying to create it.
4258
4259         * config/m68k/m68k.c: Fix typo in last change defining
4260         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4261
4262 2002-11-23  H.J. Lu <hjl@gnu.org>
4263
4264         * aclocal.m4: Include ../config/accross.m4.
4265         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4266         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4267         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4268         instead of $ac_cv_c_compile_endian.
4269
4270         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4271         AC_COMPILE_CHECK_SIZEOF.
4272         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4273         * configure: Rebuild.
4274
4275 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4276
4277         * config/h8300/h8300.c (print_operand): Update the use of
4278         h8300_tiny_constant_address_p.
4279         (h8300_adjust_insn_length): Likewise.
4280         (h8300_tiny_constant_address_p): Check if the given rtx is a
4281         variable declared with __attribute__ ((tiny_data)).
4282
4283 2002-11-22  Dale Johannesen  <dalej@apple.com>
4284
4285         * toplev.c (rest_of_compilation):  Fix comments.
4286
4287 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4288
4289         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4290         allow mmap from /dev/zero.  Don't make decisions for the host
4291         based on presence or absence of /dev/zero on the build machine.
4292         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4293         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4294         * configure: Regenerate.
4295
4296 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4297
4298         * gcc.c (make_relative_prefix, split_directories)
4299         (free_split_directories): Removed.
4300
4301 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4302
4303         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4304         * configure: Regenerated.
4305
4306 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4307
4308         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4309         length computation when xor.l is output.
4310
4311 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4312
4313         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4314         (call_vms_1, call_value_vms_1): Cleanup syntax.
4315
4316 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4317
4318         * athlon.md (define_atuomaton): Add athlon_load.
4319         (athlon-double): New reservation.
4320         (athlon-ieu0): New CPU unit.
4321         (athlon-load?): Use athlon_load automaton.
4322         (*_k8 reservations): New.
4323         (other insn revervations): Activate for K8.
4324
4325 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4326
4327         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4328
4329 2002-11-21  Jim Wilson  <wilson@redhat.com>
4330
4331         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4332         vectors to SI.
4333
4334 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4335
4336         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4337         * config/xtensa/xtensa.c (struct machine_function): Add
4338         incoming_a7_copied flag.
4339         (xtensa_copy_incoming_a7): Define.
4340         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4341         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4342
4343 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4344
4345         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4346         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4347         x86_64_nonmemory_operand, x86_64_movabs_operand,
4348         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4349         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4350         (local_symbolic_operand): Do not care the 64bit limits.
4351         (x86_64_sign_extended_value): Remove allow_rip support.
4352         (legitimate_pic_address_disp_p): Handle all cases allowed
4353         with RIP addressing.
4354         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4355         (legitimize_pic_address): Reorganize.
4356         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4357
4358 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4359
4360         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4361         * config/arm/netbsd-elf.h: New file.
4362
4363 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4364
4365         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4366         subtarget_asm_float_spec.
4367         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4368         defaults from...
4369         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4370
4371 2002-11-21  Nick Clifton  <nickc@redhat.com>
4372
4373         * config/fr30/fr30.md (movsf_constant_store): Move code to
4374         detect 0.0 into fr30.c.
4375         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4376         Prototype.
4377         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4378         function.  Return true if the rtx is 0.0.
4379
4380 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4381
4382         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4383         if -mlittle-endian is specified.
4384
4385 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4386
4387         PR optimization/2903
4388         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4389         (anddi_notsesidi_di): Likewise.
4390
4391 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4392
4393         * config/h8300/h8300.c (print_operand): Use
4394         h8300_eightbit_constant_address_p and
4395         h8300_tiny_constant_address_p.
4396         (h8300_adjust_insn_length): Likewise.
4397         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4398         (TINY_CONSTANT_ADDRESS_P): Likewise.
4399         (OK_FOR_U): Use eightbit_constant_address_p.
4400
4401 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4402
4403         * config/s390/libgcc-libc.ver: Add multilib support.
4404         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4405         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4406         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4407         EXTRA_MULTILIB_PARTS): Define.
4408
4409 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4410
4411         * arm.c (arm_get_frame_size): A leaf function does not need its
4412         stack padding to an aligned boundary if it has no frame.
4413         (thumb_get_frame_size): Likewise.
4414
4415 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4416
4417         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4418         (override_options): Likewise.
4419
4420 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4421
4422         * config.gcc: Add k8 target alias support
4423         * i386.c (_cost): Declare costs for various variants of divides and
4424         multiplies.
4425         (k8_cost): New.
4426         (m_K8, m_ATHLON_K8): New macros.
4427         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4428         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4429         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4430         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4431         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4432         x86_prologue_using_move, x86_epilogue_using_move,
4433         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4434         x86_sse_typeless_stores): Set for K8
4435         (override_options): Add k8 support; fix athlon alignment;
4436         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4437         (ix86_issue_rate): Set for K8.
4438         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4439         x86_machine_dependent_reorg): Handle K8 like
4440         * i386.h
4441         (x86_costs):  Change mult_init and divide into array.
4442         (TARGET_K8, TARGET_ATHLON): New macros.
4443         (MODE_INDEX): New macro.
4444         (RTX_COST): Use new costs.
4445         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4446         (TARGET_CPU_DEFAULT_NAMES): Add k8
4447         (TARGET_CPU_DEFAULT_k8): New constant
4448         (enum processor_type): Add PROCESSOR_K8.
4449         * i386.md (cpu attribute): Add k8.
4450
4451         * invoke.texi: Document -march=k8.
4452
4453         * i386.md (type attribute): Add leave
4454         (mode attribute): Remove unknownfp.
4455         (length_immediate, modrm, memory attributes): Handle leave correctly.
4456         (fp comparison patterns): Determine FP mode.
4457         (leave, leave_rex64): Remove special cases.
4458         * ppro.md (ppro_uops, ppro_p2): Add leave
4459         * pentiun.md (pent_pop): Handle leave too.
4460         * k6.md (k6_load): Handle leave.
4461         * athlon.md (athlon_leave, athlon_pop): Fix.
4462         (athlon_decode): Handle leave.
4463
4464 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4465
4466         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4467         to component type using GET_MODE_INNER.
4468         * expr.c (emit_move_insn_1): Ditto.
4469         * optabs.c (expand_binop): Ditto.
4470         (expand_unop): Ditto.
4471         (expand_complex_abs): Ditto.
4472
4473 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4474
4475         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4476
4477 2002-11-20  DJ Delorie  <dj@redhat.com>
4478
4479         * config/stormy16/stormy16.c (s16builtins,
4480         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4481         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4482
4483 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4484
4485         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4486         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4487         (executing gencheck, genconfigs, genconditions, genflags,
4488         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4489         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4490         gengtype, genprotos): Prepend $(RUN_GEN).
4491         * configure.in: Move host compiler tests before --enable-checking
4492         tests.
4493         (--enable-checking=valgrind): New.
4494         * config.in, configure: Regenerate.
4495         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4496         Define as empty.
4497         (read_include_file): When doing the mmap+1 trick,
4498         valgrind-annotate the byte after the mmap:ed area as readable.
4499         (purge_cache): Remove above annotation.
4500         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4501         VALGRIND_PATH -q to each command.
4502
4503         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4504         Define as empty.
4505         (ggc_realloc): Update valgrind annotations.
4506         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4507         Define as empty.
4508         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4509         valgrind-annotate memory.
4510
4511 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4512
4513         * recog.c (constrain_operands): Prefer exact match over reloadable
4514         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4515
4516         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4517         operands in Pmode.
4518
4519 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4520
4521         PR c/8518
4522         * c-decl.c (duplicate_decls): Outline the second definition
4523         of an extern inline function in all cases.
4524
4525 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4526
4527         * stor-layout.c (place_field): Update rli->offset as well as
4528         rli->bitpos.
4529
4530 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4531
4532         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4533
4534 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4535
4536         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4537         into a libcall block.
4538         (divsi3): Likewise divsi3_i4_media.
4539
4540 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4541
4542         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4543         out another register.
4544
4545 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4546
4547         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4548         (not just mask) are set in C.
4549
4550 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4551
4552         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4553
4554 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4555
4556         * profile.c (index_counts_file): Fix obvious mistake.
4557
4558 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4559
4560         * Makefile.in (profile.o): Add hashtab.h dependency.
4561         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4562         * profile.c: Include hashtab.h.
4563         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4564         cleanup_counts_index, index_counts_file, struct section_reference,
4565         struct da_index_entry, counts_file_name, counts_file_index): New.
4566         (get_exec_counts, init_branch_prob): Modified.
4567
4568 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4569
4570         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4571         to tmake_file. Remove setting gas and gnu_ld here.
4572         * config/sh/libgcc-glibc.ver: New file.
4573         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4574         (SHLIB_MAPFILES): New.
4575         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4576         (MD_STARTFILE_PREFIX): Likewise.
4577         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4578         (DWARF2_UNWIND_INFO): Redefine.
4579         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4580         (LINK_EH_SPEC): Redefine.
4581         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4582         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4583         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4584         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4585         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4586         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4587         SH_DWARF_FRAME_FPSCR): Likewise.
4588         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4589         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4590         registers if the current function calls EH return.
4591         (sh_expand_epilogue): Handle EH stack adjustments.
4592         (sh_set_return_address): New function.
4593         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4594         Don't abort even if the number is mapped to -1.
4595         (EH_RETURN_DATA_REGNO): Define.
4596         (EH_RETURN_STACKADJ_RTX): Define.
4597         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4598         (eh_return): New pattern.
4599         (eh_set_ra_di, eh_set_ra_si): Likewise.
4600         Add splitter to perform EH return after reload.
4601
4602 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4603
4604         * stor-layout.c (excess_unit_span): New function.
4605         (place_field): Use it.
4606
4607 2002-11-19  Andreas Schwab  <schwab@suse.de>
4608
4609         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4610         not valid in C++.
4611
4612 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4613
4614         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4615         * configure: Regenerate.
4616
4617 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4618
4619         * convert.c (strip_float_extensions): New function.
4620         (convert_to_real): Optimize some cases.
4621
4622 2002-11-19  Andreas Jaeger  <aj@suse.de>
4623
4624         * loop.c (record_giv): Initialize not_replaceable.
4625         (check_final_value): Likewise.
4626
4627 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4628
4629         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4630         MASK_H8300S.
4631
4632 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4633
4634         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4635         only if -mh or -ms present.
4636         (h8300_eightbit_constant_address_p): Support the normal mode.
4637         (h8300_tiny_constant_address_p): Likewise.
4638         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4639         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4640         (Pmode): Evaluate to HImode for the normal mode.
4641         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4642         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4643         (ASM_WORD_OP): Evaluate to word for the normal mode.
4644         * config/h8300/h8300.md (tablejump_normal_mode): New.
4645         (indirect_jump_normal_mode): New.
4646         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4647         directory.
4648         (MULTILIB_DIRNAMES): Create target dependent directory
4649         'normal'.
4650         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4651         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4652
4653 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4654
4655         * i386.md (length_immediate): Do not refer to insn address.
4656         (jcc*, jmp patterns):  Compute length explicitly.
4657
4658 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4659
4660         PR c/8588
4661         * optabs.c (expand_binop): Convert CONST_INTs in shift
4662         operations too.
4663
4664 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4665
4666         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4667
4668 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4669
4670         * config/h8300/h8300.md (an anonymous pattern): Relax the
4671         condition to accept the same operands and/or subregs.
4672
4673 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4674
4675         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4676         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4677         reload_completed.
4678
4679 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4680
4681         * config/h8300/h8300.c (print_operand): Update the use of
4682         EIGHTBIT_CONSTANT_ADDRESS_P.
4683         (h8300_adjust_insn_length): Likewise.
4684         (h8300_eightbit_constant_address_p): Check if the given rtx is
4685         a variable with __attribute__((eightbit_data)).
4686         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4687         EIGHTBIT_CONSTANT_ADDRESS_P.
4688
4689 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4690
4691         * doc/contrib.texi (Contributors): Add self as second contact in
4692         addition to Jeff Law.
4693
4694 2002-11-19  Andreas Jaeger  <aj@suse.de>
4695
4696         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4697         find_alloca_call to right place.
4698
4699 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4700
4701         * cppfiles.c: Fix formatting.
4702
4703 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4704
4705         * gcc.c (The Specs Language): Document spec functions.
4706         (static_spec_functions, lookup_spec_function)
4707         (eval_spec_function, handle_spec_function)
4708         (if_exists_spec_function, alloc_args): New.
4709         (execute): Abort if processing_spec_function is true.
4710         (do_spec_1): Hand off spec to handle_spec_function if %:
4711         is encountered.  If processing_spec_function is true,
4712         end any pending argument when the end of the string is reached.
4713         (main): Use alloc_args to allocate the initial argument vector.
4714         * gcc.h (struct spec_function): New.
4715         (lang_specific_spec_functions): New extern.
4716
4717         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4718         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4719         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4720
4721         * doc/invoke.texi: Document spec functions.
4722
4723         * cppspec.c (lang_specific_spec_functions): New.
4724         * gccspec.c: Likewise.
4725
4726 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4727
4728         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4729         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4730         (fixunstfsi_libfunc): Change.
4731         (fixunstfdi_libfunc): Change.
4732         (sdiv_optab): Don't zero out SImode handler.
4733         (udiv_optab): Don't zero out SImode handler.
4734         (smod_optab): Don't zero out SImode handler.
4735         (umod_optab): Don't zero out SImode handler.
4736
4737 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4738
4739         PR preprocessor/8524
4740         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4741         Add a new one in its place, which hopefully works.
4742         (skip_rest_of_line): Change test for bottom-of-context-stack.
4743
4744 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4745
4746         * i386.md (addqi_1_slp): Fix output template.
4747         (subqi_1_slp): Fix type.
4748
4749 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4750
4751         * calls.c (alloca_call_p): New global function.
4752         * tree.h (alloca_call_p): New.
4753         * tree-inline.c (inlinable_function_p):  Do not inline when
4754         function calls alloca.
4755         (find_alloca_call, find_alloca_call_1): New functions.
4756
4757 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4758
4759         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4760         bst.  Update the insn length.
4761         (*andorhi3): Likewise.
4762         (*andorsi3): Likewise.
4763
4764 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4765
4766         * config/sh/sh-protos.h (sh_mark_label): Declare.
4767         * config/sh/sh.c (sh_mark_label): New function, taken from
4768         movdi_const, but fixing the case when the address has an addend.
4769         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4770
4771 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4772
4773         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4774         (add_constant): Set it.
4775         (dump_table): Don't reorder a constant if part_of_sequence_p.
4776         (machine_dependent_reorg): Assume that float constants will
4777         stay in their original order if used as a sequence.
4778
4779 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4780
4781         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4782         in compact code.
4783
4784 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4785
4786         * config/sh/sh.md (initialize_trampoline): Do not force the
4787         trampoline address into R0_REGS here.
4788
4789 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4790
4791         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4792         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4793         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4794         generate unnecesary subregs.
4795
4796 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4797
4798         * df.c: Fix formatting.
4799
4800 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4801
4802         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4803         lengths.
4804
4805 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4806
4807         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4808         is not an arith_reg_operand.
4809
4810 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4811
4812         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4813         is smaller than representation.
4814
4815 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4816
4817         * builtins.c: Fix formatting.
4818
4819 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4820
4821         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4822         floats?dff2_i387):
4823         Work around regclass stupidity.
4824         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4825
4826 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4827
4828         * i386.md (fop_df_6): New pattern.
4829         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4830         (fop_xf_6): Rewrite
4831         (fop_xf_7): Delete.
4832         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4833         (fop_tf_6): Rewrite
4834         (fop_tf_7): Delete.
4835
4836 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4837
4838         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4839
4840 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4841
4842         * config/h8300/h8300.md: Fix formatting.
4843
4844 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4845
4846         * config/h8300/h8300.md: Replace spaces with tabs.
4847         * config/h8300/t-h8300: Remove a trailing empty line.
4848
4849 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4850
4851         * tlink.c: Fix formatting.
4852
4853 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
4854
4855         PR 8362
4856         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4857         * config/rs6000/rs6000.md (movti_string): Remove output modifier
4858         when scratch register never needed.
4859         (ldmsi[3-8]): New patterns.
4860
4861 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4862
4863         * hard-reg-set.h: Follow spelling conventions.
4864         * real.c: Likewise.
4865         * target.h: Likewise.
4866
4867 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
4868
4869         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
4870
4871 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4872
4873         * optabs.c: Fix formatting.
4874
4875 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
4876
4877         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
4878         * i386.md (attribute type): Add type shift1 and rotate1.
4879         (*_slp): Rewrite to have just two operands to avoid reload problems.
4880
4881 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
4882
4883         * config/h8300/h8300.md (4 anonymous patterns): New.
4884
4885 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4886
4887         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
4888         * doc/invoke.texi: Correct description of what needs to be done to
4889         force collection at every ggc_collect call.
4890
4891 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4892
4893         * config/s390/s390.c (optimization_options): Set
4894         flag_asynchronous_unwind_tables to 1 by default.
4895
4896 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4897
4898         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4899
4900 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4901
4902         * i386-protos.h (x86_function_profiler): New function
4903         * i386.h (MCOUNT_NAME): New.
4904         (PROFILE_COUNT_REGISTER): New.
4905         (FUNCTION_PROFILER): Move offline to ...
4906         * i386.c (x86_function_profiler) ... here; fix 64bit support
4907         * beos-elf.h (FUNCTION_PROFILER): Kill.
4908         (MCOUNT_NAME): New.
4909         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
4910         (MCOUNT_NAME): New.
4911         (PROFILE_COUNT_REGISTER): New.
4912         * linux.h (FUNCTION_PROFILER): Kill.
4913         (MCOUNT_NAME): New.
4914         * x86-64.h (FUNCTION_PROFILER): Kill.
4915         (MCOUNT_NAME): New.
4916         * freebsd.h (FUNCTION_PROFILER): Kill.
4917         (MCOUNT_NAME): New.
4918
4919 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
4920
4921         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
4922         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
4923         * config/arm/arm.c (arm_va_arg,
4924         arm_function_arg_pass_by_reference): New.
4925         * config/arm/arm-protos.h: Add prototypes.
4926
4927 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4928
4929         * gthr-single.h: Fix formatting.
4930
4931 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
4932
4933         * tree.c (tree_vec_elt_check_failed): New function.
4934         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
4935         (TREE_VEC_ELT): Use it.
4936
4937         * tree-inline.c (optimize_inline_calls): Don't copy a
4938         zero-length vector.
4939
4940 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4941
4942         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
4943
4944 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
4945
4946         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
4947         both operands contain local relocations.
4948         (categorize_decl_for_section): Don't use mergeable sections if
4949         initializer has any relocations.
4950
4951 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4952
4953         * gthr-vxworks.h: Fix formatting.
4954
4955 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
4956
4957         * doc/install.texi (Testing): Document extra Java testing.
4958         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
4959
4960 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4961
4962         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
4963         beginning of the spec.
4964         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
4965         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
4966         regarding problems with global constructors when using GNU ld.
4967
4968 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4969
4970         * gthr-solaris.h: Fix formatting.
4971
4972 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4973
4974         * gthr-posix.h: Fix formatting.
4975
4976 2002-11-12  Devang Patel <dpatel@apple.com>
4977         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
4978         (process_command): Same.
4979         * doc/invoke.texi: Info about these two new options.
4980
4981 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4982
4983         * config/h8300/h8300.md (*andorsi3): New.
4984
4985 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4986
4987         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
4988
4989 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4990
4991         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
4992         expressions appropriately.
4993
4994 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4995
4996         * gthr-win32.h: Fix formatting.
4997
4998 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4999
5000         * config/h8300/h8300.c (single_one_operand): Correctly compute
5001         mask when mode is SImode.
5002         (single_zero_operand): Likewise.
5003         * config/h8300/h8300.md (two new anonymous insns): New.
5004
5005 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5006
5007         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5008         to that entire project.
5009
5010 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5011
5012         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5013         directories.
5014
5015 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5016
5017         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5018         * doc/invoke.texi: Document them.
5019
5020         * ggc-page.c: Include params.h.  Remove definitions of
5021         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5022         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5023         (init_gcc): Don't set G.allocated_last_gc here.
5024         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5025         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5026         perform collection.
5027         * ggc-simple.c: Similarly.
5028         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5029         dependencies.
5030
5031 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5032
5033         * gthr-dce.h: Fix formatting.
5034
5035 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5036
5037         PR c/8467
5038         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5039         mode of DECL_RTL case.
5040
5041 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5042
5043         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5044
5045 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5046
5047         * i386.c (construct_container): Fix handling of SSE_CLASS.
5048
5049 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5050
5051         * config/m68k/t-crtstuff (crti.o): Use this...
5052         ($(T)crti.o): ... instead.
5053         (crtn.o): Use this...
5054         ($(T)crtn.o): ... instead.
5055
5056 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5057
5058         PR c/8439
5059         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5060         if there is something new to be simplified.
5061
5062 2002-11-10  H.J. Lu <hjl@gnu.org>
5063
5064         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5065         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5066
5067         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5068
5069 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5070
5071         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5072         * config/rs6000/linux.h, config/rs6000/linux64.h,
5073         config/rs6000/windiss.h: ... not here.
5074
5075 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5076
5077         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5078         __ABICALLS__ if TARGET_ABICALLS.
5079
5080 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5081
5082         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5083
5084 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5085
5086         * c-decl.c (grokdeclarator): Make error for duplicate type
5087         qualifiers into a pedwarn, disabled for C99.
5088
5089 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5090
5091         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5092         as FUNCTION_ARG_PASS_BY_REFERENCE.
5093
5094 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5095
5096         * doc/install.texi: Add *-*-vxworks* specific installation
5097         instructions.
5098
5099         * config/vxlib.c: Rewrite using generation numbers to identify
5100         valid TSD keys.
5101
5102 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5103
5104         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5105
5106 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5107
5108         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5109
5110         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5111         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5112         * pa.c (output_millicode_call): Use symbol difference rather than
5113         $PIC_pcrel$0 when using HP assembler.
5114         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5115         not elfos.h (i.e., gas) is being used.
5116         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5117         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5118         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5119         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5120         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5121         using elfos.h.
5122         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5123         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5124         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5125         using elfos.h.
5126         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5127         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5128         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5129         Don't define when not using elfos.h.
5130         (ASM_DECLARE_RESULT): Don't define.
5131         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5132         doesn't work on hppa64-hp-hpux11.
5133         (hppa*-hp-hpux11): Update.
5134
5135 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5136
5137         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5138         to the assembler if -mno-abicalls was specified.
5139
5140 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5141
5142         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5143         ASM_OUTPUT_DEF): Delete.
5144
5145 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5146
5147         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5148
5149 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5150
5151         * real.c (real_sqrt): Update comment with bibliographic reference.
5152
5153 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5154
5155         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5156
5157 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5158
5159         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5160
5161 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5162
5163         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5164         (expand_builtin): Likewise.
5165         * builtins.def: Add
5166         __builtin_floor, __builtin_floorf, __builtin_floorl
5167         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5168         __builtin_round, __builtin_roundf, __builtin_roundl
5169         __builtin_trunc, __builtin_truncf, __builtin_truncl
5170         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5171         * genopinit.c (optabs): Initialize the new optabs.
5172         * optab.c (init_optabs): Likewise.
5173         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5174         OTI_round, OTI_nearbyint.
5175         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5176         * doc/md.texi: Document new named patterns.
5177         * doc/extend.texi (builtin functions)  Document
5178         floor, floorf, floorl, ceil, ceilf,
5179         ceill, round, roundf, roundl, trunc,
5180         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5181
5182 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5183
5184         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5185
5186 2002-11-08  Dale Johannesen  <dalej@apple.com>
5187
5188         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5189
5190 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5191
5192         PR preprocessor/8497
5193         PR preprocessor/8501
5194         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5195         start a directive.  In assembler, #NUM is not a line directive.
5196
5197 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5198
5199         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5200         buffers.
5201
5202 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5203
5204         * config/h8300/h8300.md (two anonymous test insns): New.
5205
5206 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5207
5208         * jump.c (mark_jump_label): Handle subregs of label_refs.
5209
5210 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5211
5212         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5213         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5214
5215 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5216
5217         * config/ia64/crtend.asm: Include "auto-host.h".
5218         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5219         * config/ia64/crtbegin.asm: Similarly.
5220         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5221         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5222
5223         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5224         * configure.in: Use it if --enable-initfini-array not specified.
5225         * doc/install.texi (Configuration): Document --enable-initfini-array.
5226         * configure, config.in: Rebuild.
5227
5228 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5229
5230         * config/arm/arm-protos.h (arm_get_frame_size)
5231         (thumb_get_frame_size): New prototypes.
5232         * config/arm/arm.c (arm_get_frame_size)
5233         (thumb_get_frame_size): New functions.
5234         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5235         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5236         arm_get_frame_size.
5237         (thumb_expand_prologue, thumb_expand_epilogue): Use
5238         thumb_get_frame_size.
5239         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5240         (machine_function): Add frame_size member.
5241         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5242
5243 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5244
5245         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5246         Adjust code to use portable unsigned bit manipulation.
5247         (insn_flags, tune_flags): Change type to unsigned.
5248         (struct processors): Make flags unsigned long.
5249         (arm_override_options): Change type of count and current_bit_count
5250         to unsigned.
5251
5252 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5253
5254         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5255
5256 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5257
5258         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5259
5260 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5261
5262         * reg-stack.c (compensate_edge): Fix sanity check.
5263
5264 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5265
5266         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5267         crt2.o.  Rearrange t-darwin makefiles.
5268         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5269         * unwind-dw2-fde-darwin.c: New.
5270         * unwind-dw2-fde-glibc.c: Correct comment.
5271         * unwind-dw2-fde.c (__register_frame_info_bases)
5272         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5273         (classify_object_over_fdes): Use last_fde.
5274         (add_fdes): Likewise.
5275         (linear_search_fdes): Likewise.
5276         * unwind-dw2-fde.h (struct object)
5277         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5278         (last_fde): New.
5279         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5280         (ENDFILE_SPEC): No crtend.o.
5281         * config/t-darwin: New.
5282         * config/i386/t-darwin: Delete.
5283         * config/darwin-crt2.c: New.
5284         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5285         or config/t-darwin.
5286
5287 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5288
5289         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5290         MASK_MS_BITFIELD_LAYOUT
5291         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5292         MS bitfields for Objective-C.
5293         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5294         defines.
5295
5296         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5297         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5298         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5299
5300         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5301         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5302         (TARGET_SWITCHES): Add above mask.
5303
5304         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5305         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5306         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5307         flags for interix.
5308
5309 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5310
5311         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5312         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5313         assembler.
5314         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5315         before jump on ABI_N32 too.
5316         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5317         length to match.
5318
5319 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5320
5321         * i386.md (negsf splitter): Accept memory operand in second register.
5322         (abssf/absdf splitters): Simplify
5323         (sse_loadss, sse_loadsd): Turn into expander.
5324
5325 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5326
5327         PR target/8480
5328         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5329         FPR to FPR moves.
5330
5331 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5332
5333         * doc/contrib.texi: Merge in the list from the Java web pages.
5334
5335 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5336
5337         * config/sparc/freebsd: Fix typo.
5338
5339 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5340
5341         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5342
5343 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5344
5345         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5346         non-SImode addresses.
5347
5348 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5349
5350         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5351         stack register.
5352         (float SSE splitters): Reorder conditional.
5353
5354 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5355
5356         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5357
5358 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5359
5360         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5361         (STARTFILE_SPEC): Remove p and pg options.
5362
5363 2002-11-05  Andrew Haley  <aph@redhat.com>
5364
5365         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5366         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5367
5368 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5369
5370         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5371         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5372
5373 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5374
5375         * gthr-vxworks.h: Rewritten from scratch.
5376         * config/vxlib.c: New file.
5377         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5378         * config/rs6000/t-vxworks: Add config/vxlib.c to
5379         LIB2FUNCS_EXTRA here too, because of clash with
5380         config/rs6000/t-ppccomm.
5381
5382 2002-11-04  Dale Johannesen  <dalej@apple.com>
5383
5384         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5385         for unrolled loops.
5386         * loop.c (loop_invariant_p):  Support calling from unroller.
5387
5388 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5389
5390         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5391         for comparison.
5392
5393 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5394
5395         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5396
5397         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5398         (CLASS_CANNOT_CHANGE_MODE): Remove.
5399         (CANNOT_CHANGE_MODE_CLASS): New.
5400
5401         * config/alpha/alpha.h: Same.
5402
5403         * config/ia64/ia64.h: Same.
5404
5405         * config/mips/mips.h: Same.
5406
5407         * config/s390/s390.h: Same.
5408
5409         * config/sh/sh.h: Same.
5410
5411         * config/pa/pa64-regs.h: Same.
5412
5413         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5414
5415         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5416
5417         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5418         prototype.
5419
5420         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5421
5422         * doc/tm.texi (Register Classes): Remove
5423         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5424         Document CANNOT_CHANGE_MODE_CLASS.
5425
5426         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5427         (push_reload): Same.
5428
5429         * simplify-rtx.c (simplify_subreg): Same.
5430
5431         * reload1.c (choose_reload_regs): Same.
5432
5433         * recog.c (register_operand): Same.
5434
5435         * regrename.c (mode_change_ok): Change to use new
5436         CANNOT_CHANGE_MODE_CLASS infrastructure.
5437
5438         * regclass.c (cannot_change_mode_set_regs): New.
5439         Declare subregs_of_mode.
5440         (regclass): Use subregs_of_mode.
5441         Remove references to reg_changes_mode.
5442         (init_reg_sets_1): Remove class_can_change_mode and
5443         reg_changes_mode code.
5444         (invalid_mode_change_p): New.
5445         (dump_regclass): Use invalid_mode_change_p instead of
5446         class_can_change_mode.
5447         (regclass): Same.
5448         (record_operand_costs): Do not set reg_changes_mode.
5449
5450         * local-alloc.c (struct qty): Remove changes_mode field.
5451         (alloc_qty): Remove changes_mode initialization.
5452         (update_qty_class): Remove set of changes_mode.
5453         (find_free_reg): Use subregs_of_mode.
5454
5455         * global.c (find_reg): Use subregs_of_mode info.
5456
5457         * rtl.h (cannot_change_mode_set_regs): New prototype.
5458         (invalid_mode_change_p): Same.
5459         (REG_CANNOT_CHANGE_MODE_P): New macro.
5460
5461         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5462         REG_CHANGES_MODE.
5463         (life_analysis): Clear subregs_of_mode.
5464
5465         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5466         Remove use of CLASS_CANNOT_CHANGE_MODE.
5467         (simplify_set): Same.
5468         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5469         REG_CHANGES_MODE.
5470
5471         * regs.h: Add extern for subregs_of_mode;
5472         Include hard-reg-set and basic-block.
5473         (REG_CHANGES_MODE): Delete.
5474
5475 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5476
5477         * real.c (real_sqrt): New function to calculate square roots.
5478         * real.h (real_sqrt): Add function prototype.
5479         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5480         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5481         of constant argument.
5482
5483 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5484
5485         * jump.c (never_reached_warning): Don't set contains_insn until the
5486         first line note is seen.
5487
5488 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5489
5490         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5491
5492 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5493
5494         PR c/7128
5495         * c-typeck.c (c_expand_asm_operands): Defend against
5496         error_mark_nodes in the output argument to avoid ICE.
5497
5498 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5499
5500         PR middle-end/8408
5501         * genrecog.c (preds): Handle ADDRESSOF.
5502         (validate_pattern): Mark it as an lvalue.
5503
5504 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5505
5506         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5507         instructions when optimizing for size.
5508
5509 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5510
5511         * config/h8300/h8300.h: Fix comment typos.
5512         * config/h8300/h8300.md: Likewise.
5513         * config/h8300/lib1funcs.asm: Likewise.
5514
5515 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5516
5517         Revert this change:
5518
5519         *doc/install.texi (Installing GCC: Configuration): Clarify
5520         the only supported ways to configure gcc.
5521
5522 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5523
5524         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5525         instead of 'O' for the constraint for the second operand.
5526
5527 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5528
5529         PR c++/8391
5530         * toplev.c (rest_of_compilation): Do not refuse to output code for
5531         an inline function in a local class.
5532
5533 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5534
5535         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5536         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5537         Add comment.
5538
5539 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5540
5541         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5542
5543 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5544
5545         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5546
5547 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5548
5549         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5550         (MASK_INLINE_DIV_THR): Remove.
5551         (TARGET_INLINE_DIV_LAT): Remove.
5552         (TARGET_INLINE_DIV_THR): Remove.
5553         (TARGET_INLINE_DIV): Remove.
5554         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5555         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5556         (MASK_INLINE_INT_DIV_LAT): New macro.
5557         (MASK_INLINE_INT_DIV_THR): New macro.
5558         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5559         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5560         (TARGET_INLINE_INT_DIV_LAT): New macro.
5561         (TARGET_INLINE_INT_DIV_THR): New macro.
5562         (TARGET_INLINE_FLOAT_DIV): New macro.
5563         (TARGET_INLINE_INT_DIV): New macro.
5564         * config/ia64/ia64.md (divsi3): Change to use new macros.
5565         (modsi3): Ditto.
5566         (udivsi3): Ditto.
5567         (umodsi3): Ditto.
5568         (divsi3_internal): Ditto.
5569         (divdi3): Ditto.
5570         (moddi3): Ditto.
5571         (udivdi3): Ditto.
5572         (umoddi3): Ditto.
5573         (divdi3_internal_lat): Ditto.
5574         (divdi3_internal_thr): Ditto.
5575         (divsf3): Ditto.
5576         (divsf3_internal_lat): Ditto.
5577         (divsf3_internal_thr): Ditto.
5578         (divdf3): Ditto.
5579         (divdf3_internal_lat): Ditto.
5580         (divdf3_internal_thr): Ditto.
5581         (divtf3): Ditto.
5582         (divtf3_internal_lat): Ditto.
5583         (divtf3_internal_thr): Ditto.
5584         * config/ia64/ia64.c (ia64_override_options): Change
5585         to check new macros for conflicts in settings.
5586         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5587         (-minline-divide-max-throughput): Remove.
5588         (-minline-float-divide-min-latency): New.
5589         (-minline-float-divide-max-throughput): New.
5590         (-minline-int-divide-min-latency): New.
5591         (-minline-int-divide-max-throughput): New.
5592
5593 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5594
5595         PR target/7856
5596         * arm.c (use_return_insn): Don't use a return insn if there are
5597         saved integer regs, but LR is not one of them.
5598
5599 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5600
5601         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5602         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5603
5604 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5605
5606         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5607         (movps, movpd splitters): Use canonical form.
5608         (movv2di): Fix merge problem.
5609
5610 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5611
5612         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5613
5614 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5615
5616         PR optimization/6162
5617         * doc/md.texi: Document restriction on commutative operand
5618         specification.
5619
5620 2002-10-31  Eric Christopher  <echristo@redhat.com>
5621
5622         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5623
5624 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5625
5626         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5627
5628 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5629
5630         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5631
5632 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5633
5634         * config/rs6000/darwin.h:  Correct formatting in previous.
5635
5636 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5637
5638         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5639
5640 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5641
5642         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5643         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5644         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5645         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5646         Do not clear -momit-leaf-frame-pointer when profiling.
5647         (ix86_frame_pointer_required): Frame pointer is always required when
5648         profiling.
5649
5650 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5651
5652         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5653
5654 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5655
5656         * sh.h (binary_logical_operator): Declare.
5657         * sh.c (binary_logical_operator): New function.
5658         * sh.md (xordi3+1): New combiner splitter pattern.
5659
5660 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5661
5662         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5663         __enable_execute_stack function.
5664
5665 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5666
5667         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5668         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5669         * unwind-sjlj.c (fc_key_dtor): Delete.
5670         (fc_key_init): Adjust __gthread_key_create call to match.
5671
5672 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5673
5674         * c-common.c: Add GTY to vector_type_node_list.
5675
5676 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5677
5678         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5679         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5680         pa_init_machine_status): Declare new global functions.
5681         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5682         implement new functions.
5683         (attr_length_millicode_call, attr_length_call): Implement.
5684         (total_code_bytes): Change type to long.
5685         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5686         Reset counter if flag_function_sections.
5687         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5688         (output_cbranch): Move call to gen_label_rtx.
5689         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5690         delay slot in all variants, shorten pc-relative calls.
5691         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5692         slot usage and exposure, various new call variants, and shortened
5693         sequences for some variants on TARGET_PA_20.
5694         Miscellaneous format changes.
5695         * pa.h (total_code_bytes): Change type to long.
5696         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5697         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5698         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5699         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5700         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5701         stores on TARGET_ELF32.
5702         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5703         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5704         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5705         attr_length_millicode_call().
5706         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5707         Calculate attribute length using attr_length_call().
5708         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5709         to delay slot.
5710         (sibcall, sibcall_value): Rewrite.
5711         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5712         register 1.  Use attr_length_call().
5713         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5714         New patterns.
5715         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5716         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5717         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5718         * doc/invoke.texi (mlong-calls): Document.
5719
5720 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5721
5722         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5723         handling of cases where one or both branches of the conditional
5724         have void type, i.e. throw an exception or don't return.
5725         (fold): Only apply (and undo) type conversion to the non-void
5726         branches of a COND_EXPR.
5727
5728 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5729
5730         PR c++/8333
5731         * varasm.c (asm_output_aligned_bss): Do not call
5732         ASM_GLOBALIZE_LABEL.
5733
5734 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5735             Torbjorn Granlund  <tege@swox.com>
5736
5737         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5738         for addressibility.
5739         (load_toc_v4_PIC_1b): Same.
5740
5741 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5742
5743         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5744         Truncate the addresses for H8/300 using HImode.
5745
5746 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5747
5748         * i386.md (negdf splitter): Fix construction of the constant.
5749
5750 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5751
5752         * i386.md (negsf, negdf): Reorganize to use vector modes
5753         for SSE variants.
5754         (abssf, absdf): Use force_reg.
5755         (movv4sf, movv2df): New splitters.
5756         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5757         * i386.c (zero_extended_scalar_load_operand
5758
5759         * i386-protos.h (ix86_expand_call): Update prototype.
5760         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5761         (ix86_expand_call): Use r11 for indirect sibcalls.
5762         * i386.md (call, call_value, untyped_call, call_value_pop):
5763         update x86_expand_call call.
5764         (sibcall, sibcall_value): new patterns
5765         (call_rex64, call_value_rex64): Do not accept sibcalls.
5766         (sibcall_rex64, sibcall_value_rex64,
5767         sibcall_rex64_v, sibcall_value_rex64_v): New.
5768
5769 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5770
5771         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5772         before final pass.
5773
5774 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5775
5776         * toplev.c (rest_of_type_compilation): Return early in case of
5777         errors.
5778         (check_global_declarations): Don't call debug_hooks->global_decl
5779         in case of errors.
5780
5781 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5782
5783         * doc/c-tree.texi (Tree overview): Fix typos.
5784
5785 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5786
5787         * Makefile.in (gnucompare*):  Only record bad comparisons
5788         if there really was a bad comparison.
5789
5790 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5791
5792         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5793         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5794         * md.texi (machine dependent constraints): Document 'C'
5795
5796         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5797
5798         * i386.c (ix86_expand_vector_move): Fix.
5799
5800         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5801         * i386.md (sse2_maskmovdqu_rex64): New pattern
5802
5803         PR target/8322
5804         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5805         (ix86_init_mmx_sse_builtins): Fix type.
5806
5807 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5808
5809         * gthr-posix.h: Include <unistd.h> for feature tests.
5810         (sched_get_priority_max, sched_get_priority_min)
5811         (pthread_getschedparam, pthread_setschedparam): Only use
5812         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5813         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5814         returns from sched_get_priority_max and sched_get_priority_min
5815         as an error.
5816
5817 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5818
5819         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5820         MASK_QUICKCALL.
5821
5822 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5823
5824         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5825         (h8300_tiny_constant_address_p): Likewise.
5826         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5827         h8300_eightbit_constant_address_p.
5828         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5829         * config/h8300/h8300-protos.h: Add the prototypes for the two
5830         new functions.
5831
5832 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5833
5834         * reload1.c (update_eliminables): Unconditionally check if
5835         frame_pointer_needed has changed.
5836
5837 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5838
5839         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5840         before final pass.
5841
5842 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5843
5844         PR optimization/8334
5845         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5846         check for zero operands explicitly.
5847
5848 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
5849
5850         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5851         memory after adjusting to BLKmode.
5852
5853 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5854
5855         * config/h8300/h8300.h (MASK_*): New.
5856         (TARGET_*): Use MASK_*.
5857
5858 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
5859
5860         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5861         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5862         config/rs6000/vxworks.h: New files.
5863         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5864
5865         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5866         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5867         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5868         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5869         sparc-*-vxsim*): Delete stanzas.
5870         * gthr-vxworks.h: Rip out all substantive code and just
5871         include gthr-single.h.
5872
5873         * config/alpha/vxworks.h, config/arm/vxarm.h,
5874         config/i386/vxi386.h, config/i960/t-vxworks960,
5875         config/i960/vx960-coff.h, config/i960/vx960.h,
5876         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
5877         config/mips/vxworks.h, config/rs6000/vxppc.h,
5878         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
5879         config/sparc/vxsim.h, config/sparc/vxsparc.h,
5880         config/sparc/vxsparc64.h: Delete files.
5881
5882 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
5883
5884         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
5885         tm_defines if pthreads are enabled.
5886         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
5887         if NETBSD_ENABLE_PTHREADS is defined.
5888
5889 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
5890
5891         * ChangeLog.1: Fix typos.
5892         * cse.c: Fix a comment typo.
5893         * reload1.c: Likewise.
5894
5895 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
5896
5897         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
5898         * fixinc/tests/base/_G_config.h: New file.
5899
5900 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5901
5902         * combine.c: Fix comment formatting.
5903         * loop.c: Likewise.
5904         * real.c: Likewise.
5905         * regclass.c: Likewise.
5906         * regmove.c: Likewise.
5907         * regrename.c: Likewise.
5908         * reg-stack.c: Likewise.
5909         * reload1.c: Likewise.
5910         * reload.c: Likewise.
5911         * reload.h: Likewise.
5912         * unroll.c: Likewise.
5913
5914 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5915
5916         * reload1.c (reload): Fix a comment typo.
5917
5918 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
5919
5920         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
5921
5922 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5923
5924         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
5925         * dwarf2out.c: Include hashtab.h.
5926         (is_main_source): New static variable.
5927         (attr_checksum, die_checksum): Modified to handle die references.
5928         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
5929         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
5930         record_comdat_symbol_number): New static functions.
5931         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
5932         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
5933         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
5934         declarations added.
5935
5936 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
5937
5938         * config/h8300/h8300.c (initial_offset): Change to
5939         h8300_initial_elimination_offset.
5940         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
5941         h8300_initial_elimination_offset.
5942         * config/h8300/h8300-protos.h: Update the prototype.
5943
5944 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
5945
5946         * config/mmix/mmix.h (LIBCALL_VALUE): Use
5947         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
5948         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
5949         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
5950         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
5951         and RTX_CODE.
5952         (mmix_function_value_regno_p): Declare.
5953
5954         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
5955         invalid for floating point mode result, with fix.
5956
5957 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
5958
5959         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
5960         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
5961         (stage1_build): Likewise.
5962
5963 2002-10-25  Mike Stump  <mrs@apple.com>
5964
5965         Fixes gcc.dg/warn-1.c.
5966         * c-typeck.c (warn_for_assignment): Don't print argument number,
5967         if zero.
5968
5969 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
5970
5971         * toplev.c (dump_file_index): Add DFI_ce3.
5972         (dump_file_info): Likewise.
5973         (rest_of_compilation): Run first ifcvt pass before tracer.
5974
5975 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
5976
5977         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
5978
5979 2002-10-25  Richard Henderson  <rth@redhat.com>
5980
5981         * real.c (real_to_decimal): If the >1 tens reduction loop results
5982         in a negative exponent, fall into the <1 pten computation.
5983
5984 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
5985
5986         PR middle-end/6994
5987         * c-objc-common.c (inline_forbidden_p): Can not inline
5988         functions containing structures or unions containing VLAs.
5989         * tree-inline.c (walk_tree): For all class 't' nodes, walk
5990         TYPE_SIZE and TYPE_SIZE_UNIT.
5991         (copy_tree_r): Copy types if they are variably modified.
5992
5993 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5994
5995         * config/s390/s390.md: Remove old-style peepholes.
5996
5997 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5998
5999         * config/s390/s390.c (s390_decompose_address): Do not range check the
6000         displacement if base or index is the argument pointer register.
6001
6002 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6003
6004         PR other/3337
6005         PR bootstrap/6763
6006         PR bootstrap/8122
6007         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6008         * fixinc/fixincl.x: Regenerate.
6009         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6010         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6011         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6012         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6013         * config.in, configure: Regenerate.
6014
6015 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6016
6017         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6018
6019 2002-10-24  Richard Henderson  <rth@redhat.com>
6020
6021         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6022
6023 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6024
6025         * config/h8300/h8300.c (initial_offset): Simplify by using
6026         round_frame_size.
6027
6028 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6029
6030         * doc/install.texi (avr): Update required binutils version.
6031
6032 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6033
6034         * doc/install.texi: Point avr users at more up-to-date information.
6035
6036 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6037
6038         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6039         to pull operands out of the literal pool where possible.
6040
6041 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6042
6043         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6044
6045 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6046
6047         * expr.c (convert_move): If unsignedp is less then zero there
6048         is no equivalent code.
6049
6050 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6051
6052         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6053
6054 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6055
6056         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6057         according to the sequence they are defined in the manual.
6058         (POINTER_BOUNDARY): Remove.
6059
6060 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6061
6062         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6063         BITS_PER_UNIT.
6064
6065 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6066
6067         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6068         64-bit safe.
6069         (TINY_CONSTANT_ADDRESS_P): Likewise.
6070
6071 2002-10-24  Richard Henderson  <rth@redhat.com>
6072
6073         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6074         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6075         vcall offset.
6076
6077 2002-10-24  Richard Henderson  <rth@redhat.com>
6078
6079         PR opt/7944
6080         * reload.c (find_reloads_toplev): Mode of X is not important
6081         when simplifying subregs of constants.
6082
6083 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6084
6085         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6086         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6087         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6088         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6089         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6090
6091 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6092
6093         * optabs.c (expand_binop): Don't reuse the shift target in the
6094         middle of shift sequences.
6095
6096 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6097
6098         * i386.md (abs splitters): Do not produce nested subregs.
6099
6100 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6101
6102         * i386.md (movti_rex64): Fix constraints.
6103
6104 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6105
6106         * i386.md (abssf,absdf): Use vector operands for SSE
6107         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6108         vector operand.
6109
6110 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6111
6112         * objc/objc-act.c (get_static_reference): Remove unneeded
6113         TYPE_BINFO initialization.
6114         (get_object-reference): Likewise.
6115         (build_constructor): Tighten precondition check.
6116         (finish_message_expr): Likewise.
6117
6118 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6119
6120         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6121         after CONST test.
6122
6123 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6124
6125         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6126         in HFAs.
6127
6128 2002-10-23  Richard Henderson  <rth@redhat.com>
6129
6130         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6131         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6132
6133 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6134
6135         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6136         var_mod_type_p.
6137         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6138         hook_tree_bool_false.
6139
6140         * tree.c (variably_modified_type_p): Moved here from
6141         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6142         language-specific cases.  Due to this, must weaken some 'if
6143         and only if' checks to merely 'if'.
6144         * tree.h: Prototype variably_modified_type_p.
6145
6146         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6147
6148 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6149
6150         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6151         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6152
6153         * config/s390/s390-protos.h (fp_operand): Remove.
6154         * config/s390/s390.c (fp_operand): Remove.
6155         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6156         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6157         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6158         (movdi_31, movdf_31 splitters): Likewise.
6159
6160         * config/s390/s390.h (IEEE_FLOAT): Remove.
6161         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6162         (INT_REGNO_P): Rename to ...
6163         (GENERAL_REGNO_P): ... this.
6164         (FLOAT_REGNO_P): Rename to ...
6165         (FP_REGNO_P): ... this.
6166         (ADDR_REGNO_P): New macro.
6167         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6168         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6169         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6170         (HARD_REGNO_NREGS): Adapt to macro renaming.
6171         (HARD_REGNO_MODE_OK): Likewise.
6172
6173 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6174             Geoff Keating  <geoffk@apple.com>
6175
6176         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6177         (rs6000_memory_move_cost): New function.
6178         * config/rs6000/rs6000-protos.h: Declare them.
6179         * config/rs6000/rs6000.h: Use them.
6180
6181 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6182
6183         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6184         inlining it into other libgcc2 routines.
6185         (__udivmoddi4): Likewise.
6186
6187 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6188
6189         * doc/sourcebuild.texi (Test Suites): Improve.
6190
6191 2002-10-22  Stan Shebs  <shebs@apple.com>
6192
6193         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6194         case for Darwin.
6195
6196 2002-10-22  Jim Wilson  <wilson@redhat.com>
6197
6198         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6199
6200 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6201
6202         PR other/8289
6203         * xmmintrin.h: Add const to the argument of loads.
6204
6205         * i386.md (pushv2di): New pattern.
6206         PR target/6890
6207         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6208
6209 2002-10-22  Richard Henderson  <rth@redhat.com>
6210
6211         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6212         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6213         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6214         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6215         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6216         (TARGET_ASM_OUT): Update.
6217         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6218         (hook_bool_tree_hwi_hwi_tree_true): New.
6219         (default_can_output_mi_thunk_no_vcall): New.
6220         * hooks.h: Declare them.
6221         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6222
6223         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6224         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6225         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6226         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6227         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6228         config/stormy16/stormy16.c: Similarly.
6229
6230         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6231         Handle 64-bit properly.  Streamline.
6232         (x86_output_mi_vcall_thunk): Remove.
6233         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6234         (x86_can_output_mi_thunk): New.
6235         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6236         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6237         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6238
6239         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6240         output_mi_thunk; make static; always use function_section.
6241         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6242         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6243         (rs6000_ra_ever_killed): Test no_new_pseudos not
6244         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6245         * config/rs6000/rs6000-protos.h: Update.
6246         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6247         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6248         xcoffout_declare_function when using rs6000_output_mi_thunk.
6249
6250         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6251         s390_output_mi_vcall_thunk.
6252         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6253         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6254
6255         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6256         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6257         * config/vax/vax-protos.h: Update.
6258         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6259
6260 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6261
6262         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6263         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6264         * i386.md (movti_internal): Use 'C'
6265
6266         * xmmintrin.h (_mm_cmplt_epi*): New.
6267
6268 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6269
6270         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6271         ("*movdf_64"): Likewise.
6272         ("*lshrdi3_64"): Likewise.
6273         ("blockage"): Add length attribute.
6274         ("lit"): Likewise.
6275
6276 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6277
6278         * i386.md: FIx typo.
6279         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6280         (sse2_umulv2siv2di3): Fix predicate.
6281         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6282         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6283         * xmmintrin.h (_mm_mul_epu16): Rename to...
6284         (_mm_mul_epu32): This one.
6285         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6286
6287         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6288
6289 2002-10-22  Eric Christopher  <echristo@redhat.com>
6290
6291         * config/sparc/sparc.h: Add #error.
6292
6293 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6294
6295         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6296         [s390x-*-linux*]: Likewise.
6297         * config/s390/t-linux: Remove.
6298         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6299
6300 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6301
6302         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6303         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6304         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6305         * i386.md (mmx_punpck?dq): Simplify.
6306         (sse2_pubpcklqdq): Fix.
6307         (sse2_pubpckhqdq): New.
6308         * xmmintrin.h (_mm_unpackhi_epi32): New.
6309
6310         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6311         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6312
6313 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6314
6315         PR c++/7209
6316         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6317         build compound_expr if we used save_expr.
6318
6319 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6320
6321         * output.h (SECTION_NOTYPE): Define.
6322         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6323         init array sections.
6324         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6325         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6326         merge TLS support.
6327
6328 2002-10-21  Richard Henderson  <rth@redhat.com>
6329
6330         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6331         the function type, not the return type.
6332
6333 2002-10-21  Richard Henderson  <rth@redhat.com>
6334
6335         * real.c (sticky_rshift_significand): Return inexact, don't
6336         or it in immediately.
6337         (sub_significands): Accept incomming carry.
6338         (div_significands, rtd_divmod): Update for sub_significands change.
6339         (round_for_format): Update for sticky_rshift_significand change.
6340         (do_add): Don't involve the inexact bit in addition, do give the
6341         inexact bit as the subtraction carry-in.
6342         (encode_internal, decode_internal, real_internal_format): New.
6343         * real.h (real_internal_format): Declare.
6344
6345 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6346
6347         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6348         don't define sdiv_qrnnd.
6349
6350 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6351
6352         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6353         using IN_RANGE.
6354         (TINY_CONSTANT_ADDRESS_P): Likewise.
6355
6356 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6357
6358         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6359         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6360         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6361         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6362         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6363         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6364         __builtin_ia32_setzero128.
6365         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6366         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6367         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6368         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6369         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6370         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6371         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6372         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6373         sse2_movq): New patterns.
6374         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6375         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6376         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6377         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6378         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6379         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6380         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6381         (_mm_insert_epi16): Fix.
6382
6383 2002-10-21  Dale Johannesen  <dalej@apple.com>
6384
6385         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6386             unsafe math reversals correctly for RTL generation.
6387           (output_cbranch):  Replace rs6000_reverse_condition call
6388             by its former definition.
6389
6390 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6391
6392         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6393         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6394         from constant pool or LABEL_REFs as sign extended if allow_rip.
6395         Change all +-1GB limits to +-16MB.
6396         (x86_64_general_operand, x86_64_szext_general_operand,
6397         x86_64_nonmemory_operand, x86_64_movabs_operand,
6398         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6399         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6400         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6401         in CM_SMALL_PIC model.
6402         (legitimate_pic_address_disp_p): Don't check offsets before
6403         calling local_symbolic_operand.
6404         (legitimize_pic_address): Force offsets bigger than +-16MB into
6405         register.
6406         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6407         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6408         prototype.
6409
6410         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6411         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6412         * configure: Rebuilt.
6413         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6414         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6415         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6416         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6417         -fpic.
6418         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6419         non-pic code if TARGET_64BIT.
6420         (legitimize_address): Generate 64-bit TLS sequences.
6421         (output_pic_addr_const): Support x86-64 TLS operators.
6422         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6423         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6424         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6425         (output_addr_const_extra): Support x86-64 TLS operators.
6426         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6427         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6428         unconditionally.
6429         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6430         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6431         (*tls_global_dynamic_sun): Renamed to...
6432         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6433         (tls_global_dynamic): Renamed to...
6434         (tls_global_dynamic_32): ... this.
6435         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6436         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6437         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6438         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6439         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6440         (tls_local_dynamic_base_dynamic): Renamed to...
6441         (tls_local_dynamic_base_dynamic_32): ... this.
6442         (tls_local_dynamic_base_dynamic_64,
6443         *tls_local_dynamic_base_dynamic_64): New.
6444         (*tls_local_dynamic_once): Renamed to...
6445         (*tls_local_dynamic_32_once): ... this.
6446
6447 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6448
6449         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6450         __divdi3, __umoddi3, or __moddi3.
6451
6452 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6453
6454         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6455         instead of just opt_index as switch expression.
6456
6457         * calls.c (store_one_arg): Change type of 'excess_align'
6458         to unsigned int.
6459
6460         * profile.c (output_gcov_string): Change type of 'temp'
6461         to size_t.
6462
6463 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6464
6465         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6466         (__fixunssfdi, __fixsfdi): Likewise.
6467         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6468         (s390_single_qi): Likewise.
6469         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6470         unsigned comparison warning.
6471         (s390_return_addr_rtx): New function.
6472         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6473         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6474         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6475
6476 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6477
6478         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6479         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6480         (s390_output_mi_thunk): Remove.
6481         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6482
6483 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6484
6485         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6486
6487 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6488
6489         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6490         inverted test in the conditional determining the possibility
6491         of sibcalls in PIC mode.
6492
6493 2002-10-20  Richard Henderson  <rth@redhat.com>
6494
6495         * target.h (struct gcc_target): Line wrap.
6496
6497         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6498         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6499         * config/alpha/alpha.h: ... not here.
6500         * config/alpha/alpha-protos.h: Update.
6501
6502         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6503         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6504         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6505         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6506         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6507         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6508         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6509         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6510         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6511         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6512         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6513         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6514         config/sparc/sparc.c, config/sparc/sparc.h,
6515         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6516         config/stormy16/stormy16.h: Similarly.
6517
6518         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6519         selection logic from call patterns.
6520
6521 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6522
6523         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6524
6525 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6526
6527         PR other/8202
6528         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6529         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6530         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6531         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6532
6533 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6534
6535         PR c/761
6536         * toplev.c (flag_unsafe_profile_arcs): Remove.
6537         (flag_bounded_pointers): Remove.
6538         (flag_bounds_check): Correct comments.
6539         (lang_independent_options): Remove -funsafe-profile-arcs and
6540         -fbounded-pointers.  Correct -fbounds-check comments.
6541
6542         * flags.h: Correct flag_schedule_interblock comments.
6543         (flag_bounded_pointers): Remove prototype.
6544         (flag_bounds_check): Correct comments.
6545
6546         * c-opts.c (c_common_init_options): No need to mark
6547         flag_bounds_check as unspecified.
6548         (c_common_post_options): And no need to set it from
6549         flag_bounded_pointers if its still unspecified.
6550
6551         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6552         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6553         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6554         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6555
6556 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6557         Angela Marie Thomas  <angela@releasedominatrix.com>
6558         Brendan Kehoe  <brendan@zen.org>
6559         Nick Clifton  <nickc@redhat.com>
6560         Andrew Haley  <aph@redhat.com>
6561
6562         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6563         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6564         and CROSS_SYSTEM_HEADER_DIR.
6565         * configure: Rebuilt.
6566         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6567         (TARGET_SYSTEM_ROOT): New.
6568         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6569         CROSS_SYSTEM_HEADER_DIR.
6570         (install-gcc-tooldir): New target.
6571         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6572         if SYSTEM_HEADER_DIR does not exist and it's not the default
6573         sys-include directory.
6574         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6575         (install-mkheaders): Likewise.
6576         * gcc.c (target_system_root): New variable.
6577         (add_sysrooted_prefix): New function.
6578         (process_command): Recompute run-time target_system_root from
6579         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6580         does not exist.
6581         (do_spec_1): Process 'R' spec.
6582         (main): Add md_exec_prefix to exec_prefixes regardless of
6583         startfile_prefix_spec.  Use add_sysrooted_prefix for
6584         startfile_prefixes, and don't skip the default ones when cross
6585         compiling with sysroot enabled.  Removed unused case of
6586         non-absolute standard_startfile_prefix.
6587         * config/interix.h: Remove the only potential, yet disabled,
6588         occurrence of non-absolute (empty) standard_startfile_prefix.
6589         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6590         linking.
6591         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6592         * doc/install.texi (--with-sysroot): Document.
6593         (--with-headers, --with-libs): Deprecate.
6594
6595 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6596             Mark Mitchell  <mark@codesourcery.com>
6597
6598         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6599         match target.h.
6600         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6601         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6602         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6603         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6604         x86_output_mi_thunk): Likewise.
6605         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6606         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6607         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6608         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6609         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6610         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6611         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6612         Likewise.
6613         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6614
6615         * target.h (gcc_target): Update output_mi_thunk and
6616         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6617         vcall_index.
6618
6619         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6620         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6621         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6622         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6623         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6624         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6625         signature.
6626         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6627         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6628         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6629         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6630         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6631         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6632         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6633         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6634         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6635
6636         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6637         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6638
6639 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6640
6641         * real.c (do_add): Fix 0+0 sign corner case.
6642         (do_divide): Fix Inf/0 corner case.
6643
6644 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6645
6646         * i386.c (classify_argument): Pass MMX arguments in memory
6647         (ix86_expand_builtin): Expand proper address mode for cflush.
6648         * i386.md (movdqa): Fix typo.
6649         (sse2_cflush): Accept DImode addresses.
6650
6651         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6652         (_mm_max_sd): Fix pasto.
6653         (_mm_storeh_pd, _mm_storel_pd): Fix.
6654
6655         * i386.c (bdesc_comi): Fix to match specification.
6656         (ix86_expand_sse_comi): Emit the comparison properly.
6657         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6658         Do not use comparison operator.
6659         (vnmaskcmp): Fix template.
6660
6661         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6662
6663 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6664
6665         * dependence.c : Removed.
6666         * Makefile.in : Remove dependence.o.
6667
6668 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6669
6670         * mmintrin.h (__m64): typedef it to v2si.
6671         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6672         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6673         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6674         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6675         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6676         * xmmintrin.h (_mm_setzero_si64): Likewise.
6677
6678         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6679         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6680
6681         PR target/7693
6682         Patch by Shawn Wagner
6683         * mmintrin.h: Replace pi64 by si64.
6684
6685 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6686
6687         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6688         Use length of 4 not *.
6689         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6690         (movdf_softfloat64): Likewise.
6691         (movdi_internal32): Use length of 4 not *.
6692         (movti_power): Same.
6693         (ctrsi, ctrdi): Same.
6694
6695 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6696
6697         * c-decl.c (start_decl): Point users of the old initialized-
6698         typedef extension at __typeof__.
6699
6700 2002-10-18  Richard Henderson  <rth@redhat.com>
6701
6702         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6703         (real_to_decimal): Re-implement using the logic from the
6704         gcc 3.2 etoasc.  Comment heavily.
6705         (div_significands): Simplify loop startup and comparison logic.
6706
6707 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6708
6709         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6710         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6711         (TARGET_ASM_OUT): Add them.
6712         * target.h (asm_out): Add output_mi_thunk and
6713         output_mi_vcall_thunk.
6714         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6715         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6716         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6717         * config/arm/arm.c (arm_output_mi_thunk): Define.
6718         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6719         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6720         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6721         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6722         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6723         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6724         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6725         prototype.
6726         (x86_output_mi_vcall_thunk): Declare.
6727         * config/i386/i386.c (override_options): Clear
6728         output_mi_vcall_thunk in 64-bit mode.
6729         (ix86_fntype_regparm): New function.
6730         (ix86_return_pops_args): Use it.
6731         (ia32_this_parameter): New function.
6732         (x86_output_mi_vcall_thunk): New function.
6733         (x86_output_mi_thunk): Use it
6734         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6735         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6736         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6737         * config/i960/i960.c (i960_output_mi_thunk): New function.
6738         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6739         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6740         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6741         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6742         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6743         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6744         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6745         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6746         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6747         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6748         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6749         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6750         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6751         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6752         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6753         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6754         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6755         * config/s390/s390.c (s390_output_mi_thunk): Define.
6756         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6757         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6758         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6759         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6760         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6761         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6762         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6763         * config/vax/vax.c (vax_output_mi_thunk): Define.
6764         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6765         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6766         * doc/tm.texi: Adjust documentation.
6767
6768 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6769
6770         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6771         __enable_execute_stack function.
6772         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6773         as NETBSD_ENABLE_EXECUTE_STACK.
6774         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6775         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6776         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6777         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6778         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6779
6780 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6781
6782         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6783         to __enable_execute_stack with the address of the trampoline
6784         if TRANSFER_FROM_TRAMPOLINE is defined.
6785         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6786         constant if building libgcc2.
6787
6788 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6789
6790         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6791         (ix86_memory_move_cost): Fix for 64bit compilation.
6792
6793 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6794
6795         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6796
6797 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6798
6799         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6800         in CTR/LR/MQ.
6801         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6802         to/from CTR/LR/MQ.
6803         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6804         (movsf_softfloat): Likewise.
6805
6806 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6807
6808         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6809
6810 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6811
6812         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6813         tramp, not addr, to pass the trampoline address to
6814         __enable_execute_stack.
6815
6816 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6817
6818         * mmintrin.h: Guard by __MMX__
6819         * xmmintrin.h: Guard by __SSE__
6820
6821         PR other/8062
6822         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6823         (_mm_load*_?d): New functions.
6824         (_mm_set*_?d): New functions.
6825         (_mm_store*_?d): New functions.
6826
6827 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6828
6829         Really commit patch announced at Oct 14
6830         PR c/7344
6831         * predict.c (can_predict_insn_p): New function.
6832         (estimate_probability): Avoid unnecesary work.
6833         (process_note_prediction): Likewise.
6834         * toplev.c (rest_of_compilation): Account early branch prediction pass
6835         as TV_BRANCH_PROB.
6836
6837         PR other/8048
6838         Found by Ian Ollmann
6839         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6840         (_mm_load?_pd): Likewise.
6841         (_mm_store?_pd): Likewise.
6842
6843         PR target/7386
6844         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6845         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6846         swapped alternative.
6847
6848         PR opt/7630
6849         * reload1.c (reload_inner_reg_of_subreg): New argument output;
6850         (push_reload): Update call.
6851
6852 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
6853
6854         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6855         if using mips/elf.h or mips/elf64.h.
6856         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6857         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6858
6859 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
6860
6861         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6862         SI.
6863
6864 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
6865
6866         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6867         (LPREFIX): Likewise.
6868         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6869         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
6870         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
6871         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
6872         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
6873
6874         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
6875         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
6876         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6877         BSS_SECTION_ASM_OP): Move from linux.h.
6878         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6879         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6880
6881         * config/s390/s390.c (s390_function_profiler): Use
6882         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6883
6884 2002-10-15  Eric Christopher  <echristo@redhat.com>
6885
6886         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
6887         * java/parse.y (obtain_incomplete_type): Make pointer
6888         ptr_mode.
6889
6890 2002-10-15  Richard Henderson  <rth@redhat.com>
6891
6892         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
6893         as arguments.  Bound DIGITS by the available buffer size.
6894         (real_to_hexadecimal): Likewise.
6895         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
6896         (REAL_VALUE_TO_DECIMAL): Remove.
6897         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
6898         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
6899         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
6900         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6901         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
6902         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
6903         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
6904         use real_to_decimal directly, and with the proper arguments.
6905         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
6906
6907 2002-10-15  Jim Wilson  <wilson@redhat.com>
6908
6909         * reload1.c (merge_assigned_reloads): After converting overlapping
6910         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
6911
6912         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
6913
6914 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6915
6916         * expr.c (do_tablejump): Fix typo in my previous commit.
6917
6918 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
6919
6920         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
6921
6922 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6923
6924         * config/s390/s390.c (s390_split_branches): Add return
6925         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
6926
6927         (find_base_register_in_addr): New function.
6928         (find_base_register_ref): New function.
6929         (replace_base_register_ref): New function.
6930
6931         (struct constant_pool): Add members pool_insn, insns, and anchor.
6932         Remove member last_insn.
6933         (s390_start_pool): Initialize them.
6934         (s390_end_pool): Emit pool placeholder insn.
6935         (s390_add_pool_insn): New function.
6936         (s390_find_pool): Use insns bitmap instead of addresses.
6937         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
6938         Replace unspec 104 by local-pool-relative references.
6939         (s390_output_constant_pool): Output anchor label if required.
6940         (s390_output_symbolic_const): Handle unspec 104 and 105.
6941         (s390_add_pool): Remove, replace by ...
6942         (s390_add_constant, s390_find_constant): ... these new functions.
6943         (s390_add_anchor): New function.
6944
6945         (s390_chunkify_pool): Delete, replace by ...
6946         (s390_chunkify_start, s390_chunkify_finish,
6947         s390_chunkify_cancel): ... these new functions.
6948         (s390_optimize_prolog): Add parameter TEMP_REGNO.
6949         Recompute register live data for special registers.
6950         (s390_fixup_clobbered_return_reg): New function.
6951         (s390_machine_dependent_reorg): Rewrite to use new
6952         s390_chunkify_... routines.
6953
6954         config/s390/s390.md ("reload_base"): Rename to ...
6955         ("reload_base_31"): ... this.
6956         ("reload_base_64"): New insn.
6957         ("reload_base2"): Remove.
6958         ("reload_anchor"): New insn.
6959         ("pool"): New insn.
6960
6961         s390.c (s390_pool_overflow): Remove.
6962         s390.h (s390_pool_overflow): Likewise.
6963         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
6964
6965 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6966
6967         * sh.md (movv8qi_i+2): Don't split if source is -1.
6968
6969 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
6970
6971         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
6972
6973 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6974
6975         PR opt/7409
6976         * loop.c (loop_regs_scan): Mark registers used for function
6977         argument passing as MAY_NOT_OPTIMIZE.
6978
6979 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
6980
6981         * gcov-io.h (gcov_info): Fix type.
6982         * profile.c (create_profiler): Fix type mismatch.
6983
6984 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
6985
6986         * i386.md (movv2di_internal): New pattern.
6987         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
6988         (movv2di): New expander.
6989         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
6990
6991         * i386.c (ix86_expand_timode_binop_builtin): Delete.
6992         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
6993         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
6994         (ix86_expand_builtin): Likewise.
6995         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6996         sse_andti3,
6997         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6998         sse_andnti3,
6999         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7000         sse_orti3,
7001         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7002         sse_xorti3): Kill.
7003         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7004          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7005         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7006          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7007         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7008          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7009
7010         * xmmintrin.h (__m128i): Define as __v2di.
7011
7012         PR c++/6419
7013         (expand_expr): Use DECL_RTL_SET_P.
7014
7015 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7016
7017         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7018
7019 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7020             Zack Weinberg <zack@codesourcery.com>
7021
7022         * config/i386/i386.c (k6_cost): Correct typo.
7023
7024 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7025
7026         PR optimization/6631
7027         * alias.c (objects_must_conflict_p): Check honor_readonly when
7028         examining TYPE_READONLY.
7029         * function.c (assign_stack_temp_for_type): Likewise.
7030
7031 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7032
7033         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7034         Swap zero extension arguments.
7035         (umaxhi3): Fix instruction class.
7036         PR target/7211
7037         (prefetch): Fix prefetch instructions.
7038         PR target/7238
7039         (pkwb): Fix output constraint.
7040
7041 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7042
7043         * config/mips/mips.c (print_operand): Increase buffer size for
7044         real numbers.
7045
7046 2002-10-14  Richard Henderson  <rth@redhat.com>
7047
7048         PR opt/8165
7049         * gcse.c (adjust_libcall_notes): Revert last change.
7050         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7051
7052 2002-10-14  Andrew Haley  <aph@redhat.com>
7053
7054         * tree-inline.c (remap_block): All local class initialization
7055         flags go in the outermost scope.
7056         (expand_call_inline): Call java_inlining_map_static_initializers.
7057         (expand_call_inline): Call java_inlining_merge_static_initializers.
7058         * java/lang.c (merge_init_test_initialization): New.
7059         (java_inlining_merge_static_initializers): New.
7060         (inline_init_test_initialization): New.
7061         (java_inlining_map_static_initializers): New.
7062
7063         * tree-inline.c (expand_call_inline): Convert retvar to expected
7064         type.
7065
7066 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7067
7068         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7069
7070 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7071
7072         * stmt.c: Fix typo in comment.
7073
7074 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7075
7076         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7077         * tree.c (build_common_tree_nodes_2): Initialize
7078         unsigned_V2HI_type_node and V2HI_type_node.
7079         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7080         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7081
7082 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7083
7084         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7085         Handle TARGET_64BIT.
7086
7087 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7088
7089         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7090         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7091         (MULTILIB_DIRNAMES): Remove long32.
7092         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7093         (MULTILIB_REDUNDANT_DIRS): Remove.
7094
7095 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7096
7097         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7098         * gcc.c (driver_self_specs): New variable.
7099         (do_self_spec): New function.
7100         (main): Use it to process driver_self_specs.
7101
7102 2002-10-13  Richard Henderson  <rth@redhat.com>
7103
7104         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7105         indirect sibcalls when regparm >= 3.
7106
7107         * config/i386/i386.c (sibcall_insn_operand): New.
7108         * config/i386/i386.h (PREDICATE_CODES): Update.
7109         * config/i386/i386-protos.h: Update.
7110         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7111
7112         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7113
7114 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7115
7116         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7117         arithmetic right shifts of ~0 during RTL simplifications.
7118
7119 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7120
7121         PR preprocessor/7862
7122         PR preprocessor/8190
7123         * gcc.c (cpp_unique_options): Don't delete .d files.
7124         Remove stray whitespace.
7125
7126 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7127
7128         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7129         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7130         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7131         (pdp11_output_function_epilogue, output_ascii): Likewise.
7132         (output_addr_const_pdp11): Likewise.
7133         * pdp11.md (movdi): Use offsetable memory for floating store.
7134         (lshrsi3, negsi2): Delete irrelevant comment.
7135
7136 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7137
7138         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7139         indirect calls to be sibcall optimized.
7140         * config/i386/i386.md (sibcall_1): New.
7141         (call_1): Add no-sibcalls condition.
7142         (sibcall_value_1): New.
7143         (call_value_1): Add no-sibcalls condition.
7144
7145 2002-10-11  Eric Christopher  <echristo@redhat.com>
7146
7147        * output.h (default_valid_pointer_mode): Declare.
7148        * varasm.c (default_valid_pointer_mode): Define.
7149        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7150        * target.h: Ditto.
7151        * tree.c (build_pointer_type_for_mode): New function.
7152        (build_pointer_type): Use.
7153        (build_reference_type_for_mode): New function.
7154        (build_reference_type): Use.
7155        * tree.h: Declare new functions.
7156        * c-common.c (handle_mode_attribute): Use new functions, check
7157        for type.
7158        * stor-layout.c (layout_type): Depend on machine mode for
7159        REFERENCE_TYPE and POINTER_TYPE.
7160        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7161        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7162        and REFERENCE_TYPE.
7163        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7164        (TARGET_VALID_POINTER_MODE): Use and define.
7165        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7166
7167 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7168
7169         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7170         not the address of the REG.
7171         (struct cse_reg_info): Make subreg_ticked unsigned.
7172
7173 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7174
7175         * doc/compat.texi: Add info about C++ libraries.
7176
7177 2002-10-11  Richard Henderson  <rth@redhat.com>
7178
7179         PR opt/8165
7180         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7181
7182 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7183
7184         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7185         * genautomata.c (output_insn_code_cases): Likewise.
7186         * real.c (real_format): Likewise.
7187         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7188         ensure value is promoted before doing subtraction.
7189
7190 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7191
7192         * calls.c (expand_call): Simplify noreturn call.
7193
7194         PR c/7344
7195         * cfgbuild.c (make_edges): Create edge cache when we do have
7196         large jumptable.
7197         * expr.c (do_tablejump): Note size of maximal jumptable.
7198         * function.c (prepare_function_start): Zero out size.
7199         * function.h (function): Add max_jumptable_ents.
7200
7201         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7202
7203 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7204
7205         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7206         register for mperm_w operation.
7207
7208 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7209
7210         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7211         an integer, use simplify_gen_subreg.
7212
7213 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7214
7215         * calls.c (flags_from_decl_or_type): Make extern.
7216         (ECF_*): Move ...
7217         * rtl.h (ECF_*): ... here.
7218         (flags_from_decl_or_type): Declare.
7219
7220 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7221             Nathan Sidwell <nathan@codesourcery.com>
7222
7223         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7224         shifts of the form -1 >> x.
7225
7226 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7227
7228         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7229
7230 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7231
7232         * extend.texi (Vector Extensions): Remove comment about single
7233         element vectors.
7234
7235 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7236
7237         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7238         * function.c (insns_for_mem_hash): Likewise.
7239         * varasm.c (STRHASH): Likewise.
7240
7241 2002-10-10  Stuart Hastings  <stuart@apple.com>
7242
7243         * cse.c (struct cse_reg_info): Add subreg_ticked.
7244         (SUBREG_TICKED): New.
7245         (get_cse_reg_info): Initialize SUBREG_TICKED.
7246         (mention_regs): Use it.
7247         (invalidate): Set SUBREG_TICKED.
7248         (invalidate_for_call): Likewise.
7249         (addr_affects_sp_p): Likewise.
7250
7251 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7252
7253         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7254         into proper operand.
7255
7256 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7257
7258         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7259         deallocation.
7260         * config/ip2k/libgcc.S: Combine routines used by function
7261         epilogue.
7262
7263 2002-10-10  Jim Wilson  <wilson@redhat.com>
7264
7265         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7266         UDIV.
7267
7268 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7269
7270         * config/rs6000/aix52.h: New file.
7271         * config/rs6000/t-aix52: New File.
7272         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7273         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7274
7275 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7276
7277         PR target/5610
7278         * invoke.texi (-msse-math): Kill
7279         (-msse): Add note to mfpmath=sse.
7280
7281 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7282
7283         PR target/7723
7284         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7285
7286 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7287
7288         PR preprocessor/8179
7289         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7290         as cc1_options.
7291         (default_compilers): Pass debug options when preprocessing
7292         stdin.
7293
7294 2002-10-06  Richard Henderson  <rth@redhat.com>
7295
7296         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7297
7298 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7299
7300         * i386.c (*_cost): Add branch costs.
7301         (override_options): set ix86_branch_cost.
7302         (ix86_expand_int_movcc): Use BRANCH_COST.
7303         * i386.h (costs): Add branch_cost.
7304
7305 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7306
7307         PR c/7353
7308         * c-decl.c (start_decl): Unconditionally issue error for
7309         'typedef foo = bar'.
7310         (finish_decl): Remove special case for TYPE_DECL with initializer.
7311
7312         * doc/extend.texi: Delete "Naming Types" section.  Change all
7313         cross-references to that section to refer to "Typeof" instead.
7314         Add the useful safe-max()-macro example from "Naming Types" to
7315         "Typeof", rewritten using that extension.  Add some compatibility
7316         notes to "Typeof."
7317
7318 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7319
7320         * loop.c: Revert 2002-08-15 change.
7321         (LOOP_REGNO_NREGS): Ensure type is int.
7322
7323 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7324
7325         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7326         which copies first FPR and clears second.
7327         (extendsftf2): Same.
7328         (floatditf2): Fix typo.
7329         (floatsitf2): Same.
7330         (fix_trunctfdi2): Same.
7331         (fix_trunctfsi2): Same.
7332
7333 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7334
7335         * conflict.c (arc_hash): Change return type to hashval_t.
7336         * cselib.c (get_value_hash): Likewise.
7337         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7338         state_hash, automata_list_hash): Likewise.
7339         * read-rtl.c (def_hash): Likewise.
7340         * tree.c (type_hash_hash): Likewise.
7341
7342 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7343
7344         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7345         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7346
7347 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7348
7349         * sh.md (ffssi2): Fix emitted code.
7350
7351 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7352
7353         * cse.c (insn_live_p): Pass insn pattern, not full insn
7354         to may_trap_p.
7355
7356 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7357
7358         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7359
7360 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7361
7362         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7363         64-bit hosts.
7364         (movtf_internal): Reference correct displacement for second value
7365         in memory.
7366         (movtf splitter): Correct generation of constants in 64-bit mode.
7367
7368 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7369
7370         * libgcc2.c (__floatdisf): Properly cure double rounding.
7371
7372 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7373
7374         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7375         * doc/cpp.texi (Common Predefined Macros): Document.
7376
7377 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7378
7379         PR doc/7484
7380         * doc/invoke.texi (Option Summary): List
7381         -Wmissing-declarations as a C only option.
7382
7383 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7384
7385         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7386         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7387         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7388
7389 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7390
7391         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7392         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7393         variables.
7394         (safe_vector_operand): Update sse_clrv4sf call.
7395         (ix86_expand_buildin): Likewise
7396         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7397         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7398         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7399         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7400         macros.
7401         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7402         movv4si):  Obey the new flags.
7403         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7404         reformating penalty.
7405         (anddf, cmov patterns): Avoid reformating by first converting.
7406         (sse_cvtsd2ss): Fix predicate.
7407         (sse2_clrti): Fix mode,
7408         (sse_clrv4sf): Avoid unspec.
7409
7410 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7411
7412         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7413         mno-app-regs|mcmodel=medany.
7414         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7415         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7416         (CRTSTUFF_T_CFLAGS): Define.
7417
7418 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7419
7420         PR target/8087
7421         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7422         pool references that are constructed using LO_SUM.
7423
7424 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7425
7426         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7427         -Wall.
7428         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7429         message.
7430         * flags.h (warn_strict_aliasing): Declare.
7431         * toplev.c (warn_strict_aliasing): Define.
7432         (lang_independent_options): Add it.
7433         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7434
7435 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7436
7437         * system.h (GCCBUGURL): Delete.
7438         * version.c (bug_report_url): New.  Add commentary about
7439         modifying both these strings in modified distributions.
7440         * version.h: Declare bug_report_url.
7441
7442         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7443         bug_report_url.
7444
7445 2002-10-08  Nick Clifton  <nickc@redhat.com>
7446
7447         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7448         convert uint64_t into __ev64_opaque__.
7449         (__ev_set_acc_s64): Likewise, but using signed types.
7450
7451 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7452
7453         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7454         ("*doloop_di_long"): Likewise.
7455
7456 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7457
7458         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7459
7460 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7461
7462         * config/mips/mips.md (define_attr cpu): Add r4111.
7463
7464 2002-10-08  Anthony Green  <green@redhat.com>
7465
7466         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7467
7468 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7469
7470         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7471         for REAL_VALUE_TO_DECIMAL output.
7472
7473 2002-10-07  Richard Henderson  <rth@redhat.com>
7474
7475         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7476         function; cleanup PLUS case by using recursion.  Update all users.
7477         (NONZERO_BASE_PLUS_P): Remove.
7478         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7479         (fold_rtx): Use nonzero_address_p.
7480         * rtl.h (nonzero_address_p): Declare.
7481         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7482         (rtx_addr_can_trap_p): Likewise.
7483         (nonzero_address_p): New.
7484         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7485         (simplify_relational_operation): Use nonzero_address_p.
7486
7487 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7488
7489         * config/rs6000/rs6000.c (rs6000_override_options): Set
7490         real_format_for_mode for IBM extended format, if enabled.
7491         (easy_fp_constant): Add TFmode.
7492         (rs6000_legitimize_address): Add TFmode.
7493         (rs6000_legitimate_address): Same.
7494         (function_arg_advance): TFmode uses two FPRs.
7495         (rs6000_emit_prologue): Fix warning.
7496         (rs6000_output_function_epilogue): Add TFmode.
7497         (output_toc): Add TFmode.
7498         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7499         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7500         * rs6000.md (movtf splitter): Load TFmode constant.
7501
7502 2002-10-07  Dale Johannesen  <dalej@apple.com>
7503
7504         * rtl.h:  Add NOTE_PRECONDITIONED.
7505         * unroll.c:  Set it.
7506         * loop.c:  Set loop_info->preconditioned from it.
7507         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7508
7509 2002-10-07  Richard Henderson  <rth@redhat.com>
7510
7511         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7512         new rtx for comparing the argument pointer against zero.
7513         (i960_va_start): Similarly.
7514
7515 2002-10-07  Richard Henderson  <rth@redhat.com>
7516
7517         * config/i960/i960.md (*): Use TFmode, not XFmode.
7518         * config/i960/i960.c (*): Likewise.
7519         (i960_arg_size_and_align): Remove XFmode alignment hack.
7520         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7521         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7522         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7523         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7524
7525 2002-10-07  Richard Henderson  <rth@redhat.com>
7526
7527         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7528         entry points; use void return value and argument list.
7529
7530 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7531
7532         * calls.c (expand_call): Fix function-is-volatile check.
7533
7534 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7535
7536         * t-pdp11: Add MULTILIB support for msoft-float.
7537         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7538
7539         * t-pdp11: Add LIB2FUNCS_EXTRA.
7540         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7541         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7542         'fldd' to 'ldd', rename 'fstd' to 'std'.
7543         (pdp11_output_function_epilogue): Likewise.
7544         (output_move_quad): Make the comment gas compatible.
7545         (output_ascii): Add preceding 0 to the octal constant.
7546         (print_operand_address): Add pre_modify, post_modify.
7547         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7548         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7549         with the indication of Paul Koning.
7550         (PRINT_OPERAND): Fix floating constant.
7551         * pdp11.md (movdi): Restrict matching pattern.
7552         (movqi): Generalize the matching pattern.
7553         (movdf): Restrict matching pattern.
7554         (zero_extendqihi2): Change constant representation.
7555         (floatsidf2): Fix wrong operands.
7556         (addqi3): Fix wrong instruction name.
7557         (subqi3): Fix wrong instruction name.
7558         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7559         (xorsi3): Fix wrong insn.
7560         (one_cmplqi2): Add two operand pattern.
7561         (lsrsi3): New.
7562         (negsi2): New.
7563         (call): Add register indirect case.
7564         (mod): Fix wrong subreg.
7565
7566 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7567             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7568
7569         PR c/7411
7570         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7571         have been expanded in EXPAND_NORMAL mode.
7572
7573 2002-10-06  Richard Henderson  <rth@redhat.com>
7574
7575         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7576
7577 2002-10-06  Richard Henderson  <rth@redhat.com>
7578
7579         PR optimization/2960
7580         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7581         optimize_size.
7582
7583 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7584
7585         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7586         previously definitions.
7587
7588 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7589
7590         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7591         * c-opts.c (find_opt): Similarly.
7592
7593 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7594
7595         * athlon.md: rewrite to DFA.
7596         * i386 (ix86_adjust_cost): Drop memory latency code.
7597         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7598
7599 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7600
7601         * gcc.c (set_multilib_dir): Don't access *end.
7602         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7603         (print_multilib_info): Don't show paths starting with ".:".
7604         * genmultilib: Add new option, "yes" if multilibs are enabled.
7605         Update comments.  If multilibs not enabled, print .:${osdirout}
7606         for each directory.  If multilibs are enabled, always print
7607         ${dirout}:${osdirout}, even if the two are the same.
7608         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7609         Pass all MULTILIB_* variables to genmultilib even if
7610         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7611
7612 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7613
7614         * gcc.c (process_command): Set .validated for -pipe.  Correct
7615         grammar in comment.
7616
7617 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7618
7619         * fixinc/inclhack.def(hpux11_abs):  use format fix
7620         * fixinc/fixincl.x: regenerate
7621         * fixinc/tests/base/stdlib.h: accommodate new fix test
7622
7623 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7624
7625         * c-common.c (cb_register_builtins):  Use really_no_inline.
7626
7627 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7628
7629         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7630         copied instruction if the note is not loop invariant.
7631
7632 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7633
7634         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7635
7636 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7637
7638         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7639         and -mhp-ld options to list of options.  Add -mgnu-ld
7640         and -mhp-ld option descriptions.
7641
7642 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7643
7644         * fixinc/inclhack.def (hpux11_abs):  New.
7645         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7646         * fixinc/fixincl.x: Rebuild.
7647
7648 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7649
7650         * config/i386/i386.h (processor_costs): Add new fields fadd,
7651         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7652         (RTX_COSTS): Use these fields to determine the RTX costs
7653         of floating point addition/subtraction, multiplication,
7654         division, fabs, negation and square root respectively.
7655         * config/i386/i386.c (size_cost): Provide instruction sizes
7656         for these new fields.
7657         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7658         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7659         counts for these new fields for all x86 processor variants.
7660
7661 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7662
7663         * mips.c (mips_const_double_ok): Delete unused variable.
7664
7665         * gengtype.c (rtx_next): Change type to int.
7666
7667 2002-10-04  Andreas Jaeger  <aj@suse.de>
7668
7669         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7670
7671 2002-10-04  Richard Henderson  <rth@redhat.com>
7672
7673         * real.h (SIGNIFICAND_BITS): Add one more word.
7674         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7675         * real.c (times_pten): New.
7676         (real_to_decimal, real_from_string): Use it.
7677         (sticky_rshift_significand): Use & to find modulus.
7678         (rshift_significand, lshift_significand): Likewise.
7679         (do_divide): Apply sticky bit after normalization.
7680         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7681
7682 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7683
7684         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7685         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7686
7687 2002-10-03  Andreas Jaeger  <aj@suse.de>
7688
7689         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7690         to unsigned long, adjust printf format string.
7691         (output_mangled_typename): Likewise.
7692
7693 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7694
7695         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7696         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7697         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7698         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7699         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7700         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7701         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7702         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7703
7704 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7705
7706         * doc/invoke.texi (-Wabi): Document mangling bug.
7707
7708 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7709
7710         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7711         name for the tbtab label that depends on the function asm name.
7712         Don't output tbtab label unless optional_tbtab.
7713         (output_mi_thunk): Formatting.
7714
7715 2002-10-03  Richard Henderson  <rth@redhat.com>
7716
7717         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7718         * config/m68k/m68k.c (override_options): ... here.
7719         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7720         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7721         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7722         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7723
7724 2002-10-03  Richard Henderson  <rth@redhat.com>
7725
7726         * real.h (struct real_value): Use ENUM_BITFIELD.
7727
7728 2002-10-03  Richard Henderson  <rth@redhat.com>
7729
7730         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7731
7732 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7733
7734         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7735
7736 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7737
7738         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7739         * config/pa/pa.h (MASK_GNU_LD): New.
7740         (TARGET_GNU_LD): New.
7741         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7742         on gnu-ld and MASK_GNU_LD.
7743         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7744
7745 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7746
7747         * i386.c (athlon_cost): Fix the move costs.
7748
7749 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7750
7751         * final.c (final): Use symbol name as function name for profiling.
7752         * profile.c (get_exec_counts): Likewise.
7753         (branch_prob): Likewise.
7754
7755 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7756
7757         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7758
7759 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7760
7761         * gcc.c (print_multi_os_directory): New variable.
7762         (option_map): Support --print-multi-os-directory.
7763         (struct prefix_list): Add os_multilib field.
7764         (multilib_os_dir): New variable.
7765         (static_specs): Add multilib_options.
7766         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7767         subdirs if nonzero.
7768         (read_specs, execute): Update callers.
7769         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7770         pass 1 as multilib option.
7771         (display_help): Include --print-multi-os-directory.
7772         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7773         (process_command): Update callers.  Handle --print-multi-os-directory.
7774         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7775         set.
7776         (main): Update find_a_file and add_prefix callers.
7777         Handle print_multi_os_directory.
7778         (struct mdswitchstr): New.
7779         (mdswitches, n_mdswitches): New variables.
7780         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7781         present on the command line nor their mutually incompatible
7782         switches.
7783         (default_arg): Optimize.
7784         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7785         array.
7786         (print_multilib_info): Only print GCC multilib dir name, not OS
7787         multilib dirname.
7788         * genmultilib: Add osdirnames parameter.  Output multilib_options
7789         variable.  If osdirnames is specified, output dirnames as
7790         dirname:osdirname.
7791         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7792         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7793         to compute libgcc_s soname and install path.
7794         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7795         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7796         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7797         argument.
7798
7799         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7800         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7801         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7802         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7803         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7804         and -m64.
7805         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7806         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7807         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7808         (STARTFILE_ARCH_SPEC): Remove.
7809         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7810         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7811         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7812         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7813         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7814
7815 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7816
7817         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7818
7819 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7820
7821         * i386.md (lea to mul peep2): Fix condition.
7822
7823 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7824
7825         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7826         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7827
7828 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7829
7830         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7831         attribute "unused".
7832
7833         * config/t-libunwind: Mention unwind-sjlj.c.
7834         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7835         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7836
7837         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7838         before inclusion of config.gcc, but after configuring the compiler etc.
7839         Determine default value for --enable-libunwind-exceptions based on
7840         whether the host has a libunwind library (not guaranteed to be correct,
7841         but it's a reasonable first guess and can always be overridden with an
7842         explicit --enable/disable-libunwind-exceptions.
7843         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7844         tmake_file when $use_libunwind_exceptions is enabled.
7845         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7846         ia64 (e.g., config/t-linux also updates it).
7847         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7848         along with the shared version of libgcc since the latter requires
7849         the former.
7850         * unwind-libunwind.c: New file.
7851         * config/t-libunwind: Ditto.
7852
7853 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7854
7855         * config.gcc: Remove support for vax-*-vms*.
7856         * config/vax/vms.h: Remove.
7857         * config/vax/xm-vms.h: Remove.
7858         * config/vax/vax-protos.h: Remove VMS-specific code.
7859         * config/vax/vax.c: Remove VMS-specific code.
7860
7861 2002-10-02  Richard Henderson  <rth@redhat.com>
7862
7863         PR opt/7124
7864         * config/i386/i386.c (ix86_register_move_cost): Increase cost
7865         for secondary_memory_needed pairs.
7866
7867 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7868
7869         * doc/vms.texi: Blow away false include file section.
7870
7871 2002-10-02  Roger Sayle  <roger@eyesopen.com>
7872
7873         PR optimization/6627
7874         * toplev.c (force_align_functions_log): New global variable.
7875         * flags.h (force_align_functions_log): Add extern prototype.
7876         * varasm.c (assemble_start_function): Use it to force minimum
7877         function alignment.
7878         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
7879         minimum function alignment to one byte.
7880         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
7881         the least significant bit of vtable member function pointers.
7882         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
7883         here from cp/cp-tree.h.
7884
7885 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7886
7887         * i386.c (print_operand_address): Use RIP addressing for offsetted
7888         label refs too.
7889
7890 2002-09-30  David S. Miller  <davem@redhat.com>
7891
7892         PR middle-end/7151
7893         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
7894         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
7895
7896 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
7897
7898         * calls.c (expand_call): Remove the `no indirect check'
7899         for sibcall optimization; use function_ok_for_sibcall
7900         target hook; refine check for `function is volatile'.
7901         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
7902         * hooks.c (hook_tree_tree_bool_false): New.
7903         * hooks.h (hook_tree_tree_bool_false): Declare.
7904         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7905         (TARGET_INITIALIZER): Add it.
7906         * target.h (struct gcc_target): Add function_ok_for_sibcall.
7907         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
7908         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7909         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7910         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
7911         Remove function declaration.
7912         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
7913         function static and accept another argument of type `tree'.
7914         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7915         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7916         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7917         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
7918         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7919         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7920         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7921         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
7922         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
7923         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7924         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7925         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
7926         Remove function declaration.
7927         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
7928         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
7929         rename first argument to `decl'; accept another argument
7930         of type `tree'; make static.
7931         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7932         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7933         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
7934         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7935         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7936         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
7937         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7938         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7939         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7940
7941 2002-10-01  Roger Sayle  <roger@eyesopen.com>
7942
7943         * unroll.c (loop_iterations): Revert 2002-09-08 change.
7944
7945 2002-10-01  Richard Henderson  <rth@redhat.com>
7946
7947         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
7948         (real_to_hexadecimal): Likewise.
7949         * print-rtl.c (print_rtx): If we are linked with real.c, don't
7950         dump the XWINT fields of a floating point CONST_DOUBLE.
7951
7952 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
7953
7954         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
7955
7956 2002-10-01  Richard Henderson  <rth@redhat.com>
7957
7958         * calls.c (precompute_register_parameters): Force non-legitimate
7959         constants into pseudos.
7960
7961 2002-10-01  Nick Clifton  <nickc@redhat.com>
7962
7963         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
7964         to assembler template.
7965
7966 2002-10-01  Richard Henderson  <rth@redhat.com>
7967
7968         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
7969         for TLS debug info to !DECL_EXTERNAL.
7970
7971 2002-10-01  Matt Thomas  <matt@3am-software.com>
7972             Jason Thorpe  <thorpej@wasabisystems.com>
7973
7974         * config.gcc (vax-*-netbsdelf*): Enable configuration.
7975         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
7976         if not already defined.
7977         * config/vax/elf.h: New file.
7978         * config/vax/netbsd-elf.h: New file.
7979         * config/vax/vax.c: Include "debug.h".
7980         (vax_output_function_prologue): Add dwarf2 support.  Use
7981         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
7982         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
7983         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
7984         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
7985         (VAX_ISTREAM_SYNC): Remove.
7986         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
7987         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7988         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
7989         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
7990         and assemble_name.
7991         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7992         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
7993         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
7994         (INCOMING_RETURN_ADDR_RTX): Define.
7995         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
7996         (VUNSPEC_SYNC_ISTREAM): Define.
7997         (blockage): Use VUNSPEC_BLOCKAGE.
7998         (sync_istream): New insn.
7999
8000 2002-10-01  Richard Henderson  <rth@redhat.com>
8001
8002         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8003         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8004         (*call): New insn.
8005
8006 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8007
8008         PR c/8083
8009         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8010         type based aliasing.
8011
8012 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8013
8014         * stor-layout.c (update_alignment_for_field): New function.
8015         (place_union_field): Use it.
8016         (place_field): Likewise.
8017
8018 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8019
8020         PR other/8077
8021         * gcc.c (cc1_options): Add space on -auxbase-strip.
8022
8023 2002-10-01  Jim Wilson  <wilson@redhat.com>
8024
8025         * config/v850/v850.h (EPILOGUE_USES): Define.
8026
8027 2002-09-30  Andrew Haley  <aph@redhat.com>
8028
8029         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8030         eliminate insns that may trap.
8031         * cse.c (insn_live_p): Likewise.
8032
8033 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8034
8035         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8036         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8037         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8038         * config/mips/mips.md: Apply same renaming here.
8039
8040 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8041
8042         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8043         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8044         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8045         * config/mips/mips.md (define_attr cpu): Remove r4320.
8046         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8047
8048 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8049
8050         * config/mips/mips.c (mips16_strings): New variable.
8051         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8052         symbol in mips16_strings.  Free the list.
8053         (mips_encode_section_info): Keep track of local strings.
8054
8055 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8056
8057         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8058         (sordered_df, sordered_sf): Remove.
8059         * config/mips/mips.c (get_float_compare_codes): New fn.
8060         (gen_int_relational, gen_conditional_move): Use it.
8061
8062 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8063
8064         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8065         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8066         * config/mips/mips.c (fcc_register_operand): New function.
8067         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8068         (override_options): Allow TFmode values in float registers
8069         if ISA_HAS_8CC.
8070         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8071         to fcc_register_operand.  Remove misleading source constraint.
8072         Use mips_emit_fcc_reload.
8073         (reload_outcc): Duplicate reload_incc.
8074
8075 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8076
8077         * gcc.c (validate_switches): Handle all new forms of spec
8078         syntax introduced recently.  Now returns a char *.
8079         (validate_all_switches): Repetitive logic broken out to...
8080         (validate_switches_from_spec): ...here.
8081         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8082
8083 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8084
8085         * longlong.h: Partially synchronize with GMP-4.1 version:
8086         Use i370 definitions also for s390.
8087         Add generic definition of umul_ppmm in terms of smul_ppmm.
8088         [s390] (umul_ppmm): Remove.
8089         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8090         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8091
8092 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8093
8094         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8095         Add new RL_REGS register class.
8096         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8097         Call xtensa_preferred_reload_class for both input and output reloads.
8098         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8099         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8100         instead of either AR_REGS or GR_REGS classes.
8101         (xtensa_secondary_reload_class): Use new RL_REGS class.
8102         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8103
8104 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8105
8106         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8107         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8108         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8109         there is a '*' prefix in NAME.
8110
8111 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8112
8113         * reload.c (push_reload): Handle subregs and secondary memory.
8114         * reload1.c (gen_reload): Likewise.
8115
8116         * jump.c (reg_or_subregno): New function.
8117         * rtl.h (reg_or_subregno): Declare
8118         * unroll.c (find_splittable_givs): Handle subregs.
8119
8120 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8121
8122         * store-layout.c (finish_record_layout): Add free_p parameter.
8123         (layout_type): Pass it.
8124         * tree.h (finish_record_layout): Update prototype.
8125
8126 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8127
8128         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8129
8130         * gcse.c (cprop_jump): Check that the register has not
8131         been modified
8132         (cprop_jump): Likewise.
8133
8134 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8135
8136         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8137         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8138         that we have a SImode access, and only then if reload hasn't completed;
8139         for all other cases, use LO_REGS.
8140
8141 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8142
8143         * openbsd.h: Fix typo in last change.
8144
8145 2002-09-29  Richard Henderson  <rth@redhat.com>
8146
8147         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8148
8149 2002-09-29  Richard Henderson  <rth@redhat.com>
8150
8151         PR c/8002
8152         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8153         for CONST_INT.
8154
8155 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8156
8157         * real.h (ibm_extended_format): Declare.
8158         * real.c (encode_ibm_extended, decode_ibm_extended): New
8159         functions.
8160
8161 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8162
8163         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8164
8165         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8166
8167 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8168
8169         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8170
8171 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8172
8173         * builtins.def: Fix comment formatting.
8174         * c-common.def: Likewise.
8175         * cfgcleanup.c: Likewise.
8176         * combine.c: Likewise.
8177         * gengtype.c: Likewise.
8178         * params.def: Likewise.
8179         * predict.def: Likewise.
8180         * rtl.def: Likewise.
8181         * stab.def: Likewise.
8182         * stor-layout.c: Likewise.
8183         * tree.def: Likewise.
8184         * config/darwin.c: Likewise.
8185         * config/darwin.h: Likewise.
8186         * config/dbxcoff.h: Likewise.
8187         * config/elfos.h: Likewise.
8188         * config/fp-bit.c: Likewise.
8189         * config/freebsd-spec.h: Likewise.
8190         * config/interix.h: Likewise.
8191         * config/libgloss.h: Likewise.
8192         * config/linux-aout.h: Likewise.
8193         * config/linux.h: Likewise.
8194         * config/lynx-ng.h: Likewise.
8195         * config/lynx.h: Likewise.
8196         * config/netbsd-aout.h: Likewise.
8197         * config/netbsd.h: Likewise.
8198         * config/netware.h: Likewise.
8199         * config/psos.h: Likewise.
8200         * config/ptx4.h: Likewise.
8201
8202 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8203
8204         * ChangeLog.4: Fix typos.
8205         * ChangeLog.6: Likewise.
8206         * FSFChangeLog.10: Likewise.
8207         * genattrtab.c: Fix comment typos.
8208         * haifa-sched.c: Likewise.
8209         * real.c: Likewise.
8210         * tree.h: Likewise.
8211         * config/arm/arm.c: Likewise.
8212         * config/arm/crti.asm: Likewise.
8213         * config/arm/crtn.asm: Likewise.
8214         * config/frv/frv.c: Likewise.
8215         * config/frv/frv.md: Likewise.
8216         * config/h8300/h8300.md: Likewise.
8217         * config/i386/rtemself.h: Likewise.
8218         * config/ia64/unwind-ia64.c: Likewise.
8219         * config/ip2k/ip2k.h: Likewise.
8220         * config/m88k/m88k.c: Likewise.
8221         * config/m88k/m88k.md: Likewise.
8222         * config/mips/sr71k.md: Likewise.
8223         * config/mmix/mmix.c: Likewise.
8224         * config/rs6000/rs6000.c: Likewise.
8225         * config/sh/sh.md: Likewise.
8226
8227 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8228
8229         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8230         * config/avr/avr.md: Ditto.
8231
8232 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8233
8234         PR preprocessor/8055
8235         * cppmacro.c (stringify_arg): Do not overflow the buffer
8236         with the terminating NUL when the argument to be stringified
8237         has no tokens.
8238
8239 2002-09-27  Richard Henderson  <rth@redhat.com>
8240
8241         * unroll.c (simplify_cmp_and_jump_insns): New.
8242         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8243         instead of expand_simple_foo.
8244
8245 2002-09-27  Richard Henderson  <rth@redhat.com>
8246
8247         PR optimization/7520
8248         * cfganal.c (flow_active_insn_p): New.
8249         (forwarder_block_p): Use it.
8250
8251 2002-09-27  Richard Henderson  <rth@redhat.com>
8252
8253         * emit-rtl.c (active_insn_p): Revert last change.
8254
8255 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8256
8257         * doc/extend.texi (tls_model): Document.
8258         * varasm.c (decl_tls_model): New.
8259         * c-common.c (handle_tls_model_attribute): New.
8260         (c_common_attribute_table): Add tls_model.
8261         * config/alpha/alpha.c (alpha_encode_section_info): Use
8262         decl_tls_model.
8263         * flags.h (enum tls_model, flag_tls_default): Move...
8264         * tree.h (enum tls_model, flag_tls_default): ...here.
8265         (decl_tls_model): New prototype.
8266         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8267         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8268         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8269         Allow !flag_pic.
8270
8271 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8272
8273         * LANGUAGES: Follow spelling conventions.
8274         * rtl.def: Likewise.
8275         * sbitmap.c: Likewise.
8276         * sched-int.h: Likewise.
8277         * sched-rgn.c: Likewise.
8278         * sibcall.c: Likewise.
8279         * simplify-rtx.c: Likewise.
8280         * ssa.c: Likewise.
8281         * stab.def: Likewise.
8282         * stmt.c: Likewise.
8283         * stor-layout.c: Likewise.
8284         * target.h: Likewise.
8285         * timevar.c: Likewise.
8286         * toplev.c: Likewise.
8287         * tree-dump.c: Likewise.
8288         * tree-inline.c: Likewise.
8289         * tree.c: Likewise.
8290         * tree.def: Likewise.
8291         * tree.h: Likewise.
8292         * unroll.c: Likewise.
8293         * varasm.c: Likewise.
8294         * vmsdbgout.c: Likewise.
8295         * treelang/treelang.texi: Likewise.
8296         * treelang/treetree.c: Likewise.
8297
8298 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8299
8300         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8301         instead of a hard register number.
8302         (get_shift_alg): Use an enumerated type instead of numbers.
8303         (h8300_shift_needs_scratch_p): Likewise.
8304
8305 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8306
8307         * varasm.c (force_data_section): Remove.
8308         (assemble_constant_align): Likewise.
8309         * output.h: Remove corresponding prototypes.
8310
8311 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8312
8313         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8314         jump, if the loop to exit is the top of the current nesting stack.
8315
8316 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8317
8318         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8319         arithmetic.
8320
8321 2002-09-26  David S. Miller  <davem@redhat.com>
8322
8323         PR optimization/7335
8324         * calls.c (emit_library_call_value_1): Passing args by reference
8325         converts a CONST function into a PURE one.
8326
8327 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8328
8329         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8330         text_section.
8331         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8332         text section.
8333         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8334         function-sections and data-sections functionality on AIX.
8335
8336 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8337             Dale Johannesen  <dalej@apple.com>
8338
8339         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8340         in RTL for sub-word loads from memory.
8341
8342 2002-09-26  Richard Henderson  <rth@redhat.com>
8343
8344         PR c/7160
8345         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8346         on call insns.
8347
8348 2002-09-26  Richard Henderson  <rth@redhat.com>
8349
8350         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8351
8352 2002-09-26  Chris Lattner  <sabre@nondot.org>
8353
8354         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8355         handling undefined values.
8356
8357 2002-09-26  Richard Henderson  <rth@redhat.com>
8358
8359         PR opt/7520
8360         * emit-rtl.c (active_insn_p): Consider a clobber of the
8361         function return value to be active even after reload.
8362
8363 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8364
8365         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8366         by absolute loop increment, not loop increment.
8367
8368 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8369
8370         * c-common.h: Follow spelling conventions.
8371         * cpplex.c: Likewise.
8372         * cpplib.h: Likewise.
8373         * gthr-dce.h: Likewise.
8374         * gthr-posix.h: Likewise.
8375         * optabs.c: Likewise.
8376         * output.h: Likewise.
8377         * profile.c: Likewise.
8378         * protoize.c: Likewise.
8379         * ra-rewrite.c: Likewise.
8380         * real.c: Likewise.
8381         * recog.c: Likewise.
8382         * reg-stack.c: Likewise.
8383         * regclass.c: Likewise.
8384         * regmove.c: Likewise.
8385         * reload.c: Likewise.
8386         * reload.h: Likewise.
8387         * reload1.c: Likewise.
8388         * reorg.c: Likewise.
8389         * resource.c: Likewise.
8390         * rtl.h: Likewise.
8391         * rtlanal.c: Likewise.
8392
8393 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8394
8395         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8396         for symbol address.
8397
8398 2002-09-24  Eric Christopher  <echristo@redhat.com>
8399
8400         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8401         * config/mips/elf64.h: Ditto.
8402
8403 2002-09-24  Eric Christopher  <echristo@redhat.com>
8404
8405         * except.c (expand_builtin_extract_return_address): Handle case
8406         where Pmode != ptr_mode.
8407
8408 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8409
8410         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8411
8412 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8413
8414         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8415
8416 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8417
8418         * combine.c (simplify_set): Don't call to force_to_mode if size
8419         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8420
8421 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8422
8423         * Makefile.in (qmtest-g++): Fix file path.
8424
8425 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8426
8427         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8428         A + (-const) on RTX level, even for unsigned types.
8429
8430 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8431
8432         * reload.c (dup_replacements): New function.
8433         (find_reloads): Use it to duplicate replacements at the top level
8434         of match_dup operands.
8435
8436 2002-09-26  Miles Bader  <miles@gnu.org>
8437
8438         * v850.md ("length"): Change default value to 4.
8439
8440 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8441
8442         * ChangeLog.1: Follow spelling conventions.
8443         * ChangeLog.4: Likewise.
8444         * ChangeLog.6: Likewise.
8445         * FSFChangeLog.11: Likewise.
8446         * doc/cpp.texi: Likewise.
8447         * doc/invoke.texi: Likewise.
8448         * doc/tm.texi: Likewise.
8449
8450 2002-09-26  Nick Clifton  <nickc@redhat.com>
8451
8452         * config.gcc: Add x prefix to v850e case for handling
8453         --with-cpu=v850e.
8454
8455 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8456
8457         * gcc.c (input_suffix_matches, switch_matches,
8458         mark_matching_switches, process_marked_switches,
8459         process_brace_body): New functions - split from handle_braces.
8460         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8461         and ignore whitespace in more places.
8462         (specs documentation comment): Document %{S:X;T:Y;:D}.
8463         Clarify other %{...} docs.
8464         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8465         %{...} docs.
8466
8467         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8468         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8469
8470 2002-09-25  David S. Miller  <davem@redhat.com>
8471
8472         PR target/7842
8473         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8474         extend.
8475
8476 2002-09-25  Richard Henderson  <rth@redhat.com>
8477
8478         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8479         fp CONST_DOUBLE; use real_identical.
8480
8481 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8482
8483         * doc/invoke.texi: Add more -Wabi examples.
8484
8485 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8486
8487         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8488
8489 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8490
8491         * profile.c (end_branch_prob): Only look for __gcov_init on
8492         weak-enabled native compilers.
8493
8494 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8495
8496         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8497         cases of optimizing "add sp,w" to "inc sp".
8498
8499 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8500
8501         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8502         epilogue for naked functions.
8503
8504 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8505             Nick Clifton  <nickc@redhat.com>
8506
8507         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8508         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8509         is defined.
8510
8511 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8512
8513         * config/s390/s390.c (preferred_la_operand_p): New function.
8514         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8515         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8516         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8517         ("*la_31"): Deactivate for TARGET_64BIT.
8518         ("*la_31_and", "*la_31_and_cc"): New.
8519
8520 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8521
8522         * real.h (real_value): Make `exp' explicitly signed.
8523
8524 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8525
8526         * config/elfos.h: Follow spelling conventions.
8527         * config/alpha/alpha.h: Likewise.
8528         * config/arc/arc.h: Likewise.
8529         * config/arm/arm.md: Likewise.
8530         * config/avr/avr.h: Likewise.
8531         * config/cris/cris.md: Likewise.
8532         * config/d30v/d30v.h: Likewise.
8533         * config/frv/frv.c: Likewise.
8534         * config/frv/frv.h: Likewise.
8535         * config/h8300/h8300.c: Likewise.
8536         * config/h8300/h8300.h: Likewise.
8537         * config/h8300/h8300.md: Likewise.
8538         * config/i386/cygwin.h: Likewise.
8539         * config/i386/i386.h: Likewise.
8540         * config/i386/sysv3.h: Likewise.
8541         * config/i960/i960.h: Likewise.
8542         * config/ia64/ia64.h: Likewise.
8543         * config/ia64/ia64.md: Likewise.
8544         * config/ip2k/ip2k.h: Likewise.
8545         * config/m32r/m32r.h: Likewise.
8546         * config/m68k/m68k.h: Likewise.
8547         * config/m88k/m88k.h: Likewise.
8548         * config/mcore/mcore.c: Likewise.
8549         * config/mcore/mcore.h: Likewise.
8550         * config/mcore/mcore.md: Likewise.
8551         * config/mips/mips.h: Likewise.
8552         * config/mmix/mmix.h: Likewise.
8553         * config/mmix/mmix.md: Likewise.
8554         * config/ns32k/netbsd.h: Likewise.
8555         * config/ns32k/ns32k.h: Likewise.
8556         * config/ns32k/ns32k.md: Likewise.
8557         * config/pa/pa.h: Likewise.
8558         * config/romp/romp.h: Likewise.
8559         * config/rs6000/rs6000.h: Likewise.
8560         * config/rs6000/rs6000.md: Likewise.
8561         * config/sparc/sparc.h: Likewise.
8562         * config/stormy16/stormy-abi: Likewise.
8563         * config/stormy16/stormy16.h: Likewise.
8564         * config/vax/vax.h: Likewise.
8565
8566 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8567
8568         * config/alpha/alpha.h: Remove commented-out macro
8569         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8570         * config/avr/avr.h: Likewise.
8571         * config/d30v/d30v.h: Likewise.
8572         * config/dsp16xx/dsp16xx.h: Likewise.
8573         * config/i370/i370.h: Likewise.
8574         * config/i386/i386.h: Likewise.
8575         * config/i960/i960.h: Likewise.
8576         * config/m68k/m68k.h: Likewise.
8577         * config/m88k/m88k.h: Likewise.
8578         * config/mips/mips.h: Likewise.
8579         * config/ns32k/ns32k.h: Likewise.
8580         * config/pdp11/pdp11.h: Likewise.
8581         * config/romp/romp.h: Likewise.
8582         * config/rs6000/rs6000.h: Likewise.
8583         * config/s390/s390.h: Likewise.
8584         * config/sh/sh.h: Likewise.
8585         * config/sparc/sparc.h: Likewise.
8586         * config/stormy16/stormy16.h: Likewise.
8587         * config/vax/vax.h: Likewise.
8588
8589 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8590
8591         * function.c (push_temp_slots_for_block): Remove.
8592         (push_temp_slots_for_target): Likewise.
8593         (get_target_temp_slot_level): Likewise.
8594         (set_target_temp_slot_level): Likewise.
8595         (get_first_block_beg): Likewise.
8596         * function.h: Remove corresponding prototypes.
8597
8598 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8599
8600         * version.c (version_string): Now const char[].
8601         * version.h: Update to match.
8602
8603 2002-09-23  Richard Henderson  <rth@redhat.com>
8604
8605         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8606         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8607         (TARGET_SWITCHES): Don't reference them.
8608         * config/i386/i386.c (override_options): Use target_flags_explicit
8609         to examine bits set by the user.
8610
8611 2002-09-23  Dale Johannesen  <dalej@apple.com>
8612
8613         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8614         passed on stack by invisible reference.
8615
8616 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8617
8618         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8619         at least one byte of space.
8620
8621 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8622
8623         * c-common.h (flag_abi_version): Fix typo in comment.
8624         * doc/invoke.texi (flag_abi_version): Document default value.
8625
8626 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8627
8628         * doc/extend.texi (Extended Asm): Clarify that overlap between
8629         asm-declared register variables used in an asm and the asm clobber
8630         list is not allowed.
8631         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8632         (expand_asm_operands): Keep track of clobbered registers.  Call
8633         decl_conflicts_with_clobbers_p for each input and output operand.
8634         If no conflicts found before, also do conflict sanity check when
8635         emitting clobbers.
8636
8637 2002-09-23  Richard Henderson  <rth@redhat.com>
8638
8639         * c-common.c (cpp_define_data_format): Remove.
8640         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8641         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8642         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8643         * doc/cpp.texi: Don't document them either.
8644         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8645         __LONG_LONG_MAX__): Document.
8646         (__TARGET_FLOAT_FORMAT__): Remove.
8647
8648 2002-09-23  Richard Henderson  <rth@redhat.com>
8649
8650         * real.c (do_multiply): Normalize U before addition.
8651
8652 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8653
8654         * c-common.c (flag_abi_version): New variable.
8655         * c-common.h (flag_abi_version): Declare it.
8656         * c-opts.c (missing_arg): Add -fabi-version.
8657         (c_common_decode_option): Process -fabi-version.
8658         * doc/invoke.texi (-fabi-version): Document it.
8659         (-Wabi): Add information about bit-fields in unions.
8660
8661 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8662
8663         * expr.c (STORE_BY_PIECES_P): New target macro.
8664         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8665         instead of MOVE_BY_PIECES_P.
8666         * doc/tm.texi: Document this new macro.
8667
8668 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8669
8670         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8671         unless -fno-pic or -fno-PIC is specified.
8672
8673 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8674
8675         * c-common.c (preprocessing_trad_p): Define.
8676         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8677         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8678         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8679         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8680         * pa-linux.h (CPP_PREDEFINES): Delete.
8681         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8682         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8683         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8684         (TARGET_OS_CPP_BUILTINS): Define.
8685         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8686         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8687         (SUBTARGET_SWITCHES): Provide default definition.
8688         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8689         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8690         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8691         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8692         (TARGET_CPU_CPP_BUILTINS): Define.
8693         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8694         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8695         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8696         preprocessing_trad_p().
8697
8698 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8699
8700         * doc/install.texi: Document behavior of --with-headers and
8701         --with-libs when arguments are omitted.
8702
8703 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8704
8705         * dbxout.c: Follow spelling conventions.
8706         * defaults.h: Likewise.
8707         * df.c: Likewise.
8708         * diagnostic.h: Likewise.
8709         * doloop.c: Likewise.
8710         * dwarf2out.c: Likewise.
8711         * dwarfout.c: Likewise.
8712         * emit-rtl.c: Likewise.
8713         * except.c: Likewise.
8714         * explow.c: Likewise.
8715         * expmed.c: Likewise.
8716         * expr.c: Likewise.
8717         * expr.h: Likewise.
8718         * flags.h: Likewise.
8719         * flow.c: Likewise.
8720         * fold-const.c: Likewise.
8721         * function.c: Likewise.
8722         * function.h: Likewise.
8723         * gcc.c: Likewise.
8724         * gcov-io.h: Likewise.
8725         * gcov.c: Likewise.
8726         * gcse.c: Likewise.
8727         * genattrtab.c: Likewise.
8728         * genconfig.c: Likewise.
8729         * genrecog.c: Likewise.
8730         * ggc-page.c: Likewise.
8731         * ggc.h: Likewise.
8732         * global.c: Likewise.
8733         * gthr-win32.h: Likewise.
8734         * integrate.c: Likewise.
8735         * jump.c: Likewise.
8736         * langhooks.c: Likewise.
8737         * langhooks.h: Likewise.
8738         * line-map.h: Likewise.
8739         * local-alloc.c: Likewise.
8740         * longlong.h: Likewise.
8741         * loop.c: Likewise.
8742         * loop.h: Likewise.
8743
8744 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8745
8746         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8747
8748 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8749
8750         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8751         for -Os/TARGET_64BIT too.
8752
8753 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8754
8755         * ChangeLog: Follow spelling conventions.
8756         * ChangeLog.0: Likewise.
8757         * ChangeLog.1: Likewise.
8758         * ChangeLog.2: Likewise.
8759         * ChangeLog.3: Likewise.
8760         * ChangeLog.4: Likewise.
8761         * ChangeLog.5: Likewise.
8762         * ChangeLog.6: Likewise.
8763         * FSFChangeLog.10: Likewise.
8764         * FSFChangeLog.11: Likewise.
8765         * alias.c: Likewise.
8766         * basic-block.h: Likewise.
8767         * c-aux-info.c: Likewise.
8768         * c-common.c: Likewise.
8769         * c-common.h: Likewise.
8770         * c-decl.c: Likewise.
8771         * c-format.c: Likewise.
8772         * c-semantics.c: Likewise.
8773         * c-typeck.c: Likewise.
8774         * calls.c: Likewise.
8775         * cfganal.c: Likewise.
8776         * cfgloop.c: Likewise.
8777         * collect2.c: Likewise.
8778         * combine.c: Likewise.
8779         * conflict.c: Likewise.
8780         * cppexp.c: Likewise.
8781         * cppfiles.c: Likewise.
8782         * cpphash.h: Likewise.
8783         * cppinit.c: Likewise.
8784         * cpplex.c: Likewise.
8785         * cpplib.c: Likewise.
8786         * cpplib.h: Likewise.
8787         * cppmacro.c: Likewise.
8788         * cse.c: Likewise.
8789
8790 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8791
8792         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8793         LINK_SPEC.
8794         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8795         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8796         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8797
8798 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8799
8800         PR opt/7930
8801         * cse.c (fold_rtx): Calculate old_cost before we fold each
8802         operand.
8803
8804 2002-09-21  Richard Henderson  <rth@redhat.com>
8805
8806         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8807         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8808         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8809         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8810         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8811         * doc/cpp.texi: Don't document them.
8812
8813 2002-09-21  Richard Henderson  <rth@redhat.com>
8814
8815         * c-common.c (builtin_define_float_constants): Use real_format
8816         to get the floating-point parameters.
8817
8818 2002-09-21  Richard Henderson  <rth@redhat.com>
8819
8820         * real.c (struct real_format): Move to real.h.
8821         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8822         initialize with ieee defaults.
8823         (real_to_target_fmt, real_from_target_fmt): New.
8824         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8825         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8826         ieee_quad_format, i370_single_format, i370_double_format,
8827         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8828         (ieee_quad_format): Fix emin.
8829         (format_for_size, init_real_once): Remove.
8830         * real.h (struct real_format): Move from real.c.
8831         (real_format_for_mode): Declare.
8832         (real_to_target_fmt, real_from_target_fmt): Declare.
8833         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8834         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8835         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8836         i370_single_format, i370_double_format, c4x_single_format,
8837         c4x_extended_format): Declare.
8838         * toplev.c (do_compile): Don't call init_real_once.
8839
8840         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8841         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8842
8843         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8844         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8845         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8846         for VAX, if enabled.
8847
8848         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8849         for C4X.
8850
8851         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8852         * config/i370/i370.c (override_options): New.
8853         * config/i370/i370-protos.h: Update.
8854
8855         * config/i386/i386.c (override_options): Set real_format_for_mode
8856         for Intel 80-bit extended.
8857         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8858
8859         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8860         (OVERRIDE_OPTIONS): Move code...
8861         * config/i960/i960.c (i960_initialize): ... here.  Set
8862         real_format_for_mode for Intel 80-bit extended.
8863
8864         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8865         for Intel 80-bit extended, if enabled.
8866
8867         * config/m68k/m68k.c (override_options): Set real_format_for_mode
8868         for Motorola 96-bit extended.
8869
8870         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
8871         * config/vax/vax.c (override_options): New.
8872         * config/vax/vax-protos.h: Update.
8873
8874 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
8875
8876         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
8877         #if TARGET_MACHO.
8878
8879         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
8880         insns.  Supply missing clobber of scratch reg.
8881
8882 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
8883
8884         * config/m32r/m32r.c: Follow spelling conventions.
8885         * config/m32r/m32r.h: Likewise.
8886         * config/m32r/m32r.md: Likewise.
8887         * config/m68k/m68k.c: Likewise.
8888         * config/m88k/m88k.c: Likewise.
8889         * config/mcore/mcore.c: Likewise.
8890         * config/mips/mips.c: Likewise.
8891         * config/mips/mips.h: Likewise.
8892         * config/mmix/mmix.c: Likewise.
8893         * config/mn10200/mn10200.c: Likewise.
8894         * config/ns32k/ns32k.h: Likewise.
8895         * config/pa/pa.c: Likewise.
8896         * config/pa/pa64-linux.h: Likewise.
8897         * config/pdp11/pdp11.h: Likewise.
8898         * config/romp/romp.c: Likewise.
8899         * config/romp/romp.h: Likewise.
8900         * config/rs6000/eabi.asm: Likewise.
8901         * config/rs6000/linux64.h: Likewise.
8902         * config/rs6000/rs6000.c: Likewise.
8903         * config/rs6000/rs6000.h: Likewise.
8904         * config/rs6000/rs6000.md: Likewise.
8905         * config/rs6000/sysv4.h: Likewise.
8906         * config/rs6000/xcoff.h: Likewise.
8907
8908 2002-09-20  Jim Wilson  <wilson@redhat.com>
8909
8910         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
8911
8912 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
8913
8914         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
8915         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
8916         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
8917         (legitimate_address_p): Likewise.
8918         (legitimize_address): Use @gotntpoff and @indntpoff.
8919         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
8920         (output_addr_const_extra): Likewise.
8921
8922 2002-09-20  Jim Wilson  <wilson@redhat.com>
8923
8924         * combine.c (try_combine): When split an instruction pair, where the
8925         first has a sign_extend src, verify that the src and dest modes match.
8926
8927 2002-09-20  Richard Henderson  <rth@redhat.com>
8928
8929         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
8930         (override_options): Do not initialize them.
8931         (mips_const_double_ok): Allow no fp constants except zero,
8932         and not even that for mips16.
8933         (const_float_1_operand): Use dconst1.
8934         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
8935         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
8936         Don't allow arbitrary constants; fix predicates and C constraint.
8937
8938 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
8939
8940         * cppmacro.c: Don't warn about function-like macros without
8941         '(' during pre-expansion.
8942
8943 2002-09-20  Jim Wilson  <wilson@redhat.com>
8944
8945         * config/v850/v850.c (current_function_anonymous_args): Delete.
8946         (expand_prologue): Use current_function_args_info.anonymous_args.
8947         (expand_epilogue): Delete use of current_function_anonymous_args.
8948         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
8949         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
8950         (current_function_anonymous_args): Delete extern declaration.
8951         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
8952
8953 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
8954
8955         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
8956         to load_macho_picbase.
8957         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
8958         (load_macho_picbase): Take the symbol to use as a parameter.
8959         (macho_correct_pic): New insn.
8960         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
8961
8962         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
8963         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
8964         (CAN_ELIMINATE): Likewise.
8965         (INITIAL_ELIMINATION_OFFSET): Likewise.
8966         (TOC_REGISTER): Likewise.
8967
8968 2002-09-20  Richard Henderson  <rth@redhat.com>
8969
8970         * real.c (real_hash): New.
8971         * real.h: Declare it.
8972         * cse.c (canon_hash): Use it.
8973         * cselib.c (hash_rtx): Likewise.
8974         * emit-rtl.c (const_double_htab_hash): Likewise.
8975         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
8976         * varasm.c (struct rtx_const): Reduce vector size; separate
8977         integer and fp vectors.
8978         (HASHBITS): Remove.
8979         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
8980         take modulus MAX_HASH_TABLE.
8981         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
8982         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
8983         (SYMHASH): Don't use HASHBITS.
8984         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
8985         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
8986         (simplify_subtraction): Fix kind comparison.
8987         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
8988         Use a union to pun integer array.
8989         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
8990         only hash two words of integral CONST_DOUBLE.
8991
8992 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
8993
8994         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
8995         (STARTFILE_PREFIX_SPEC): New.
8996         (LINK_SPEC): Modify.
8997         (LIB_SPEC): Modify.
8998         (LIBGCC_SPEC): New.
8999
9000 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9001
9002         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9003         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9004
9005 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9006
9007         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9008         Add clobber of the condition code register.
9009
9010 2002-09-20  Richard Henderson  <rth@redhat.com>
9011
9012         * real.c (do_fix_trunc): Static.
9013         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9014         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9015         encode_i370_single, encode_i370_double, encode_c4x_single,
9016         encode_c4x_extended): Add default abort case.
9017
9018 2002-09-20  Richard Henderson  <rth@redhat.com>
9019
9020         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9021         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9022         (struct realvaluetype): Remove.
9023         (REAL_VALUE_TYPE): Use struct real_value.
9024         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9025         (test_real_width): New.
9026         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9027         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9028         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9029         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9030         real_to_integer, real_to_integer2, real_to_decimal,
9031         real_to_hexadecimal, real_from_string, real_from_integer,
9032         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9033         real_from_target): Likewise.
9034         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9035         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9036
9037 2002-09-20  Richard Henderson  <rth@redhat.com>
9038
9039         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9040         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9041         * defaults.h: ... here.
9042         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9043         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9044         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9045         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9046
9047 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9048
9049         * config/mmix/mmix.md ("negdf2"): Rewrite.
9050         ("*expanded_negdf2"): New.
9051
9052 2002-09-19  Jim Wilson  <wilson@redhat.com>
9053
9054         * combine.c (simplify_set): When optimizing a subreg src with a
9055         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9056
9057 2002-09-19  Dale Johannesen <dalej@apple.com>
9058         * combine.c (make_extraction): Don't create
9059         invalid subreg.
9060
9061 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9062
9063         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9064         * tree.h (integer_nonzerop): Add function prototype.
9065         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9066         are no instructions in the test, i.e. the loop is unconditional.
9067         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9068         tests when the condition is always true or always false.
9069         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9070         do-loops when the condition is always true.
9071         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9072         the for-expression is empty.
9073
9074 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9075
9076         * gcc.c (use_pipes): New flag.
9077         (process_command): Set it.  Adjust check for -pipe conflicting
9078         with -time or -save-temps.
9079         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9080         %<SWITCH.  Drop %| (without a SUFFIX).
9081         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9082         (give_switch): Third argument eliminated.
9083         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9084         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9085         (specs documentation comment): Update.
9086
9087         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9088         config/svr4.h, config/i386/freebsd-aout.h,
9089         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9090         config/m68k/openbsd.h, config/mips/openbsd.h,
9091         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9092         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9093         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9094         * config/cris/cris.h: Update comment.
9095
9096         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9097         error messages.  Don't use %{^SWITCH}.
9098         * ada/misc.c (gnat_decode_option): Handle -I with a
9099         separate argument.
9100
9101         * f/lang-specs.h: Use %| and %m.
9102         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9103         uses of %{<SWITCH} to %<SWITCH.
9104
9105         * doc/invoke.texi: Update documentation of specs.
9106         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9107
9108 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9109
9110         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9111         and STRICT_LOW_PART within SET_DEST.
9112         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9113         splitters, replacing pre-reload splitters.
9114         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9115         "*zero_extendqihi2_31"): New insns.
9116         ("*zero_extendqihi2_64"): Do not clobber CC.
9117
9118 2002-09-18  Devang Patel  <dpatel@apple.com>
9119
9120         * cp/cp-tree.h: New prototype for walk_vtables().
9121         * cp/decl.c (walk_vtables_r): New function.
9122         (struct cp_binding_level): Add new members, namespaces,
9123         names_size and vtables.
9124         (add_decl_to_level): Add decl in namespaces or vtables
9125         chain, if conditions match.
9126         (walk_vtables): New function.
9127         (walk_namespaces_r): Travers separate namespace chain
9128         for namespace decls.
9129         (wrapup_globals_for_namespace): Use names_size instead
9130         of list_length().
9131         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9132         walk_globals() to walk vtable decls.
9133
9134 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9135
9136         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9137         (DTORS_SECTION_ASM_OP): Ditto.
9138         (READONLY_DATA_SECTION_ASM_OP): Moved.
9139         (DATA_SECTION_ASM_OP): New.
9140         (SDATA_SECTION_ASM_OP): New.
9141         (BSS_SECTION_ASM_OP): New.
9142         (SBSS_SECTION_ASM_OP): New.
9143         (TEXT_SECTION_ASM_OP): New.
9144
9145 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9146
9147         * config/fp-bit.c: Follow spelling conventions.
9148         * config/d30v/d30v.c: Likewise.
9149         * config/d30v/d30v.h: Likewise.
9150         * config/fr30/fr30.c: Likewise.
9151         * config/fr30/fr30.h: Likewise.
9152         * config/fr30/fr30.md: Likewise.
9153         * config/frv/frv.c: Likewise.
9154         * config/frv/frv.h: Likewise.
9155         * config/h8300/h8300.c: Likewise.
9156         * config/h8300/lib1funcs.asm: Likewise.
9157         * config/i370/i370.c: Likewise.
9158         * config/i386/i386.h: Likewise.
9159         * config/i386/i386.md: Likewise.
9160         * config/i386/pentium.md: Likewise.
9161         * config/i386/winnt.c: Likewise.
9162         * config/i960/i960.c: Likewise.
9163         * config/ia64/ia64.h: Likewise.
9164         * config/ip2k/ip2k.c: Likewise.
9165         * config/ip2k/ip2k.h: Likewise.
9166         * config/ip2k/ip2k.md: Likewise.
9167         * config/ip2k/libgcc.S: Likewise.
9168
9169 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9170
9171         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9172         (GOTOFF_P): Extend to allow gotoff plus constant.
9173
9174 2002-09-18  Richard Henderson  <rth@redhat.com>
9175
9176         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9177         with INSN_B before COND_EARLIEST.  Don't check A and B for
9178         modification in condition range.  Reorder INSN_B for A==B properly.
9179         (if_convert): Iterate until no matches for a block.
9180
9181 2002-09-18  Richard Henderson  <rth@redhat.com>
9182
9183         * calls.c (store_one_arg): Rename default_align to parm_align;
9184         always adjust parm_align for downward padding.
9185
9186 2002-09-18  Richard Henderson  <rth@redhat.com>
9187
9188         * toplev.c (backend_init): Move init_real_once invocation ...
9189         (do_compile): ... here.
9190
9191 2002-09-18  Richard Henderson  <rth@redhat.com>
9192
9193         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9194         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9195
9196 2002-09-18  Richard Henderson  <rth@redhat.com>
9197
9198         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9199
9200 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9201
9202         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9203         floatdisf2_internal1.
9204         (floatdisf2): New define_expand.
9205         (floatdisf2_internal2): Likewise.
9206
9207 2002-09-18  Richard Henderson  <rth@redhat.com>
9208
9209         * real.c (sticky_rshift_significand): Collect sticky as
9210         unsigned long, not bool.
9211
9212 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9213
9214         * config/s390/s390.c (s390_address_cost): New function.
9215         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9216         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9217         (RTX_COST): Use COSTS_N_INSNS.
9218
9219 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9220             Donn Terry  <donnte@microsoft.com>
9221
9222         * stor-layout.c (place_field): Handle alignment of whole
9223         structures when MSVC compatible bitfields are involved.
9224         Change method of computing location of MS bitfields to
9225         be compatible with #pragma pack(n).
9226
9227         * tree.h (record_layout_info): Add new field
9228         remaining_in_alignment.
9229
9230         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9231         (pragma pack): Add paragraph on MSVC bitfield packing.
9232
9233 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9234
9235         PR optimization/7967
9236         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9237         register.
9238
9239 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9240
9241         * config/s390/s390.c: Follow spelling conventions.
9242         * config/sh/lib1funcs.asm: Likewise.
9243         * config/sh/sh.c: Likewise.
9244         * config/sh/sh.h: Likewise.
9245         * config/sparc/sparc.c: Likewise.
9246         * config/sparc/sparc.h: Likewise.
9247         * config/sparc/sparc.md: Likewise.
9248         * config/stormy16/stormy16.c: Likewise.
9249         * config/stormy16/stormy16.h: Likewise.
9250         * config/v850/v850.c: Likewise.
9251         * config/v850/v850.h: Likewise.
9252         * config/vax/vax.c: Likewise.
9253         * config/vax/vax.h: Likewise.
9254
9255 2002-09-18  Nick Clifton  <nickc@redhat.com>
9256
9257         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9258         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9259         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9260
9261 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9262
9263         * function.c (max_parm_reg_num): Remove.
9264         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9265         drop_through_at_end_p, move_cleanups_up,
9266         expand_end_case_dummy, case_index_expr_type): Likewise.
9267         * stor-layout.c (pos_from_byte): Likewise.
9268         * tree.c (chain_member_value, chain_member_purpose, listify,
9269         tree_int_cst_msb, index_type_equal): Likewise.
9270         * tree.h: Remove prototypes for unused functions.
9271
9272 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9273
9274         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9275         statement that the only translation is to en_UK.
9276
9277 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9278
9279         * config/alpha/alpha.c: Follow spelling conventions.
9280         * config/alpha/alpha.h: Likewise.
9281         * config/alpha/alpha.md: Likewise.
9282         * config/arc/arc.h: Likewise.
9283         * config/arm/arm.c: Likewise.
9284         * config/arm/arm.h: Likewise.
9285         * config/arm/arm.md: Likewise.
9286         * config/arm/pe.c: Likewise.
9287         * config/arm/unknown-elf.h: Likewise.
9288         * config/avr/avr.c: Likewise.
9289         * config/avr/avr.h: Likewise.
9290         * config/c4x/c4x.c: Likewise.
9291         * config/cris/cris.c: Likewise.
9292         * config/cris/cris.h: Likewise.
9293
9294 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9295
9296         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9297         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9298         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9299
9300 2002-09-17  Dale Johannesen  <dalej@apple.com>
9301
9302         * cfgcleanup.c (try_forward_edges):  Do not forward a
9303         branch to just after a loop exit before loop optimization;
9304         this interfered with doloop detection.
9305
9306 2002-09-17  Nick Clifton  <nickc@redhat.com>
9307
9308         * config/arm/arm.c (output_return_instruction): Do not
9309         writeback the stack pointer when it is being loaded.
9310         (arm_output_epilogue): Likewise.
9311
9312 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9313
9314         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9315         generate a pseudo reg that receives the result of a libcall.
9316         (prepare_float_lib_cmp): Likewise.
9317
9318 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9319
9320         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9321
9322 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9323
9324         Fix PR/7014 and related objc bugs:
9325         * c-typeck.c (comp_target_types): Added a reflexive argument.
9326         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9327         callers to provide the appropriate reflexive argument.
9328         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9329         typechecking for all cases of comparisons and assignments,
9330         particularly the obscure and less common ones involving protocols.
9331
9332 2002-09-17  Nick Clifton  <nickc@redhat.com>
9333
9334         * machmode.def (V1DImode): New mode.  A single element vector.
9335         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9336         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9337         * tree.c (build_common_tree_nodes_2): Build
9338         unsigned_V1DI_type_node and V1D1_type_node.
9339         * c-common.c (c_common_type_for_mode): Return
9340         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9341         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9342
9343 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9344
9345         * doc/objc.texi (Constant string objects): Extended documentation
9346         to make clear that the constant string class ivar layout is
9347         completely fixed.
9348
9349 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9350
9351         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9352         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9353
9354 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9355
9356         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9357         * gcc.c (make_relative_prefix): Likewise.
9358         * loop.c (check_final_value): Likewise.
9359         * jump.c (init_label_info): Remove return value.
9360         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9361
9362 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9363
9364         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9365         (ASM_PN_FORMAT): Define.
9366
9367 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9368
9369         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9370         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9371         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9372         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9373         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9374         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9375         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9376         Delete.
9377         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9378         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9379         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9380
9381         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9382         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9383
9384 2002-09-16  Richard Henderson  <rth@redhat.com>
9385
9386         * expr.c (emit_block_move): Set memory block size as appropriate
9387         for the copy.
9388
9389 2002-09-16  Richard Henderson  <rth@redhat.com>
9390
9391         PR fortran/3924
9392         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9393
9394 2002-09-16  Richard Henderson  <rth@redhat.com>
9395
9396         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9397         as well as OFFSET for BITPOS.
9398
9399 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9400
9401         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9402         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9403         winchip2 and c3.
9404         * doc/invoke.texi: Mention new aliases.
9405
9406 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9407
9408         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9409         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9410         downward.
9411         * function.c (pad_below):  Always compile.
9412         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9413         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9414         Pad below when the argument is not in a register and the padding
9415         direction is downward.
9416
9417         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9418         (PAD_VARARGS_DOWN): Define.
9419         * pa.c (function_arg_padding): Revise padding directions to make them
9420         compatible with the 32 and 64-bit runtime architecture documentation.
9421         (hppa_va_arg):  Add code to handle variable and size zero arguments
9422         passed by reference on TARGET_64BIT.  Reformat.
9423         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9424         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9425         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9426         Add comments.
9427         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9428         (RETURN_IN_MEMORY): Return size zero types in memory.
9429         (FUNCTION_VALUE): Return TFmode in general registers.
9430         (MUST_PASS_IN_STACK): Define.
9431         (FUNCTION_ARG_BOUNDARY): Simplify.
9432         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9433         by reference.
9434         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9435
9436 2002-09-16  Richard Henderson  <rth@redhat.com>
9437
9438         * real.c (do_fix_trunc): New.
9439         (real_arithmetic): Call it.
9440         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9441         with a floating-point result mode.
9442
9443 2002-09-16  Richard Henderson  <rth@redhat.com>
9444
9445         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9446         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9447         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9448         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9449         * builtins.c (fold_builtin_nan): New.
9450         (fold_builtin): Call it.
9451         * real.c (real_nan): Parse a non-empty string.
9452         (round_for_format): Fix NaN significand truncation.
9453         * real.h (real_nan): Return bool.
9454         * doc/extend.texi: Document new builtins.
9455
9456 2002-09-16  Jason Merrill  <jason@redhat.com>
9457             Danny Smith  <dannysmith@users.sourceforge.net>
9458
9459         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9460         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9461         (i386_pe_mark_dllimport): Not here.
9462
9463 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9464
9465         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9466
9467 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9468
9469         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9470         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9471         < 64.
9472         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9473
9474 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9475
9476         * calls.c (emit_library_call_value_1): Don't refer to
9477         hard_libcall_value.
9478         * optabs.c (prepare_float_lib_cmp): Likewise.
9479
9480 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9481
9482         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9483         mangling.
9484
9485         The following changes are merged from pch-branch:
9486
9487         * doc/gty.texi (GTY Options): Document %a.
9488         * gengtype.c (do_scalar_typedef): New function.
9489         (process_gc_options): Handle `length' option.
9490         (set_gc_used_type): A pointer to an array of structures doesn't
9491         qualify as a pointer to a structure.
9492         (output_escaped_param): Add `%a' escape.
9493         (write_gc_structure_fields): Allow 'desc' on array of unions.
9494         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9495         do_scalar_typedef.
9496
9497         * gengtype.c (enum rtx_code): Make global.
9498         (rtx_format): Make global.
9499         (rtx_next): New.
9500         (gen_rtx_next): New.
9501         (write_rtx_next): New.
9502         (adjust_field_rtx_def): Skip fields marked by chain_next.
9503         (open_base_files): Delete redundant prototype.
9504         (write_enum_defn): New.
9505         (output_mangled_typename): Correct abort call.
9506         (write_gc_marker_routine_for_structure): Handle chain_next and
9507         chain_prev options.
9508         (finish_root_table): Don't output redundant \n.
9509         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9510         * c-tree.h (union lang_tree_node): Add chain_next option.
9511
9512         * gengtype.h (NUM_PARAM): New definition.
9513         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9514         * gengtype.c (find_param_structure): New.
9515         (adjust_field_type): Handle param<n>_is option.
9516         (process_gc_options): Detect use_params option.  Update callers.
9517         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9518         'use_params' option.
9519         (open_base_files): Add splay-tree.h to list of files included.
9520         (output_mangled_typename): New.
9521         (write_gc_structure_fields): Update 'param' parameter to support
9522         multiple parameters.  Change name mangling.  Allow parameterized
9523         fields to have an apparent scalar type.  Handle param<n>_is options,
9524         use_param option.
9525         (write_gc_marker_routine_for_structure): Update for change to name
9526         mangling.  Better guess the output file for parameterized types.
9527         (write_gc_types): Update for change to name mangling.
9528         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9529         param<n>_is options.
9530         * doc/gty.texi (GTY Options): Add description of param<n>_is
9531         options, use_params option.
9532         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9533         * gengtype-lex.l: Produce token for param<n>_is.
9534         * gengtype-yacc.y: Parse param<n>_is.
9535
9536         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9537
9538         * rtl.c: Update comment describing rtx_format.
9539         * rtl.h (union rtunion): Separate definition and typedef.
9540         (struct rtx_def): Use gengtype to mark.
9541         * Makefile.in (gengtype.o): Also depend on rtl.def.
9542         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9543         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9544         * ggc-common.c (ggc_mark_rtx_children): Delete.
9545         (ggc_mark_rtx_children_1): Delete.
9546         (gt_ggc_m_rtx_def): Delete.
9547         * gengtype.c (adjust_field_rtx_def): New.
9548         (adjust_field_type): Call adjust_field_rtx_def.
9549         (write_gc_structure_fields): Add 'default' case to switch if none
9550         is specified; remove unused code.
9551
9552         * tree.h (struct tree_exp): Update for change to meaning
9553         of special.
9554         * gengtype.c (adjust_field_tree_exp): New function.
9555         (adjust_field_type): Handle `tree_exp' special here.
9556         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9557         Handle new `dot' option.
9558
9559         * gengtype.h: Make `info' a pointer-to-const.
9560         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9561
9562         * gengtype.c (write_gc_structure_fields): Remove implementation
9563         of `always' option, add `default' option.
9564         * doc/gty.texi (GTY Options): Remove documentation of `always',
9565         add `default'.
9566
9567 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9568
9569         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9570
9571 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9572
9573         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9574
9575         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9576         instead of the *-protos.h file directly.
9577         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9578         * darwin.c (machopic_output_stub): Move prototype ...
9579         * darwin-protos.h (machopic_output_stub): ... here.
9580         * rs6000-protos.h (machopic_output_stub): Don't declare.
9581
9582 2002-09-16  Richard Henderson  <rth@redhat.com>
9583
9584         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9585
9586 2002-09-16  Richard Henderson  <rth@redhat.com>
9587
9588         * real.c, real.h: Rewrite from scratch.
9589
9590         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9591         (paranoia): New target.
9592         * builtins.c (fold_builtin_inf): Use new real.h interface.
9593         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9594         * c-lex.c (interpret_float): Likewise.
9595         * emit-rtl.c (gen_lowpart_common): Likewise.
9596         * optabs.c (expand_float): Use real_2expN.
9597         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9598         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9599         (FLOAT_WORDS_BIG_ENDIAN): New.
9600         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9601         directly to REAL_VALUE_NEGATIVE.
9602         * loop.c (canonicalize_condition): Likewise.
9603         * simplify-rtx.c: Include tree.h.
9604         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9605         with floating-point result modes.
9606         * toplev.c (backend_init): Call init_real_once.
9607
9608         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9609         * tree.c (build_real): Likewise.
9610         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9611         float_values, inited_float_values, check_float_value): Remove.
9612         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9613         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9614         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9615         (VAX_HALFWORD_ORDER): Remove.
9616
9617 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9618
9619         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9620         (s390_load_address): ... this new function.
9621         (s390_decompose_address): Allow the argument pointer and all
9622         virtual registers as 'pointer' registers.
9623         (s390_expand_plus_operand): Use s390_load_address.
9624         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9625         ("force_la_31"): New insn pattern.
9626         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9627         (s390_load_address): Add prototype.
9628
9629         * config/s390/s390.c: Include "optabs.h".
9630         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9631         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9632         s390_expand_cmpstr): Add prototypes.
9633         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9634         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9635         for operands 0 and 1 to "memory_operand".  Add type attribute.
9636         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9637         for operands 0 and 1 to "memory_operand".  Add type attribute.
9638         ("movstrdi_long", "movstrsi_long"): Remove.
9639         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9640         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9641         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9642         ("clrstrsico"): Remove, replace by ...
9643         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9644         ("clrstrsi_64"): Rename to "clrstr_long_64".
9645         ("clrstrsi_31"): Rename to "clrstr_long_31".
9646         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9647         ("cmpstr_const"): Remove, replace by ...
9648         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9649         ("cmpstr_64"): Rename to "cmpstr_long_64".
9650         ("cmpstr_31"): Rename to "cmpstr_long_31".
9651
9652 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9653
9654         * ABOUT-NLS: Follow spelling conventions.
9655         * ChangeLog: Likewise.
9656         * ChangeLog.1: Likewise.
9657         * ChangeLog.2: Likewise.
9658         * ChangeLog.3: Likewise.
9659         * ChangeLog.4: Likewise.
9660         * ChangeLog.5: Likewise.
9661         * ChangeLog.6: Likewise.
9662         * FSFChangeLog.10: Likewise.
9663         * FSFChangeLog.11: Likewise.
9664         * c-common.c: Likewise.
9665         * c-lex.c: Likewise.
9666         * c-objc-common.c: Likewise.
9667         * cppexp.c: Likewise.
9668         * cppinit.c: Likewise.
9669         * cpplex.c: Likewise.
9670         * doloop.c: Likewise.
9671         * flow.c: Likewise.
9672         * function.c: Likewise.
9673         * integrate.c: Likewise.
9674         * loop.c: Likewise.
9675         * reg-stack.c: Likewise.
9676         * reload.h: Likewise.
9677         * ssa.c: Likewise.
9678
9679 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9680
9681         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9682         * vmsdbgout.c: Include "target.h".
9683
9684 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9685
9686         * ChangeLog: Follow spelling conventions.
9687         * ChangeLog.0: Likewise.
9688         * ChangeLog.1: Likewise.
9689         * ChangeLog.2: Likewise.
9690         * ChangeLog.4: Likewise.
9691         * ChangeLog.6: Likewise.
9692         * config.gcc: Likewise.
9693         * dwarfout.c: Likewise.
9694         * reload1.c: Likewise.
9695         * simplify-rtx.c: Likewise.
9696         * unwind-sjlj.c: Likewise.
9697         * config/avr/avr.h: Likewise.
9698         * config/d30v/d30v.h: Likewise.
9699         * config/frv/frv.c: Likewise.
9700         * config/frv/frv.h: Likewise.
9701         * config/ip2k/ip2k.h: Likewise.
9702         * config/m88k/m88k-move.sh: Likewise.
9703         * config/stormy16/stormy16.c: Likewise.
9704         * config/stormy16/stormy16.h: Likewise.
9705         * doc/extend.texi: Likewise.
9706         * doc/interface.texi: Likewise.
9707         * doc/invoke.texi: Likewise.
9708         * doc/md.texi: Likewise.
9709         * doc/rtl.texi: Likewise.
9710         * doc/tm.texi: Likewise.
9711         * doc/trouble.texi: Likewise.
9712         * ginclude/float.h: Likewise.
9713         * treelang/treelang.texi: Likewise.
9714
9715 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9716
9717         * i386-protos.h (i386_pe_dllexport_name_p,
9718         i386_pe_dllimport_name_p, i386_pe_unique_section,
9719         i386_pe_declare_function_type, i386_pe_record_external_function,
9720         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9721         prototype.
9722         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9723         * i386/t-interix (winnt.o): Likewise.
9724
9725         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9726
9727 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9728
9729         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9730         MIPS ABI CPP macros.
9731         (TARGET_CPU_CPP_BUILTINS): Redefine.
9732         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9733         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9734
9735 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9736
9737         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9738
9739 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9740
9741         * ChangeLog: Follow spelling conventions.
9742         * ChangeLog.0: Likewise.
9743         * ChangeLog.1: Likewise.
9744         * ChangeLog.2: Likewise.
9745         * ChangeLog.3: Likewise.
9746         * ChangeLog.4: Likewise.
9747         * ChangeLog.5: Likewise.
9748         * ChangeLog.6: Likewise.
9749         * FSFChangeLog.10: Likewise.
9750         * FSFChangeLog.11: Likewise.
9751         * c-common.c: Likewise.
9752         * c-common.h: Likewise.
9753         * c-format.c: Likewise.
9754         * c-opts.c: Likewise.
9755         * cpplib.c: Likewise.
9756         * langhooks.h: Likewise.
9757         * real.c: Likewise.
9758         * reg-stack.c: Likewise.
9759         * toplev.c: Likewise.
9760         * config/arm/arm.c: Likewise.
9761         * config/arm/arm.md: Likewise.
9762         * config/arm/linux-gas.h: Likewise.
9763         * config/arm/netbsd.h: Likewise.
9764         * config/c4x/c4x.c: Likewise.
9765         * config/c4x/c4x.h: Likewise.
9766         * config/c4x/c4x.md: Likewise.
9767         * config/c4x/libgcc.S: Likewise.
9768         * config/fr30/fr30.md: Likewise.
9769         * config/frv/frv.md: Likewise.
9770         * config/ia64/ia64.md: Likewise.
9771         * config/mips/mips.h: Likewise.
9772         * config/mn10300/mn10300.c: Likewise.
9773         * config/stormy16/stormy16.c: Likewise.
9774         * config/v850/v850.md: Likewise.
9775         * doc/extend.texi: Likewise.
9776         * doc/invoke.texi: Likewise.
9777         * doc/md.texi: Likewise.
9778
9779 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9780
9781         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9782         library if -pthread is specified.
9783
9784 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9785
9786         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9787         for --enable-threads=yes and --enable-threads=posix.
9788
9789 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9790
9791         * config/sparc/cypress.md: Replace Sparc with SPARC.
9792         * config/sparc/freebsd.h: Likewise.
9793         * config/sparc/gmon-sol2.c: Likewise.
9794         * config/sparc/hypersparc.md: Likewise.
9795         * config/sparc/lb1spc.asm: Likewise.
9796         * config/sparc/lb1spl.asm: Likewise.
9797         * config/sparc/linux.h: Likewise.
9798         * config/sparc/linux64.h: Likewise.
9799         * config/sparc/lynx.h: Likewise.
9800         * config/sparc/sol2.h: Likewise.
9801         * config/sparc/sparc-modes.def: Likewise.
9802         * config/sparc/sparc.c: Likewise.
9803         * config/sparc/sparc.h: Likewise.
9804         * config/sparc/sparc.md: Likewise.
9805         * config/sparc/sparclet.md: Likewise.
9806         * config/sparc/supersparc.md: Likewise.
9807         * config/sparc/sysv4.h: Likewise.
9808         * config/sparc/vxsim.h: Likewise.
9809         * config/sparc/vxsparc64.h: Likewise.
9810
9811 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9812
9813         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9814         * collect2.c (ignore_library, aix_std_libs): Move into the context
9815         where it is used.
9816         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9817         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9818         * m88k.c (output_call): Wrap variables with macro controlling use.
9819         * rs6000.md: Likewise.  Const-ify variable.
9820         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9821         * final.c (only_leaf_regs_used): Likewise.
9822         * regrename.c (maybe_mode_change): Mark parameter with
9823         ATTRIBUTE_UNUSED.
9824         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9825         (find_reloads_address_1): Likewise.
9826         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9827
9828 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9829
9830         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9831
9832 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9833
9834         * ChangeLog: Follow spelling conventions.
9835         * ChangeLog.0: Likewise.
9836         * ChangeLog.2: Likewise.
9837         * ChangeLog.3: Likewise.
9838         * ChangeLog.4: Likewise.
9839         * ChangeLog.5: Likewise.
9840         * ChangeLog.6: Likewise.
9841         * cppfiles.c: Likewise.
9842         * cppinit.c: Likewise.
9843         * cpplib.h: Likewise.
9844         * cse.c: Likewise.
9845         * debug.h: Likewise.
9846         * df.c: Likewise.
9847         * dominance.c: Likewise.
9848         * hashtable.c: Likewise.
9849         * hashtable.h: Likewise.
9850         * loop.c: Likewise.
9851         * config/arm/README-interworking: Likewise.
9852         * config/arm/arm.c: Likewise.
9853         * config/arm/arm.h: Likewise.
9854         * config/arm/arm.md: Likewise.
9855         * config/dsp16xx/dsp16xx.h: Likewise.
9856         * config/frv/frv.c: Likewise.
9857         * config/frv/frv.h: Likewise.
9858         * config/ip2k/ip2k.h: Likewise.
9859         * config/rs6000/rs6000.c: Likewise.
9860         * config/stormy16/stormy-abi: Likewise.
9861         * config/stormy16/stormy16.h: Likewise.
9862         * config/v850/v850.c: Likewise.
9863
9864 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9865
9866         * loop.c: Fix a comment typo.
9867
9868 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9869
9870         * config/fr30/fr30.h: Fix comment typos.
9871         * config/frv/frv.c: Likewise.
9872         * config/i386/xmmintrin.h: Likewise.
9873         * config/mips/mips.c: Likewise.
9874         * config/sh/sh.c: Likewise.
9875
9876 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9877
9878         * haifa-sched.c: Follow spelling conventions.
9879         * regclass.c: Likewise.
9880         * regrename.c: Likewise.
9881         * config/fp-bit.c: Likewise.
9882         * config/frv/frv.h: Likewise.
9883         * config/m88k/m88k.c: Likewise.
9884         * config/mcore/mcore.c: Likewise.
9885         * config/rs6000/darwin.h: Likewise.
9886         * config/rs6000/gnu.h: Likewise.
9887         * config/rs6000/linux.h: Likewise.
9888         * config/rs6000/linux64.h: Likewise.
9889         * config/rs6000/rs6000.c: Likewise.
9890         * config/rs6000/rs6000.h: Likewise.
9891         * config/sh/sh.c: Likewise.
9892         * config/sparc/sparc.c: Likewise.
9893         * config/sparc/ultra1_2.md: Likewise.
9894
9895 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
9896
9897         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
9898         memory operand when source is 0 (K constraint).
9899         ("movsi_internal"): Likewise.
9900         ("movdf_internal"): Likewise.
9901         ("movsf_internal"): Likewise.
9902
9903 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9904
9905         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
9906         targetm.binds_local_p to set SYMBOL_REF_FLAG.
9907         (rs6000_xcoff_encode_section_info): Likewise.
9908         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9909
9910 2002-09-10  Theodore A. Roth  <troth@verinet.com>
9911
9912         * gcc/config/avr/avr.h: Set default options for C++ for avr.
9913
9914 2002-09-13  Roger Sayle  <roger@eyesopen.com>
9915
9916         * stmt.c (struct nexting): Remove unused alt_end_label field.
9917         (expand_start_loop): Delete initialization of alt_end_label.
9918         (expand_start_null_loop): Likewise.
9919         (expand_exit_loop_if_false): Delete updating of alt_end_label.
9920
9921 2002-09-13  Richard Henderson  <rth@redhat.com>
9922
9923         * Makefile.in (toplev.o): Depend on real.h.
9924         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
9925
9926 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9927
9928         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
9929         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
9930         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
9931
9932 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
9933
9934         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
9935
9936 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9937
9938         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
9939         ia64*-*-linux*): Set extra_parts.
9940         * config/ia64/t-aix (EXTRA_PARTS): Remove.
9941         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
9942
9943 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9944
9945         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
9946         * config/h8300/h8300.c: Likewise.
9947         * config/h8300/h8300.h: Likewise.
9948         * config/h8300/h8300.md: Likewise.
9949         * doc/invoke.texi: Likewise.
9950
9951 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9952
9953         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
9954
9955 2002-09-13  Richard Henderson  <rth@redhat.com>
9956
9957         * config/alpha/alpha.md (attr type): Add callpal.
9958         (imb, trap, load_tp, set_tp): Use it.
9959         * config/alpha/ev4.md (ev4_callpal): New.
9960         * config/alpha/ev5.md (ev5_callpal): New.
9961         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
9962         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
9963         (alphaev5_insn_pipe): Likewise.
9964
9965 2002-09-13  Andreas Jaeger  <aj@suse.de>
9966
9967         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
9968
9969 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9970
9971         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
9972         LIB2ADDEH): New, set to NULL.
9973         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
9974
9975 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9976
9977         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
9978         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
9979         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
9980         Add declarations.
9981         (_U_Qfneg): Remove.
9982
9983 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
9984
9985         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
9986         for H8/300, H8S aa:8 mode.
9987         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
9988         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
9989         for H8/300 aa:8 mode.
9990
9991 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
9992
9993         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
9994         insns.
9995
9996 2002-09-12  Richard Henderson  <rth@redhat.com>
9997
9998         * Makefile.in (HOST_PRINT): Use print-rtl1.o
9999         (print-rtl.o): Don't define GENERATOR_FILE.
10000         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10001         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10002         unless GENERATOR_FILE.
10003
10004 2002-09-12  Stan Shebs  <shebs@apple.com>
10005
10006         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10007         * config/i386/darwin.h: ... instead of here.
10008
10009         * target.h (struct gcc_target): New field
10010         terminate_dw2_eh_frame_info.
10011         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10012         (TARGET_INITIALIZER): Add it.
10013         * dwarf2out.c (output_call_frame_info): Use target hook.
10014         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10015         ASM_OUTPUT_DWARF_DELTA if defined.
10016         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10017         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10018         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10019         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10020         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10021         (powerpc-*-darwin*): Ditto.
10022         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10023         to work correctly for Darwin.
10024         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10025         (STARTFILE_SPEC): Add crtbegin.o.
10026         (ENDFILE_SPEC): Define.
10027         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10028         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10029         (ASM_OUTPUT_DWARF_DELTA): Define.
10030         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10031         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10032
10033 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10034
10035         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10036         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10037         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10038
10039 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10040
10041         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10042         * defaults.h: ... here.
10043
10044 2002-09-12  Richard Henderson  <rth@redhat.com>
10045
10046         * vax.c: Include tree.h earlier.
10047
10048 2002-09-12  Stan Shebs  <shebs@apple.com>
10049
10050         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10051         (machopic_operand_p): Ditto.
10052
10053 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10054
10055         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10056         Fix a comment typo.
10057
10058 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10059
10060         * toplev.c (do_abort): Fix a comment typo.
10061
10062 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10063
10064         * cselib.c: Fix comment formatting.
10065         * gengtype.c: Likewise.
10066
10067 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10068
10069         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10070         (udivmodhi4): Likewise.
10071
10072 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10073             Roger Sayle  <roger@eyesopen.com>
10074
10075         * i386.c (any_fp_register_operand, fp_register_operand,
10076         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10077         New predicate functions.
10078         * i386-protos.h:  Add their prototypes.
10079         * i386.h: Add them to PREDICATE_CODES.
10080         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10081         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10082         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10083         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10084         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10085         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10086         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10087         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10088         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10089         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10090         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10091         Use these new predicates to simplify and correct the use of
10092         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10093
10094 2002-09-12  Jason Merrill  <jason@redhat.com>
10095
10096         * diagnostic.c (output_add_identifier): New fn.
10097         * diagnostic.h: Declare it.
10098
10099         * calls.c (store_one_arg): Use size_in_bytes to determine the
10100         amount of space to push.
10101
10102 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10103
10104         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10105
10106 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10107
10108         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10109         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10110         (s390_select_ccmode): Likewise.
10111         (s390_branch_condition_mask): Likewise.
10112         (optimization_options): Do not set flag_branch_on_count.
10113         (s390_split_branches): Handle doloop branches.
10114         (s390_chunkify_pool): Likewise.
10115         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10116         ("doloop_end"): New expander.
10117         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10118         associated splitters): New.
10119
10120 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10121
10122         * genattrtab.c (simplify_cond): Remove unused variable(s).
10123         * global.c (record_conflicts): Likewise.
10124         * jump.c (rebuild_jump_labels): Likewise.
10125         * loop.c (scan_loop, check_final_value): Likewise.
10126         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10127         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10128         * rtlanal.c (reg_set_p): Likewise.
10129         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10130         * genautomata.c (empty_reserv): Remove.
10131         * loop.c (max_luid): Likewise.
10132         * sched-rgn.c (bitlst_table_size): Likewise.
10133
10134 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10135
10136         Reimplement gcov format.
10137         * gcov-io.h: Replace.
10138         * gcov.c: Reimplement.
10139         * gcov-iov.c: New file.
10140         * gcov-dump.c: New file.
10141         * libgcc2.c (L_bb): Replace with ...
10142         (L_gcov): ... this.
10143         (struct bb_function_info, struct bb): Remove.
10144         (inhibit_libc): Never inhibit.
10145         (gcov_list, gcov_crc): New static variables.
10146         (gcov_version_mismatch): New static function.
10147         (__bb_exit_func): Renamed to ...
10148         (__gcov_exit): ... here. Made static. Reimplement.
10149         (__gcov_init_func): Rename to ...
10150         (__gcov_init): ... here. Check version, update crc.
10151         (__bb_fork_func): Rename to ...
10152         (__gcov_flush): ... here.
10153         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10154         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10155         * calls.c (expand_call): Call __gcov_flush.
10156         * profile.c (bb_file, last_bb_file_name): Remove.
10157         (bbg_file_name): New global variable.
10158         (output_gcov_string): Remove.
10159         (get_exec_counts): Reimplement.
10160         (branch_prob): Reimplement gcov file writing.
10161         (init_branch_prob): Create bbg_file_name, don't create
10162         bb_file_name.
10163         (end_branch_prob): Adjust. Don't remove counter file when
10164         instrumenting ourselves.
10165         (create_profiler): Adjust.
10166         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10167         point to gcov-io.h.
10168         * Makefile.in (LANGUAGES): Add gcov-dump.
10169         (coverageexts): Remove .bb.
10170         (STAGESTUFF): Add gcov-dump.
10171         (LIB2FUNCS_ST): Replace _bb with _gcov.
10172         (profile.o): Depend on gcov-iov.h.
10173         (final.o): Don't depend on profile.h, gcov.h.
10174         (gcov.o): Depend on gcov-iov.h.
10175         (gcov-iov.o): New target.
10176         (gcov-iov): New target.
10177         (gcov-iov.h): New target.
10178         (gcov-dump.o): New target.
10179         (GCOV_DUMP_OBJS): New variable.
10180         (gcov-dump): New target.
10181         (distclean): Remove coverageexts.
10182         (stage1): Remove coverageexts.
10183
10184 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10185
10186         * fold-const.c (make_range): Only narrow to signed range if
10187         the signed range is smaller than the unsigned range.
10188
10189 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10190
10191         * emit-rtl.c (set_mem_size): New function.
10192         * expr.h (set_mem_size): Declare.
10193         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10194         (expand_block_move): Instead, use adjust_address and
10195         replace_equiv_address to generate proper aliasing info.
10196         Move common code out of conditionals.  Localize vars.
10197
10198 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10199
10200         * optabs.c (expand_binop): Minor cleanup.
10201         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10202
10203 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10204
10205         * print-tree.c (print_node): Print the restrict qualifier.
10206
10207 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10208
10209         * doc/install.texi: Fix typos.
10210
10211 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10212
10213         * Makefile.in: Remove all references to s-under and underscore.c.
10214         * collect2.c, tlink.c: Change all uses of prepends_underscore
10215         to look directly at USER_LABEL_PREFIX.
10216
10217 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10218
10219         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10220         alignment to csect.
10221         (rs6000_xcoff_unique_section): Only set section name for public
10222         data.
10223         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10224         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10225         duplicate definition.
10226
10227 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10228
10229         * pa.md (extzv): Check predicates before emitting extzv_32.
10230         (insv): Likewise.
10231
10232 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10233
10234         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10235         (MAX_MOVE_MAX): Define.
10236         (MOVE_BY_PIECES_P): Define.
10237         (CLEAR_BY_PIECES_P): Define.
10238
10239 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10240
10241         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10242
10243 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10244
10245         PR c/7873
10246         * arm.md (insv): Use reg_or_int_operand for operand[3].
10247
10248 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10249
10250         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10251         inside macro.  Correct function definition typo.
10252         (rs6000_xcoff_section_type_flags): New function.
10253         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10254         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10255         with appropriate PIC test.
10256         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10257         determine readonly.
10258         (rs6000_binds_local_p): Combine PIC flags.
10259         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10260         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10261
10262 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10263
10264         * h8300.md: Fix signed/unsigned warnings.
10265         * mcore.md: Likewise.
10266         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10267
10268 2002-09-09  Per Bothner  <per@bothner.com>
10269
10270         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10271         characters, and only print TREE_STRING_LENGTH chars.
10272
10273 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10274
10275         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10276         (ASM_FILE_END) New.
10277         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10278         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10279         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10280         of external functions if TARGET_HPUX_LD is true.
10281         (ia64_hpux_add_extern_decl): New, routine to put names on
10282         list of external functions.
10283         (ia64_hpux_asm_file_end): Put out declarations for external
10284         functions if and only if they are used.
10285
10286 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10287
10288         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10289         on TARGET_64BIT before pic register restore.
10290
10291 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10292
10293         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10294         (TARGET_HAVE_TLS): New description.
10295
10296 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10297
10298         * doc/extend.texi (Statement Exprs): Fix broken link.
10299
10300 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10301
10302         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10303         right conversion of operands[1].
10304
10305 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10306
10307         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10308         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10309         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10310
10311         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10312         as commutative.
10313
10314         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10315         mark as commutative.  Use "nonimmediate_operand" instead of
10316         "register_operand" as predicate for operand 1.
10317
10318         ("movstrictsi"): Fix typo in insn name.
10319
10320 2002-09-09  Jan Hubicka  <jh@suse.cz>
10321
10322         * i386.c (index_register_operand): New.
10323         * i386.h (predicate_codes): Add new predicate.
10324         * i386.md (lea_general_*): Use index_register_operand
10325         (ashift to lea splitter): Do not produce invalid leas
10326         (ashift to mov+ashift split): New.
10327
10328 2002-09-09  Nick Clifton  <nickc@redhat.com>
10329
10330         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10331         Fix folding marks.
10332
10333 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10334             J"orn Rennecke <joern.rennecke@superh.com>
10335
10336         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10337
10338 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10339
10340         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10341         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10342         attributes.
10343
10344 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10345
10346         * basic_block.h (gcov_type): Explain why it is signed.
10347         * final.c: Don't include profile.h.
10348         (struct function_list, functions_head, functions_tail,
10349         end_final): Moved to profile.c
10350         (final): Move arc chaining code to profile.c.
10351         * function.c (prepare_function_start): Remove duplicate line.
10352         * output.h (end_final): Remove prototype.
10353         * predict.c (estimate_loops_at_level): Use gcov_type.
10354         * profile.c (struct function_list, functions_head,
10355         functions_tail): Moved from final.c
10356         (need_func_profiler): Remove.
10357         (instrument_edges): Don't set need_func_profiler.
10358         (get_exec_counts): Avoid signed/unsigned warning.
10359         (compute_checksum): Use crc32.
10360         (branch_prob): Adjust. Chain onto functions_head.
10361         (init_branch_prob): Absorb init_edge_profiler.
10362         (init_edge_profiler): Remove.
10363         (create_profiler): Moved and renamed from final.c:end_final.
10364         Emit data and constructor.
10365         (output_func_start_profiler): Remove.
10366         * profile.h (struct profile_info): checksum is unsigned.
10367         * rtl.h (output_func_start_profiler): Remove prototype.
10368         (create_profiler): Declare.
10369         * toplev.c (compile_file): Call create_profiler, if instrumenting
10370         arcs. Don't call end_final.
10371
10372 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10373
10374         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10375
10376 2002-09-08  Richard Henderson  <rth@redhat.com>
10377
10378         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10379         (DW_OP_GNU_push_tls_address): New.
10380         (DW_OP_lo_user): Fix.
10381         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10382         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10383         (size_of_loc_descr): Likewise.
10384         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10385         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10386         (loc_descriptor_from_tree): Handle TLS variables.
10387         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10388         (add_location_or_const_value_attribute): ... not here.  Defer
10389         to loc_descriptor_from_tree for TLS variables.
10390
10391         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10392         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10393         * config/i386/i386-protos.h: Update.
10394
10395 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10396
10397         PR optimization/6405
10398         * unroll.c (loop_iterations): last_loop_insn should be the previous
10399         non-note instruction before loop->end.
10400         * loop.c (strength_reduce): The conditional jump is the last
10401         non-note instruction before loop->end (as above).
10402
10403 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10404
10405         * combine.c (try_combine): Handle the case that undobuf.other_insn
10406         has been turned into a return or unconditional jump, by inserting
10407         a BARRIER if necessary.
10408         (simplify_set):  Test if a condition code setter has a constant
10409         comparison at compile time, if so convert this insn to a no-op move
10410         and update/simplify the condition code user (undobuf.other_insn).
10411
10412 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10413
10414         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10415         (CLEAR_INSN_CACHE): Define.
10416
10417 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10418
10419         * basic-block.h: Fix comment formatting.
10420         * c-common.c: Likewise.
10421         * c-common.h: Likewise.
10422         * c-lex.c: Likewise.
10423         * c-pretty-print.c: Likewise.
10424         * cfglayout.c: Likewise.
10425         * cfgloop.c: Likewise.
10426         * defaults.h: Likewise.
10427         * et-forest.c: Likewise.
10428         * explow.c: Likewise.
10429         * function.h: Likewise.
10430         * gcov.c: Likewise.
10431         * genattrtab.c: Likewise.
10432         * gengtype.c: Likewise.
10433         * ifcvt.c: Likewise.
10434         * libgcc2.c: Likewise.
10435         * loop.c: Likewise.
10436         * profile.c: Likewise.
10437         * ra-build.c: Likewise.
10438         * real.c: Likewise.
10439         * rtl.h: Likewise.
10440         * tracer.c: Likewise.
10441         * tree-inline.c: Likewise.
10442         * varasm.c: Likewise.
10443
10444 2002-09-08  Jan Hubicka  <jh@suse.cz>
10445
10446         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10447         handling.
10448
10449         * loop.c (loop_givs_reduce):  Emit addition after.
10450
10451 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10452
10453         * varasm.c (default_assemble_visibility): Rename from
10454         assemble_visibility.
10455         * output.h: Here too.
10456         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10457         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10458
10459 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10460
10461         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10462         find_reloads_address.
10463
10464 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10465
10466         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10467         (anonymous pattern): Likewise.
10468
10469 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10470
10471         * machmode.def: Add modes for half-float vectors.
10472
10473 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10474
10475         PR target/7374
10476         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10477
10478 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10479
10480         * basic-block.h (struct loop): Remove unused cont_dominator field.
10481
10482 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10483
10484         * varasm.c (decode_rtx_const): Don't check undefined field for
10485         CONST_VECTOR.
10486
10487 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10488
10489         PR opt/7814
10490         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10491         to reg_last->sets after flushing the dependency lists to guarantee
10492         that subsequent clobbers will be dependent on it.
10493
10494 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10495
10496         * combine.c (simplify_shift_const): Calculate rotate count
10497         correctly for vector operands.
10498
10499 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10500
10501         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10502         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10503         tree_expr_nonnegative_p.
10504         (build_conditional_expr): Likewise.
10505         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10506
10507 2002-09-07  Richard Henderson  <rth@redhat.com>
10508
10509         * builtins.def (inf, inff, infl): Mark const.
10510         (huge_val, huge_valf, huge_vall): Likewise.
10511         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10512
10513         * real.c (ereal_inf): Clear E before use.
10514
10515 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10516
10517         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10518         an expander and an anonymous pattern.  Zero out the upper half
10519         of the dividend in the expander.
10520         (udivmodqi4): Likewise.
10521
10522 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10523
10524         * config/h8300/h8300.c: Fix formatting.
10525         * config/h8300/h8300.h: Likewise.
10526         * config/h8300/h8300.md: Likewise.
10527
10528 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10529
10530         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10531         information.
10532
10533 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10534
10535        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10536
10537 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10538
10539         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10540
10541         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10542         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10543         (TARGET_ASM_OUT): Add the above here.
10544         * target.h (struct gcc_target): Add "visibility" field.
10545         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10546         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10547         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10548         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10549
10550 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10551
10552         * c-lang.c (objc_is_id): New stub.
10553         * c-tree.h (objc_is_id): New forward declaration.
10554         * c-typeck.c (build_c_cast): Do not strip protocol
10555         qualifiers from 'id' type.
10556         * objc/objc-act.c (objc_comptypes): Correct handling
10557         of protocol qualifiers.
10558         (objc_is_id): New.
10559
10560 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10561
10562         * pentium.md (pentium-firstvboth): Fix typo.
10563
10564 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10565
10566         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10567         (enum shift_type, enum h8_cpu): Likewise.
10568         (INL, ROT, LOP, SPC macros): Likewise.
10569         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10570         const designator.
10571         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10572         space efficient algorithms when optimize for codesize.
10573
10574 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10575
10576         Fix PR/1727 and long-standing failing testcase
10577         objc/formal-protocol-6.m.
10578         * objc-act.c (build_protocol_expr): If compiling for the GNU
10579         runtime, create a list of Protocol statically allocated instances
10580         if it doesn't exist, then add the Protocol object to this same
10581         list.
10582         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10583         instead of TREE_CHAIN.
10584
10585 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10586
10587         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10588         10k.  Fixed category dumping - print out category names with the
10589         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10590         interface.
10591         (finish_objc): Fixed the -gen-decls option.  It was printing out
10592         only the last class.  Dump an interface declaration of all classes
10593         being compiled instead.
10594
10595 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10596
10597         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10598         prototype.
10599         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10600         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10601         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10602         rather than GEN_INT.
10603         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10604         (return_addr_mask, *check_arch2): New.
10605
10606 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10607
10608         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10609         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10610         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10611         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10612         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10613         "adddf3", "*adddf3", "*adddf3_ibm",
10614         "addsf3", "*addsf3", "*addsf3_ibm",
10615         "muldi3", "mulsi3", "mulsidi3",
10616         "muldf3", "*muldf3", "*muldf3_ibm",
10617         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10618         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10619         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10620         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10621         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10622         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10623         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10624         instead of "register_operand" as predicate for "%0" operand.
10625
10626 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10627
10628         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10629         unconditionally when gcc_cv_as_flags64 checks are gone.
10630         * configure: Rebuilt.
10631
10632 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10633
10634         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10635         2002-07-26 change.  Comment.
10636
10637 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10638
10639         * frv.c (frv_unique_section, frv_select_section,
10640         frv_select_rtx_section): Delete.
10641         (frv_in_small_data_p): New.
10642         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10643         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10644         (TARGET_IN_SMALL_DATA_P): Define.
10645
10646 2002-09-05  Dale Johannesen  <dalej@apple.com>
10647
10648         * reload1.c (reload):  Retain only those memory clobbers
10649         added for variable-array handling.
10650
10651 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10652
10653         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10654         return-in-memory rules.
10655         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10656
10657 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10658
10659         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10660         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10661
10662 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10663
10664         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10665         not a compile-time constant for the non-IBM case.
10666         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10667         prototype.
10668         * config/arm/arm.c (arm_float_words_big_endian): New function.
10669         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10670         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10671         (ARM_FLAG_VFP, TARGET_VFP): Define.
10672         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10673
10674 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10675
10676         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10677         URLs.  Fix AIX wording.
10678
10679 2002-09-05  Stan Shebs  <shebs@apple.com>
10680
10681         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10682         -fPIC equivalent on Darwin.
10683
10684 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10685
10686         * sh.c (sh_expand_builtin): Return early if encountering an
10687         error_mark for a type.
10688
10689 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10690
10691         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10692         double-word scratch register.
10693         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10694
10695         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10696         "*cli"): Replace s_operand by memory_operand.
10697         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10698
10699 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10700
10701         * config/h8300/h8300.c (asm_file_start): Add a missing
10702         semicolon.
10703
10704 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10705
10706         * c-typeck.c (build_function_call): Remove unused variable(s).
10707         (build_c_cast): Likewise.
10708         * calls.c (rtx_for_function_call): Likewise.
10709         * cfglayout.c (duplicate_insn_chain): Likewise.
10710         * cfgloop.c (flow_loop_nodes_find): Likewise.
10711         * cfgrtl.c (split_edge): Likewise.
10712         * df.c (df_ref_create): Likewise.
10713         * except.c (expand_end_catch): Likewise.
10714         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10715         * function.c (emit_return_into_block): Likewise.
10716         (reposition_prologue_and_epilogue_notes): Likewise.
10717         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10718         * combine.c (subst_prev_insn, need_refresh): Remove.
10719         * dwarf2out.c (primary_filename): Remove.
10720         * final.c (new_block): Remove.
10721         * gcse.c (orig_bb_count): Remove.
10722
10723 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10724
10725         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10726         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10727         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10728         directly instead of using a function pointer.
10729
10730 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10731
10732         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10733         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10734         (ix86_output_addr_diff_elt) Likewise.
10735         (x86_output_mi_thunk) Likewise.
10736         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10737
10738 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10739
10740         * frv.c (frv_encode_section_info): Fix error in last change.
10741
10742 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10743
10744         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10745         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10746         (TARGET_BINDS_LOCAL_P): Define.
10747         (rs6000_override_options): Save original flag_pic value.
10748         (rs6000_elf_select_section): Call default_elf_select_section_1.
10749         (rs6000_elf_unique_section): Call default_unique_section_1.
10750         (rs6000_elf_in_small_data_p): New function.
10751         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10752         (rs6000_xcoff_select_section): Update based on defaults.
10753         (rs6000_xcoff_unique_section): Set to basic name if not common.
10754         (rs6000_binds_local_p): New function.
10755         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10756         targetm.have_srodata_section if SDATA_EABI.
10757         (TARGET_IN_SMALL_DATA_P): Define.
10758
10759 2002-09-04  Dale Johannesen  <dalej@apple.com>
10760
10761         * varasm.c (struct rtx_const, decode_rtx_const):
10762         Make veclo and vechi fields not share storage.
10763
10764 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10765
10766         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10767         for moving.
10768         (move_movables): Abort if we see the first insn of a libcall.
10769
10770 2002-09-04  Richard Henderson  <rth@redhat.com>
10771
10772         * builtin-types.def (BT_FN_FLOAT): New.
10773         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10774         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10775         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10776         * builtins.c (fold_builtin_inf): New.
10777         (fold_builtin): Call it.
10778         * real.c (ereal_inf): New.
10779         * real.h: Declare it.
10780         * doc/extend.texi: Document new builtins.
10781
10782 2002-09-04  Richard Henderson  <rth@redhat.com>
10783
10784         * cse.c (cse_insn): Avoid subreg games if the equivalence
10785         is already in the proper mode.
10786
10787 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10788
10789         PR c/7102
10790         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10791
10792 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10793
10794         * pa.md (setccfp0, setccfp1): New patterns.
10795
10796 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10797
10798         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10799         frv_select_section, frv_select_rtx_section,
10800         frv_encode_section_info, frv_unique_section): Delete.
10801         * frv.c: Update for target hooks.
10802         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10803         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10804         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10805
10806 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10807
10808         * ip2k-protos.h (function_prologue, function_epilogue,
10809         encode_section_info): Update to match target hook specification.
10810         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10811         (function_prologue, function_epilogue, encode_section_info):
10812         Update to match target hook specification.
10813         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10814         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10815         (NOTICE_UPDATE_CC): Cast to void.
10816         * ip2k.md: Add defaults in switch statements.
10817
10818 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10819
10820         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10821         issues.
10822
10823 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10824
10825         * config/sparc/t-netbsd64: Disable multilib for now.
10826
10827 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10828
10829         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10830         * target.h (gcc_target): Add have_srodata_section member.
10831         * varasm.c (section_category): Add SECCAT_SRODATA.
10832         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10833         READONLY_SDATA_SECTION defined.
10834         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10835         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10836         (default_unique_section_1): Likewise.
10837
10838 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10839
10840         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10841         into DImode pieces.
10842
10843         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10844         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10845         for floating-point register class.
10846         * pa.c (function_arg): Fix handling of modes wider than one word for
10847         TARGET_64BIT.
10848
10849 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
10850
10851         * combine.c (make_compound_operation): Don't generate zero / sign
10852         extensions in floating point modes.
10853
10854 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10855
10856         * doc/c-tree.texi: Fix overfull hboxes.
10857         * doc/cppopts.texi: Ditto.
10858         * doc/extend.texi: Ditto.
10859         * doc/gty.texi: Ditto.
10860         * doc/invoke.texi: Ditto.
10861         * doc/makefile.texi: Ditto.
10862         * doc/rtl.texi: Ditto.
10863         * doc/standards.texi: Ditto.
10864         * doc/tm.texi: Ditto.
10865
10866 2002-09-04  Richard Henderson  <rth@redhat.com>
10867
10868         * c-common.c (builtin_define_with_hex_fp_value): New.
10869         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
10870
10871 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10872
10873         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
10874         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
10875         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
10876         Warn that these options can break ABI compatibility.
10877
10878 2002-09-04  Richard Henderson  <rth@redhat.com>
10879
10880         * real.c (ereal_to_decimal): Add digits parameter.
10881         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
10882         * c-pretty-print.c (pp_c_real_literal): Update call.
10883         * print-rtl.c (print_rtx): Likewise.
10884         * print-tree.c (print_node_brief, print_node): Likewise.
10885         * sched-vis.c (print_value): Likewise.
10886         * config/arc/arc.c (arc_print_operand): Likewise.
10887         * config/c4x/c4x.c (c4x_print_operand): Likewise.
10888         * config/i370/i370.h (PRINT_OPERAND): Likewise.
10889         * config/i386/i386.c (print_operand): Likewise.
10890         * config/i960/i960.c (i960_print_operand): Likewise.
10891         * config/ip2k/ip2k.c (asm_output_float): Likewise.
10892         * config/m32r/m32r.c (m32r_print_operand): Likewise.
10893         * config/m68hc11/m68hc11.c (print_operand): Likewise.
10894         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
10895         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10896         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
10897         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10898         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
10899         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10900         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
10901         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10902         * config/mips/mips.c (print_operand): Likewise.
10903         * config/ns32k/ns32k.c (print_operand): Likewise.
10904         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
10905         * config/vax/vax.h (PRINT_OPERAND): Likewise.
10906         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
10907
10908 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
10909
10910         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
10911         xtensa_multibss_section_type_flags.
10912         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
10913
10914 2002-09-04  Richard Henderson  <rth@redhat.com>
10915
10916         * doc/install-old.texi: Don't mention enquire.
10917         * doc/sourcebuild.texi: Update float.h description.
10918
10919 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
10920
10921         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
10922
10923 2002-09-03  Roger Sayle  <roger@eyesopen.com>
10924
10925         * builtins.c (build_function_call_expr): Remove prototype, export
10926         as non-static and add a comment above function definition.
10927         (builtin_mathfn_code): New function to check for math builtins.
10928         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
10929         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
10930         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
10931         log(sqrt(x)) as log(x)/2.0.
10932
10933         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
10934         in new "builtins.c" section.  Place the build_range_type prototype
10935         with the other prototypes from "tree.c".
10936
10937         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
10938         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
10939         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
10940         x/exp(y) as x*exp(-y).
10941
10942 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
10943
10944         * varasm.c (default_section_type_flags): Append _1 to name with
10945         shlib parameter.  Use original name to call new function with
10946         implicit flag_pic.
10947         (decl_readonly_section): Likewise.
10948         (default_elf_select_section): Likewise.
10949         (default_unique_section): Likewise.
10950         (default_bind_local_p): Likewise.
10951         (categorize_decl_for_section): Add shlib parameter to use in place
10952         of implicit flag_pic.
10953         * output.h: Declare new functions with _1 and shlib argument.
10954
10955 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
10956
10957         * doc/install.texi: Fix typos, formatting problems, and obvious
10958         overfull/underfull boxes.
10959
10960         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
10961         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
10962         include its file, compat.texi.
10963         * doc/compat.texi: New file with new chapter, Binary Compatibility.
10964
10965 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
10966
10967         Debian BTS Bug #157416
10968         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
10969         * cpplib.c (destringize_and_run): Kludge around getting
10970         tokens from in-progress macros.
10971         (_cpp_do__Pragma): Simplify.
10972
10973 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
10974
10975         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
10976         (CPP_CPU_SPEC): Remove.
10977         (TARGET_CPU_CPP_BUILTINS): New.
10978         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
10979         (CPP_SPEC): Remove.
10980         (TARGET_OS_CPP_BUILTINS): New.
10981         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
10982         (TARGET_OS_CPP_BUILTINS): New.
10983         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
10984         TARGET_OS_CPP_BUILTINS.
10985         (CPP_PREDEFINES): Remove.
10986         (CPLUSPLUS_CPP_SPEC): Remove.
10987         (TARGET_OS_CPP_BUILTINS): New.
10988
10989 2002-09-03  Richard Henderson  <rth@redhat.com>
10990
10991         * Makefile.in (USER_H): Add ginclude/float.h.
10992         (FLOAT_H): Remove.
10993         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
10994         (mostlyclean): Don't remove float.h intermediate files.
10995         (distclean): Don't remove float.h.
10996         * config.gcc: Remove all float_format references.
10997         * configure.in (float_format, float_h_file): Remove.
10998
10999         * c-common.c: Include tree-inline.h.
11000         (builtin_define_with_int_value): New.
11001         (builtin_define_type_precision): Use it.
11002         (builtin_define_float_constants): New.
11003         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11004         __FLT_EVAL_METHOD__.
11005         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11006         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11007         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11008         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11009         (TARGET_FLT_EVAL_METHOD): New.
11010
11011         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11012         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11013         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11014         * ginclude/float.h: New.
11015
11016 2002-09-03  Stan Shebs  <shebs@apple.com>
11017
11018         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11019         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11020         (PREFERRED_DEBUGGING_TYPE): Ditto.
11021         (ASM_OUTPUT_IDENT): Remove empty definition.
11022
11023 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11024
11025         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11026         cxx_target.
11027         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11028         handling routine for builtin pragma.
11029         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11030         Registered pragma handling routine.
11031         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11032         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11033         If builtin pragma seen for math routine and C89 conformance is
11034         requested use different math function in order to set errno.
11035         * t-ia64 (ia64-c.o): Add new rule for new file.
11036
11037 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11038
11039         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11040         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11041         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11042
11043         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11044         "*movsf_ss"): Remove.
11045
11046 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11047
11048         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11049         Delete macros.
11050
11051 2002-09-03   Arati Dikey  <aratid@kpit.com>
11052
11053         * h8300.c (asm_file_start): Corrected optimization comment.
11054
11055 2002-09-03  Stan Shebs  <shebs@apple.com>
11056
11057         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11058         * c-tree.h (recognize_objc_keyword): Remove decl.
11059         * c-typeck.c (comp_target_types): Update a comment.
11060
11061 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11062
11063         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11064         and register validity checks.
11065         (general_s_operand): Adapt to s390_decompose_address interface change.
11066         (q_constraint): Likewise.
11067         (s390_expand_plus_operand): Likewise.
11068         (legitimiate_address_p): Likewise.
11069         (legitimate_la_operand_p): Likewise.
11070         (legitimize_la_operand): Likewise.
11071         (print_operand_address): Likewise.
11072         (print_operand): Likewise.
11073
11074 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11075
11076         PR objc/5956:
11077         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11078         was causing the new selector never to match the existing ones
11079         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11080
11081 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11082
11083         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11084
11085 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11086
11087         * expr.c (expand_expr): Remove extraneous comment and code.
11088
11089 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11090
11091         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11092         frontend. Take chain of fields. Allow NULL alignment type.
11093         * tree.h (finish_builtin_struct): Declare.
11094
11095 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11096
11097         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11098         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11099         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11100         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11101         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11102         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11103         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11104         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11105         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11106         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11107         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11108         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11109         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11110         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11111         config/rs6000/linux64.h config/rs6000/lynx.h
11112         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11113         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11114         config/sparc/sparc.c config/sparc/sysv4.h
11115         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11116         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11117         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11118
11119         * doc/tm.texi: Update docs.
11120         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11121         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11122
11123 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11124
11125         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11126         * arc.c (arc_internal_label): New function.
11127         (TARGET_ASM_INTERNAL_LABEL): Set.
11128         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11129         * arm.c (arm_internal_label): New function.
11130         (TARGET_ASM_INTERNAL_LABEL): Set.
11131         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11132         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11133         * i370.c (i370_internal_label): New function.
11134         (TARGET_ASM_INTERNAL_LABEL): Set.
11135         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11136         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11137         * m68k.c (m68k_hp320_internal_label): New function.
11138         (TARGET_ASM_INTERNAL_LABEL): Set.
11139         * m88k.c (m88k_internal_label): New function.
11140         (TARGET_ASM_INTERNAL_LABEL): Set.
11141         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11142         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11143         * genoutput.c (output_prologue): Include target.h in output file.
11144         * output.h (default_internal_label): Declare.
11145         * sdbout.c: Include target.h.
11146         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11147         TARGET_ASM_OUT.
11148         * target.h (internal_label): Add to struct gcc_target.
11149         * varasm.c (default_internal_label): New function.
11150
11151 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11152
11153         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11154         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11155         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11156         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11157         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11158         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11159         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11160         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11161         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11162         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11163         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11164         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11165         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11166         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11167         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11168         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11169         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11170         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11171         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11172         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11173         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11174         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11175         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11176         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11177         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11178         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11179         * mmix.c (mmix_asm_output_internal_label): Likewise.
11180         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11181         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11182         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11183         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11184         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11185         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11186         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11187         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11188         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11189         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11190         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11191         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11192         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11193         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11194         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11195         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11196         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11197         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11198         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11199
11200         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11201
11202 2002-08-31  Richard Henderson  <rth@redhat.com>
11203
11204         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11205
11206 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11207
11208         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11209
11210 2002-08-30  Richard Henderson  <rth@redhat.com>
11211
11212         PR opt/7515
11213         * c-objc-common.c: Include target.h.
11214         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11215         don't bind locally.  Factor setting DECL_UNINLINABLE.
11216         * Makefile.in (c-objc-common.o): Update.
11217
11218 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11219
11220         * doc/install.texi (Configuration, Building): Fix a typo and
11221         some formatting directives.
11222
11223 2002-08-30  Paul Koning <pkoning@equallogic.com>
11224
11225         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11226         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11227         implemented" note.
11228         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11229         for alphabetic order.
11230         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11231         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11232         (VAX_HALFWORD_ORDER): Document.
11233         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11234         IEEE float format.
11235         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11236         (ASM_OUTPUT_LABEL_REF): Fix font.
11237         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11238
11239 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11240
11241         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11242         stuff.
11243         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11244         CONST_DOUBLE constants.
11245
11246 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11247
11248         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11249         related defines to...
11250         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11251         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11252         as a no-op.
11253
11254 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11255
11256         * config/arm/arm.c (arm_asm_output_labelref): New function.
11257         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11258         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11259
11260 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11261
11262         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11263         memory exhausted" workarounds.
11264
11265 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11266
11267         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11268         * toplev.c (crash_signal): Likewise.
11269
11270 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11271
11272         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11273         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11274         Extended, updated documentation.
11275         (-Wundeclared-selector): Documented.
11276
11277 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11278
11279         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11280         the value 1.  Do not undef before defining.
11281         * config/darwin.h: Likewise.
11282         * config/dbx.h: Likewise.
11283         * config/dbxcoff.h: Likewise.
11284         * config/dbxelf.h: Likewise.
11285         * config/elfos.h: Likewise.
11286         * config/interix.h: Likewise.
11287         * config/lynx-ng.h: Likewise.
11288         * config/lynx.h: Likewise.
11289         * config/netware.h: Likewise.
11290         * config/psos.h: Likewise.
11291         * config/svr3.h: Likewise.
11292         * config/alpha/alpha.h: Likewise.
11293         * config/alpha/elf.h: Likewise.
11294         * config/alpha/vms.h: Likewise.
11295         * config/arc/arc.h: Likewise.
11296         * config/arm/aout.h: Likewise.
11297         * config/arm/coff.h: Likewise.
11298         * config/c4x/c4x.h: Likewise.
11299         * config/h8300/h8300.h: Likewise.
11300         * config/i386/cygwin.h: Likewise.
11301         * config/i386/djgpp.h: Likewise.
11302         * config/i386/gas.h: Likewise.
11303         * config/i386/gstabs.h: Likewise.
11304         * config/i386/i386-coff.h: Likewise.
11305         * config/i386/i386-interix.h: Likewise.
11306         * config/i386/sco5.h: Likewise.
11307         * config/i386/svr3dbx.h: Likewise.
11308         * config/i386/sysv3.h: Likewise.
11309         * config/i386/win32.h: Likewise.
11310         * config/i386/x86-64.h: Likewise.
11311         * config/i960/i960.h: Likewise.
11312         * config/ia64/ia64.h: Likewise.
11313         * config/ip2k/ip2k.h: Likewise.
11314         * config/m32r/m32r.h: Likewise.
11315         * config/m68k/3b1.h: Likewise.
11316         * config/m68k/3b1g.h: Likewise.
11317         * config/m68k/ccur-GAS.h: Likewise.
11318         * config/m68k/coff.h: Likewise.
11319         * config/m68k/hp2bsd.h: Likewise.
11320         * config/m68k/hp310g.h: Likewise.
11321         * config/m68k/hp320g.h: Likewise.
11322         * config/m68k/hp3bsd.h: Likewise.
11323         * config/m68k/hp3bsd44.h: Likewise.
11324         * config/m68k/linux-aout.h: Likewise.
11325         * config/m68k/m68k-aout.h: Likewise.
11326         * config/m68k/mot3300.h: Likewise.
11327         * config/m68k/netbsd.h: Likewise.
11328         * config/m68k/openbsd.h: Likewise.
11329         * config/m68k/pbb.h: Likewise.
11330         * config/m68k/plexus.h: Likewise.
11331         * config/m68k/sun2.h: Likewise.
11332         * config/m68k/sun3.h: Likewise.
11333         * config/m68k/tower-as.h: Likewise.
11334         * config/m68k/vxm68k.h: Likewise.
11335         * config/m88k/aout-dbx.h: Likewise.
11336         * config/m88k/m88k-aout.h: Likewise.
11337         * config/mcore/mcore-elf.h: Likewise.
11338         * config/mcore/mcore-pe.h: Likewise.
11339         * config/mips/elf.h: Likewise.
11340         * config/mips/elf64.h: Likewise.
11341         * config/mips/iris5gas.h: Likewise.
11342         * config/mips/iris6.h: Likewise.
11343         * config/mips/mips.h: Likewise.
11344         * config/mips/sni-gas.h: Likewise.
11345         * config/mmix/mmix.h: Likewise.
11346         * config/ns32k/netbsd.h: Likewise.
11347         * config/pa/pa64-hpux.h: Likewise.
11348         * config/romp/romp.h: Likewise.
11349         * config/rs6000/sysv4.h: Likewise.
11350         * config/rs6000/xcoff.h: Likewise.
11351         * config/sh/coff.h: Likewise.
11352         * config/sh/elf.h: Likewise.
11353         * config/sparc/linux64.h: Likewise.
11354         * config/sparc/liteelf.h: Likewise.
11355         * config/sparc/netbsd.h: Likewise.
11356         * config/sparc/openbsd.h: Likewise.
11357         * config/sparc/pbd.h: Likewise.
11358         * config/sparc/sp64-elf.h: Likewise.
11359         * config/sparc/sp86x-elf.h: Likewise.
11360         * config/sparc/sparc.h: Likewise.
11361         * config/vax/vax.h: Likewise.
11362         * config/vax/vaxv.h: Likewise.
11363
11364 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11365
11366         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11367         of HImode shifts.
11368         (get_shift_alg): Corresponding changes.
11369
11370 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11371
11372         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11373
11374 2002-08-29  Richard Henderson  <rth@redhat.com>
11375
11376         * expr.h (enum block_op_methods): New.
11377         (emit_block_move): Update prototype.
11378         * expr.c (block_move_libcall_safe_for_call_parm): New.
11379         (emit_block_move_via_loop): New.
11380         (emit_block_move): Use them.  New argument METHOD.
11381         (emit_push_insn): Always respect the given alignment.
11382         (expand_assignment): Update call to emit_block_move.
11383         (store_expr, store_field, expand_expr): Likewise.
11384         * builtins.c (expand_builtin_apply): Likewise.
11385         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11386         * function.c (expand_function_end): Likewise.
11387         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11388         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11389         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11390         (save_fixed_argument_area): Use emit_block_move with
11391         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11392         (restore_fixed_argument_area): Likewise.
11393         (store_one_arg): Fix alignment parameter to emit_push_insn.
11394
11395 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11396
11397         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11398
11399 2002-08-29  Catherine Moore  <clm@redhat.com>
11400
11401         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11402         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11403         (PREDICATE_CODES): Include new predicates.
11404         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11405         (TARGET_SWITCHES):  Add strict-align.
11406         (TARGET_STRICT_ALIGN): New.
11407         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11408         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11409         Define.
11410         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11411         v850_muldi3.
11412         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11413         L_callt_save_r2_r31, L_return_r2_r31,
11414         L_save_all_interrupt): Change addi to add.
11415         (L_save_interrupt, L_return_interrupt): Rework.
11416         (__return_r31):  Correct .size directive.
11417         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11418         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11419         New routines.
11420         * config/v850/v850.c (expand_prologue): Call
11421         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11422         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11423         (reg_or_int9_operand): New predicate.
11424         (reg_or_const_operand): New routine.
11425         * config/v850/v850.md (return_interrupt): Changed from
11426         restore_interrupt.
11427         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11428         (callt_save_interrupt): Change save sequence.
11429         (callt_return_interrupt): New.
11430         (save_interrupt): Don't use runtime function for LONG_CALLS
11431         and TARGET_PROLOG_FUNCTION.
11432         (save_all_interrupt): Likewise.
11433         (mulsi3): Use new predicate.
11434         (moviscc): Disallow some combination of constants.
11435         Fix define_split for sasf insns, so that it will not generate bad
11436         code if operand0 and operand5 are the same.
11437         * config/v850/v850-protos.h: Prototype new predicates.
11438
11439 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11440
11441         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11442         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11443
11444 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11445
11446         * c-common.c (builtin_define_type_precision): New function.
11447         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11448         wchar_t is unsigned in C++.
11449         * doc/cpp.texi (Common Predefined Macros): Document
11450         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11451         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11452         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11453
11454 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11455
11456         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11457         section.  Mention that it is enabled by -Wall.
11458         (-Wall): Mention that there can be language-specific warnings as well.
11459         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11460         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11461
11462 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11463
11464         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11465         if it is ever live.
11466
11467         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11468         attribute for SHCOMPACT.
11469
11470         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11471         appropriately.
11472         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11473         by the ABI.
11474
11475         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11476
11477 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11478
11479         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11480         "MASK_GAS|MASK_ABICALLS".
11481         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11482         (TARGET_DEFAULT): Remove.
11483         (MACHINE_TYPE): Undefine before defining.
11484         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11485
11486 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11487
11488         * c-common.c (warn_abi): New variable.
11489         * c-common.h (warn_abi): Likewise.
11490         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11491         (c_common_decode_option): Handle it.
11492         * doc/invoke.texi: Document -Wabi.
11493
11494 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11495
11496         * c-common.c (warn_undeclared_selector): New variable.
11497         * c-common.h (warn_undeclared_selector): Idem.
11498         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11499         to on when -Wundeclared-selector is found.
11500         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11501         * objc/objc-act.c (build_selector_expr): If
11502         warn_undeclared_selector is set, check that the selector has
11503         already been defined, and emit a warning if not.
11504
11505 2002-08-27  Nick Clifton  <nickc@redhat.com>
11506             Catherine Moore  <clm@redhat.com>
11507             Jim Wilson  <wilson@cygnus.com>
11508
11509         * config.gcc: Add v850e-*-* target.
11510         Add --with-cpu= support for v850.
11511         * config/v850/lib1funcs.asm: Add v850e callt functions.
11512         * config/v850/v850.h: Add support for v850e target.
11513         * config/v850/v850.c: Add functions to support v850e target.
11514         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11515         * config/v850/v850.md: Add patterns for v850e instructions.
11516         * doc/invoke.texi: Document new v850e command line switches.
11517
11518 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11519                           Aldy Hernandez <aldyh at redhat dot com>
11520
11521         * doc/tm.texi: Applied numerous fixes to the automaton based
11522         scheduler descrition.
11523
11524 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11525
11526         * i386.c (classify_argument): Handle variable sized objects.
11527
11528 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11529
11530         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11531
11532 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11533
11534         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11535
11536 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11537
11538         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11539
11540 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11541
11542         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11543         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11544         accordingly.
11545         (attribute insn_class): Provide default definitions based on type.
11546         Remove all insn-specific settings.
11547         (various function units): Remove old SH4 scheduling.
11548         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11549         New attributes.  Set them where appropriate.
11550         (cpu unit FS): Don't define / use.
11551         (F3, load_store): New cpu units.
11552         (F01): New reservation.
11553         (all insn_reservations): Make dependent on sh4 pipeline model.
11554         Fix latencies.
11555         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11556         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11557         (mt insn_reservation): Use type mt_group.
11558         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11559         sh4_fload and sh4_store.
11560         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11561         (insn_reservation branch_far): Replace with sh4_return.
11562         (insn_reservation return_from_exp): Rename to:
11563         (sh4_return_from_exp).  Change to be just d_lock*5.
11564         (insn_reservation lds_to_pr): Rename to:
11565         (sh4_lds_to_pr).  Change to be just d_lock*2.
11566         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11567         d_lock*2.
11568         (insn_reservation prload_mem): Rename to:
11569         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11570         (insn_reservation fpscr_store): Rename to:
11571         (fpscr_load).  Change to d_lock,nothing,F1*3.
11572         (insn_reservation fpscr_store_mem): Rename to:
11573         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11574         (insn_reservation multi): Change to
11575         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11576         (insn_reservation fp_arith): Change to issue,F01,F2.
11577         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11578         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11579         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11580         (insn_reservation fp_double_cmp): Change to
11581         d_lock,(d_lock+F01),F1+F2,F2.
11582         (insn_reservation dp_div): Change to
11583         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11584         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11585         (sh_adjust_cost, SHcompact): Differentiate between different
11586         kinds of dependencies.  Drop factor of ten for superscalar.
11587         Use new instruction types.  Add new exception rules.
11588
11589         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11590
11591         * sh.md (mperm_w): Add DONE.
11592
11593 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11594
11595         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11596
11597         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11598
11599         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11600
11601 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11602
11603         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11604
11605 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11606
11607         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11608         delimiter.
11609
11610 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11611
11612         * c-common.c (cpp_define_data_format): New function.
11613         (cb_register_builtins): Call it.
11614
11615         * doc/cpp.texi (Common Predefined Macros): Document
11616         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11617         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11618         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11619         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11620         __TARGET_USES_VAX_H_FLOAT__.
11621
11622 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11623
11624         * objc/objc-act.c (get_super_receiver): If inside a class method
11625         of a category, cast the receiver to 'id' before accessing the 'isa'
11626         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11627
11628 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11629
11630         * config/s390/s390-protos.h (s390_function_prologue,
11631         s390_function_epilogue): Remove.
11632         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11633         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11634
11635         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11636         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11637         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11638         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11639         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11640
11641         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11642         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11643         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11644         function is not a leaf function.  Use save_gprs and restore_gprs.
11645         (s390_emit_epilogue): Likewise.
11646         (save_gprs, restore_gprs): New functions.
11647         (struct s390_frame): Remove return_reg_saved_p member.
11648         (save_fprs_p): Remove.
11649         (s390_optimize_prolog): New function.
11650         (s390_legitimate_reload_constant): Remove now unnecessary check.
11651
11652         (s390_function_count): Remove.
11653         (s390_output_symbolic_const): Replace s390_function_count by
11654         current_function_funcdef_no.
11655         (s390_output_constant_pool): Likewise.
11656
11657         (legitimize_pic_address): Use regs_ever_live to track PIC register
11658         instead of current_function_uses_pic_offset_table.
11659         (s390_emit_prologue): Likewise.
11660         config/s390/s390.md ("call", "call_value"): Likewise.
11661
11662 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11663
11664         * c-opts.c (find_opt): Don't complain about wrong languages
11665         here.  Return exact matches even for wrong language.
11666         (c_common_decode_option): Complain about wrong languages
11667         here.
11668
11669 2002-08-24  Stuart Hastings  <stuart@apple.com>
11670
11671         * function.h (struct function): Add flag
11672         all_throwers_are_sibcalls.
11673         * except.c (set_nothrow_function_flags): Replaces
11674         nothrow_function_p. Set new flag.
11675         * except.h (set_nothrow_function_flags): Replaces
11676         nothrow_function_p.
11677         * dwarf2out.c (struct dw_fde_struct): Add flag
11678         all_throwers_are_sibcalls.
11679         (output_call_frame_info): Test it.
11680         (dwarf2out_begin_prologue) Propagate it from cfun to
11681         dw_fde_struct.
11682         * toplev.c (rest_of_compilation): Update calls to
11683         nothrow_function_p.
11684
11685 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11686
11687         * ggc-page.c (compute_inverse): Short circuit calculation for
11688         object sizes larger than half a page.
11689
11690 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11691
11692         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11693         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11694         default.
11695         (rs6000_elf_unique_section): Likewise.
11696
11697 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11698
11699         * ns32k.c (ns32k_globalize_label): Delete.
11700         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11701
11702 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11703
11704         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11705         for loading delta with num_insns_constant_wide.  Calculate
11706         delta_low, delta_high without using a conditional.
11707
11708 2002-08-22  Jason Merrill  <jason@redhat.com>
11709
11710         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11711         * c-common.def: Adjust.
11712         * c-dump.c (c_dump_tree): Adjust.
11713         * c-semantics.c (genrtl_return_stmt): Adjust.
11714         * c-pretty-print.c (pp_c_statement): Adjust.
11715         * tree-inline.c (copy_body_r): Adjust.
11716
11717 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11718
11719         * ggc-page.c: Avoid division in ggc_set_mark.
11720         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11721         compute_inverse): New.
11722         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11723         (init_ggc): Initialize inverse_table.
11724
11725 2002-08-22  Tom Tromey  <tromey@redhat.com>
11726
11727         * doc/install.texi (Configuration): Document --datadir.
11728
11729 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11730
11731         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11732
11733 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11734
11735         * gengtype-lex.l (ID): Allow underscore as first character.
11736
11737 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11738
11739         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11740         function.
11741         (rs6000_xcoff_asm_named_section): Rename.
11742         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11743
11744 2002-08-21  Tom Tromey  <tromey@redhat.com>
11745
11746         For PR java/6005 and PR java/7611:
11747         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11748         (fold): Likewise.
11749         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11750         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11751         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11752         (LANG_HOOKS_INITIALIZER): Use it.
11753         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11754         field.
11755
11756 2002-08-21  Stan Shebs  <shebs@apple.com>
11757
11758         * tree.c (finish_vector_type): Fix a typo in a comment.
11759         * Makefile.in: Fix "the the" stutters in comments.
11760         * genautomata.c: Ditto.
11761         * ifcvt.c: Ditto.
11762         * regrename.c: Ditto.
11763         * config/alpha/alpha.c: Ditto.
11764         * config/alpha/vms-crt0-64.c: Ditto.
11765         * config/alpha/vms-crt0.c: Ditto.
11766         * config/alpha/vms-psxcrt0-64.c: Ditto.
11767         * config/alpha/vms-psxcrt0.c: Ditto.
11768         * config/d30v/d30v.h: Ditto.
11769         * config/fr30/fr30.h: Ditto.
11770         * config/rs6000/rs6000.c: Ditto.
11771         * config/stormy16/stormy16.h: Ditto.
11772         * doc/md.texi: Ditto.
11773
11774 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11775
11776         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11777
11778 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11779
11780         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11781         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11782         Also make duplicate modifiers such as "short short" into hard
11783         errors.
11784
11785 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11786             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11787
11788         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11789         to the actual end.  Add '@end table' and '@table @code'.
11790
11791 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11792
11793         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11794
11795         * unroll.c (biv_total_increment): Don't try to compute the total
11796         increment for FP BIVs.
11797
11798 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11799
11800         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11801         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11802         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11803         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11804         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11805         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11806         (GLOBAL_ASM_OP): Define.
11807         * arm.c (aof_globalize_label): New function.
11808         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11809         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11810         * c4x.c (c4x_globalize_label): New function.
11811         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11812         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11813         (GLOBAL_ASM_OP): Define.
11814         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11815         * darwin-protos.h (darwin_globalize_label): Declare.
11816         * darwin.c (darwin_globalize_label): New function.
11817         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11818         (ASM_GLOBALIZE_LABEL): Delete.
11819         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11820         * dsp16xx.c (asm_output_common): Use target hook.
11821         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11822         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11823         (GLOBAL_ASM_OP): Define.
11824         * i370.c (i370_globalize_label): New function.
11825         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11826         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11827         * i386.c (ix86_asm_file_end): Use target hook.
11828         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11829         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11830         * ia64.c (ia64_asm_output_external): Likewise.
11831         * ia64/sysv4.h: Update comment.
11832         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11833         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11834         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11835         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11836         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11837         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11838         * mmix.c (mmix_asm_globalize_label): Likewise.
11839         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11840         (GLOBAL_ASM_OP): Define.
11841         * ns32k.c (ns32k_globalize_label): New function.
11842         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11843         (ASM_GLOBALIZE_LABEL): Delete.
11844         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11845         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11846         * pa.c (pa_globalize_label): New function.
11847         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11848         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11849         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11850         (GLOBAL_ASM_OP): Define.
11851         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11852         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11853         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11854         (GLOBAL_ASM_OP): Define.
11855         * v850.c (v850_output_aligned_bss): Use target hook.
11856         * vax.c (vms_globalize_label): New function.
11857         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11858         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11859         (GLOBAL_ASM_OP): Define.
11860         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11861         * doc/tm.texi: Update docs.
11862         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11863         target hook.
11864         * final.c (output_alternate_entry_point): Likewise.
11865         * hooks.c (hook_FILEptr_constcharptr_void): New function.
11866         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11867         * output.h (assemble_global): Delete.
11868         (default_globalize_label): Declare.
11869         * system.h (ASM_GLOBALIZE_LABEL): Poison.
11870         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11871         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
11872         * target.h (gcc_target): Add globalize_label member.
11873         * varasm.c (asm_output_bss, asm_output_aligned_bss,
11874         globalize_decl): Use target hook.
11875         (assemble_global): Delete.
11876         (default_globalize_label): New function.
11877
11878 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11879
11880         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
11881
11882 2002-08-20  Devang Patel  <dpatel@apple.com>
11883         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
11884
11885 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11886
11887         * arc.c (output_shift): Use stdio instead of asm_fprintf.
11888         * arm.c (thumb_output_function_prologue): Likewise.
11889         * avr.c (print_operand): Likewise.
11890         * c4x.c (c4x_print_operand): Likewise.
11891         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
11892         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11893         * cris.c (cris_target_asm_function_prologue,
11894         cris_asm_output_mi_thunk): Likewise.
11895         * h8300.c (print_operand): Likewise.
11896         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11897         * ip2k.c (print_operand): Likewise.  Fix format specifier.
11898         * m68hc11.c (asm_print_register, print_operand,
11899         print_operand_address): Use stdio instead of asm_fprintf.
11900         (print_operand_address): Fix format specifier.
11901         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
11902         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
11903         asm_fprintf.
11904         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11905         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11906         * m68k.c (m68k_output_function_prologue,
11907         m68k_output_function_epilogue, print_operand): Likewise.
11908         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
11909         Likewise.  Fix format specifier.
11910         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11911         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11912         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11913
11914 2002-08-15  Eric Christopher  <echristo@redhat.com>
11915             Jeff Knaggs  <jknaggs@redhat.com>
11916
11917         * config.gcc (mipsisa64sr71k-elf): New target.
11918         * config/mips/sr71k.md: New file.
11919         * config/mips/mips.md: Use it.
11920         (rot*): Add sr71k specifics.
11921         * config/mips/t-sr71k: New file.
11922         * config/mips/mips.h (sr71k): New cpu.
11923         (TARGET_SR71K): Use it.
11924         (TUNE_SR71K): Ditto.
11925         (GENERATE_BRANCHLIKELY): Ditto.
11926         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
11927         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
11928         * config/mips/mips.c (sr71k): New cpu.
11929         (mips_use_dfa_pipeline_interface): Use.
11930
11931 2002-08-15  Eric Christopher  <echristo@redhat.com>
11932             Richard Sandiford <rsandifo@redhat.com>
11933             Aldy Hernandez  <aldyh@redhat.com>
11934             Graham Stott    <grahams@redhat.com>
11935             Michael Meissner  <meissner@redhat.com>
11936             Gavin Romig-Koch  <gavin@redhat.com>
11937             Ken Raeburn  <raeburn@cygnus.com>
11938             Alexandre Oliva <aoliva@redhat.com>
11939
11940         * config.gcc (mips64vr-elf): New target.
11941         * config/mips/5400.md: New file.
11942         * config/mips/5500.md: Ditto.
11943         * config/mips/mips.md: Use them.
11944         (frsqrt): New.
11945         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
11946         cpus.
11947         (mips_issue_rate): Use them.
11948         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
11949         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
11950         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
11951         cpus.
11952         (TARGET_MIPSx): Use them.
11953         (TUNE_MIPSx): Ditto.
11954         (GETNATE_MULT3_SI): Ditto.
11955         (ISA_HAS_BRANCHLIKELY): Ditto.
11956         (ISA_HAS_CONDMOVE): Ditto.
11957         (ISA_HAS_NMADD_NMSUB): Ditto.
11958         (ISA_HAS_MULHI): New. Ditto.
11959         (ISA_HAS_MULS): Ditto.
11960         (ISA_HAS_MSAC): Ditto.
11961         (ISA_HAS_MACC): Ditto.
11962         (ISA_HAS_ROTR_SI): Ditto.
11963         (ISA_HAS_ROTR_DI): Ditto.
11964         (RTX_COSTS): Use.
11965
11966 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11967
11968         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
11969         at head.
11970         (remove_dup_nonsys_dirs): New function.
11971         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
11972         (merge_include_chains): Remove non-system include directories from
11973         quote and bracket include chains when they duplicate equivalent system
11974         directories.
11975         * doc/cpp.texi (-I): Update.
11976         * doc/cppopts.texi (-I): Update.
11977         * doc/install.texi (--with-local-prefix): Further document usage of
11978         this option.
11979         * doc/invoke.texi (-I): Update.
11980
11981 2002-08-20  Richard Henderson  <rth@redhat.com>
11982
11983         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
11984         (emit_block_move): Split out subroutines.
11985         (emit_block_move_via_movstr): New.
11986         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
11987         (emit_block_move_libcall_fn): New.  Construct function prototype for
11988         bcopy as well.
11989         (clear_storage): Split out subroutines.
11990         (clear_storage_via_clrstr): New.
11991         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
11992         (clear_storage_libcall_fn): New.  Construct function prototype for
11993         bzero as well.
11994         (emit_push_insn): Use emit_block_move.
11995         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
11996         (store_constructor): Likewise.
11997
11998 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
11999
12000         * objc/objc-act.c (building_objc_message_expr): Rename to
12001         current_objc_message_selector.
12002
12003 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12004
12005         * objc/objc-act.c (build_ivar_chain): Remove.
12006         (objc_copy_list): Likewise.
12007         (get_class_ivars): Inline call to removed build_ivar_chain
12008         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12009         slot; use that slot (rather than CLASS_IVARS) when accessing
12010         ivars for base classes.  Call copy_list and chainon instead of
12011         objc_copy_list.
12012         (build_private_template): Call get_class_ivars instead of
12013         build_ivar_chain.
12014         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12015         (continue_class): Call get_class_ivars instead of
12016         build_ivar_chain.
12017         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12018         of DECL_BIT_FIELD (which may have been cleared).
12019         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12020
12021 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12022
12023         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12024         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12025         in output file.
12026         (output_internal_min_issue_delay_func): Initialize variable in
12027         output file.
12028
12029 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12030
12031         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12032         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12033
12034 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12035             Steve Ellcey  <sje@cup.hp.com>
12036
12037         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12038         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12039         * explow.c (trunc_int_for_mode): Abort when the mode is not
12040         a scaler integer mode.
12041         * combine.c (expand_compound_operation): Don't expand Vector
12042         or Complex modes into shifts.
12043         (expand_field_assignment): Don't do bitwise arithmatic and
12044         shifts on Vector or Complex modes.
12045         (simplify_comparison): Don't call trunc_int_for_mode
12046         for VOIDmode.
12047         * recog.c (general_operand): Likewise.
12048         (immediate_operand): Likewise.
12049         (nonmemory_operand): Likewise.
12050
12051 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12052
12053         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12054         multi-instruction SImode constant.  Add REG_EQUAL note.
12055         * config/rs6000/rs6000.md (movsi splitter): Use
12056         rs6000_emit_set_const.
12057
12058 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12059
12060         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12061         the macro test controlling its use.
12062
12063 2002-08-18  H.J. Lu  (hjl@gnu.org)
12064
12065         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12066         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12067         gnu_ld=yes.
12068         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12069         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12070         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12071         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12072         here.
12073         (cris-*-linux*): Remove setting thread_file here.
12074
12075 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12076
12077         PR preprocessor/7602
12078         * cppinit.c (path_include): Treat the system environment
12079         variables as being cxx_aware.
12080
12081 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12082
12083         * c-decl.c (flexible_array_type_p): New function.
12084         (grokdeclarator, finish_struct): Use it.
12085         * doc/extend.texi: Document constraints on use of structures with
12086         flexible array members.
12087
12088 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12089
12090         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12091         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12092         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12093
12094 2002-08-16  Stan Shebs  <shebs@apple.com>
12095
12096         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12097         for ObjC with -fnext-runtime.
12098         * doc/cpp.texi: Document it.
12099
12100 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12101
12102         * doc/install.texi (Final installation): Replace links to individual
12103         build status pages with a link to a common page that lists them all.
12104
12105 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12106
12107         * doc/invoke.texi: Fix typo.
12108
12109 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12110
12111         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12112
12113 2002-08-16  Andrew Haley  <aph@redhat.com>
12114
12115         * tree-inline.c: Add includes for Java inliner.
12116         (remap_decl): Don't handle anonymous types for Java.
12117         (remap_block): Add handling for Java trees.
12118         (copy_scope_stmt): Conditionalize for non-Java use only.
12119         (copy_body_r): Handle Java trees.  Add handling for
12120         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12121         (initialize_inlined_parameters):  Handle Java trees.
12122         (declare_return_variable): Likewise.
12123         (expand_call_inline): Handle Java trees.
12124         (walk_tree): Likewise.
12125         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12126         (add_stmt_to_compound): New function.
12127
12128 2002-08-15  Richard Henderson  <rth@redhat.com>
12129
12130         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12131         (NOCOMMON_FLAG): New substitution point.
12132         (GCC_WARN_CFLAGS): Include it.
12133         * configure.in (ac_checking): Set nocommon_flag.
12134         (nocommon_flag): New substitution point.
12135
12136 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12137
12138         * c-tree.h (skip_evaluation): Move declaration...
12139         * c-common.h: ... here.
12140         * c-typeck.c (build_external_ref): Don't assemble_external nor
12141         mark a tree as used if skip_evaluation is set.
12142         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12143         around TYPEOF.
12144         (typespec_nonreserved_nonattr): Use it.
12145
12146 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12147
12148         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12149         (xcoff_debug_hooks): Update end_prologue.
12150         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12151         * debug.h (end_prologue): Add file arg.
12152         (end_epilogue): Add line and file args.
12153         (dwarf2out_end_epilogue): Add line and file args.
12154         (vmsdbgout_after_prologue): Remove.
12155         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12156         (dwarf2_debug_hooks): Update end_prologue.
12157         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12158         (dwarfout_end_prologue): Add file arg.
12159         * final.c (vmsdbgout_after_prologue): Remove
12160         (final_end_function): Update end_epilogue call.
12161         (final_scan_insn): Update end_prologue call.
12162         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12163         (sdbout_end_prologue): Add file arg.
12164         (sdb_debug_hooks): Update end_prologue.
12165         (sdb_begin_prologue): Update sdbout_end_prologue call.
12166         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12167         vmsdbgout_end_function.
12168         (vmsdbgout_end_prologue): New function renamed from
12169         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12170         (vmsdbgout_end_function): New function.
12171         (vmsdbgout_end_epilogue): Add line and file args. Call
12172         vmsdbgout_source_line.
12173         (write_pclines): Write only valid line numbers.
12174         (write_srccorr): Don't write source correlation records if 0 lines.
12175         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12176
12177 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12178
12179         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12180         (_Unwind_Internal_Ptr): 32 bit version for use in
12181         read_encoded_value_with_base.
12182         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12183         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12184         right size.
12185
12186 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12187
12188         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12189         signed/unsigned warnings.
12190
12191         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12192         record_reg_classes): Likewise.
12193
12194         * reload.c (reload_inner_reg_of_subreg, push_reload,
12195         find_reloads_address_1): Likewise.
12196
12197 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12198
12199         * rs6000.c (output_mi_thunk): Return to function section on
12200         TARGET_ELF.
12201
12202         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12203
12204 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12205
12206         * config/s390/s390.c (legitimize_address): Optimize loading
12207         of large displacements.
12208
12209 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12210
12211         * config/alpha/alpha-protos.h: Update.
12212
12213         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12214         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12215         (alpha_linkage_symbol_p): New static function.
12216         (print_operand_address): Print linkage operand.
12217
12218         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12219         variables.
12220         (reloc_kind): New enum.
12221         (struct alpha_funcs): New struct.
12222         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12223
12224         (alpha_need_linkage): Rewrite.
12225         (alpha_use_linkage): New global function.
12226         (alpha_write_linkage): Rewrite and make static.
12227         (alpha_write_one_linkage): Rewrite
12228
12229         (alpha_start_function): Remove procedure descriptor output.
12230         (alpha_end_function): Write linkages at end of each function.
12231
12232         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12233         (call_vms_1, call_value_vms_1): Rewrite.
12234
12235         * config/alpha/vms.h (ASM_FILE_END): Remove.
12236
12237 2002-08-14  Richard Henderson  <rth@redhat.com>
12238
12239         * ggc-page.c (RTL_SIZE): New.
12240         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12241         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12242
12243 2002-08-14  Richard Henderson  <rth@redhat.com>
12244
12245         * calls.c: Include target.h.
12246         * Makefile.in (calls.o): Update.
12247
12248         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12249         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12250
12251 2002-08-14  Richard Henderson  <rth@redhat.com>
12252
12253         * Makefile.in (LOOSE_WARN): Add -fno-common.
12254         * c-common.h (constant_string_class_name): Add missing extern.
12255
12256 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12257
12258         PR preprocessor/7358
12259         * c-opts.c (check_deps_environment_vars): Ignore main file
12260         for SUNPRO_DEPENDENCIES.
12261         * cppfiles.c (stack_include_file): Ignore main file if
12262         appropriate.
12263         * cpplib.h (struct cpp_options): New member in deps.
12264         * doc/cppenv.texi: Update.
12265
12266 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12267
12268         PR preprocessor/7526
12269         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12270
12271 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12272
12273         * doc/invoke.texi (-a): Remove documentation.
12274         (-fprofile-arcs): Remove reference to -a, -ax options.
12275         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12276
12277 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12278
12279         Fix PR/7566
12280         * c-semantics.c (genrtl_case_label): Don't (mis)use
12281         warning_with_decl.
12282
12283 2002-08-14  Dale Johannesen  <dalej@apple.com>
12284
12285         * explow.c (emit_stack_restore):  Emit memory clobbers
12286         preceding the stack pop, to prevent the scheduler from
12287         moving refs to variable arrays below this pop.
12288         * reload1.c (reload):  Preserve these clobbers for sched2.
12289         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12290
12291 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12292
12293         * c-opts.c (c_common_post_options): Correct test.
12294
12295 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12296
12297         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12298         order in call to fprintf.
12299
12300 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12301
12302         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12303
12304 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12305
12306         * reload.c (find_reloads): Handle constraint letters marked by
12307         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12308         (alternative_allows_memconst): Likewise.
12309         * reload1.c (maybe_fix_stack_asms): Likewise.
12310         * recog.c (asm_operand_ok, preprocess_constraints,
12311         constrain_operands): Likewise.
12312         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12313         * local-alloc.c (block_alloc, requires_inout): Likewise.
12314         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12315
12316         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12317         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12318         * doc/tm.texi: Document these two new target macros.
12319
12320         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12321         valid operands.
12322         (q_constraint): New function.
12323         config/s390/s390-protos.h (q_constraint): Declare it.
12324         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12325         (EXTRA_MEMORY_CONSTRAINT): New macro.
12326
12327         * config/s390/s390.md: Throughout the machine description,
12328         replace all instances of the constraint combinations 'Qo'
12329         or 'oQ' with simply 'Q'.
12330
12331 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12332
12333         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12334         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12335         (LIBGCC2_CFLAGS): Compile with -mrelax.
12336
12337 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12338
12339         * doc/invoke.texi: Document -minmax for 68HC12.
12340
12341         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12342         ("uminqi3"): Likewise.
12343         ("uminhi3", "umaxhi3"): Likewise.
12344
12345         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12346         (TARGET_MIN_MAX): Define.
12347         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12348
12349 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12350
12351         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12352         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12353
12354         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12355         (ret, declare, farsym): New gas macros.
12356         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12357         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12358         and declare the symbol far when compiled with -mlong-calls.
12359         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12360         far handler using jsr/bsr.
12361
12362         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12363         (jsr): New macro to transform a 'jsr' into a 'call'.
12364
12365 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12366
12367         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12368
12369         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12370         -mlong-calls is specified.
12371         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12372         assembler directives.
12373         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12374         (TARGET_SWITCHES): Add -mlong-calls options.
12375         (current_function_far): Declare.
12376
12377         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12378         into account the page register saved on the stack.
12379         (m68hc11_override_options): Take into account -mlong-calls option.
12380         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12381
12382         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12383         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12384         ("*return_16bit"): Likewise.
12385         ("*return_void"): Likewise.
12386         ("call", "call_value"): Use call for a far function call.
12387
12388 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12389
12390         * toplev.c (parse_options_and_default_flags): Don't call
12391         post_options here.
12392         (general_init): Initialize GC, pools and tree hash here,
12393         instead of lang_independent_init.
12394         (lang_independent_init): Rename backend_init.
12395         (do_compile): Call post_options hook; exit early if there
12396         have been errors after switch processing.
12397         (toplev_main): Update.
12398
12399 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12400
12401         * c-pretty-print.h: Guard against multiple inclusion.
12402         Robustify macros.
12403         (pp_c_attributes): Declare.
12404         * c-pretty-print.c (pp_c_attributes): New function.
12405
12406 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12407
12408         * m68k.c (m68k_output_function_prologue,
12409         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12410         and NEWS/MOTOROLA.
12411         * genattrtab.c: Remove dpx2 comment.
12412         * libgcc2.c (__enable_execute_stack): Delete versions for
12413         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12414         sony_news/SYSTYPE_BSD.
12415         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12416         __gmicro__, __i860__, __NeXT__ and __pyr__.
12417         * rtl.h: Remove convex comment.
12418         * varasm.c: Likewise.
12419
12420 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12421
12422         * c-opts.c (lang_flags): Const-ify.
12423         * ra-build.c (undef_table): Likewise.
12424         * ra.c (eliminables): Likewise.
12425
12426 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12427
12428         * tree.h: Guard against multiple inclusion.
12429
12430 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12431
12432         * reload1.c (reload_cse_simplify): Before checking
12433         REG_FUNCTION_VALUE_P, check REG_P.
12434
12435 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12436
12437         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12438
12439 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12440
12441         * c-opts.c (c_common_init_options): Extra braces needed.
12442
12443 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12444
12445         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12446         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12447         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12448         (sh_expand_binop_v2sf): Likewise.
12449         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12450         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12451         (sh_initialize_trampoline): Likewise.
12452
12453 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12454
12455         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12456         new condition code modes.
12457         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12458         (s390_select_ccmode): Likewise.
12459         (s390_branch_condition_mask): Likewise.
12460
12461         * s390-protos.h (s390_tm_ccmode): Declare.
12462         s390.c (s390_tm_ccmode): New function.
12463         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12464
12465         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12466         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12467         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12468
12469         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12470         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12471         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12472         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12473         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12474
12475         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12476         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12477         "*cmpqi_ccs_0"): Remove, replace by ...
12478         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12479         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12480         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12481
12482         ("*cmpsidi_ccs"): Remove, replace by ...
12483         ("*cmpsi_ccs_sign"): ... this new pattern.
12484         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12485
12486         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12487         ("*cli"): ... this new pattern.
12488
12489         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12490         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12491         New patterns.
12492         ("adddi3_64"): Rename to "*adddi3_64".
12493         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12494         ("adddi3"): Adapt expander.
12495
12496         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12497         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12498         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12499
12500         ("addhi3", "addqi3"): Remove, replace by ...
12501         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12502
12503         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12504         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12505         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12506         ("subdi3"): New expander.
12507
12508         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12509
12510         ("subhi3", "subqi3"): Remove, replace by ...
12511         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12512
12513         ("*muldi3_sign"): New pattern.
12514         ("muldi3"): Do not clobber CC.
12515         ("mulsi3"): Likewise.
12516         ("mulsi_6432"): Likewise.
12517
12518 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12519
12520         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12521         which can change CC0.
12522
12523 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12524
12525         * gcse.c (adjust_libcall_notes): New function.
12526         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12527
12528 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12529
12530         * libgcc2.c (L_bb): Remove unneeded #includes.
12531         (__global_counters, __gthreads_active): Remove unused globals.
12532         (__bb_exit_func): Merge counts into files rather than appending.
12533         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12534         (ALL_CFLAGS): ... to here.
12535
12536 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12537
12538         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12539         (function_epilogue): Don't calculate function size.
12540         (ip2k_set_compare): Don't use lookup_const_double.
12541         (asm_file_start): Initialization of commands_in_file removed.
12542         (asm_file_end): Output of commands_in_file removed.
12543
12544         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12545         __INT_MAX__.
12546
12547 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12548
12549         * c-opts.c (c_common_init_options): Check option array is
12550         sorted if checking enabled.
12551
12552 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12553
12554         * c-pretty-print.c: #include "c-tree.h".
12555         (pp_c_simple_type_specifier): Tweak.
12556         (pp_c_storage_class_specifier): New.
12557         (pp_c_function_specifier): Likewise.
12558         (pp_c_declaration_specifiers): Likewise.
12559         (pp_c_init_declarator): Likewise.
12560         (pp_c_declaration): Likewise.
12561         (pp_c_direct_declarator): Stub.
12562         (pp_c_declarator): Likewise.
12563         (pp_c_parameter_declaration): Likewise.
12564
12565 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12566
12567         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12568         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12569         struct deferred_opt): New.
12570         (COMMAND_LINE_OPTIONS): Add -M*.
12571         (missing_arg): Update.
12572         (c_common_decode_option): Handle -M*.
12573         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12574         don't call cpp_post_options.
12575         (c_common_finish, check_deps_environment_vars): Update.
12576         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12577         * cpphash.h (CPP_PRINT_DEPS): Remove.
12578         * cppinit.c: Don't include version.h.
12579         (cpp_create_reader): Don't call deps_init.  Initialize
12580         warn_long_long.
12581         (cpp_read_main_file): Init deps if necessary.
12582         (cpp_destroy): Conditionally free deps.
12583         (cpp_finish): Update.
12584         (no_tgt): Remove.
12585         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12586         (cpp_post_options): Rename post_options.
12587         * cpplib.h (struct cpp_options): Remove some dependency options;
12588         move others to a new structure.
12589         (cpp_post_options): Remove.
12590         (cpp_finish): Comment.
12591         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12592
12593 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12594
12595         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12596         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12597         MMIX_rR_REGNUM as clobbered.
12598         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12599
12600 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12601
12602         * diagnostic.h (output_formatted_scalar): Rename from
12603         output_formatted_integer.
12604         * diagnostic.def: Add DK_DEBUG.
12605         * diagnostic.c (output_decimal): Adjust.
12606         (output_long_decimal): Likewise.
12607         (output_unsigned_decimal): Likewise.
12608         (output_octal): Likewise.
12609         (output_long_octal): Likewise.
12610         (output_hexadecimal): Likewise.
12611         (output_long_hexadecimal): Likewise.
12612         * c-pretty-print.c (pp_c_type_specifier): New function.
12613         (pp_c_specifier_qualifier_list): Likewise.
12614         (pp_c_abstract_declarator): Likewise.
12615         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12616
12617 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12618
12619         * doc/trouble.texi (Disappointments): Add static constructor and
12620         destructor dependency information for AIX.
12621
12622 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12623
12624         * cpphash.h (struct printer): New from cppmain.c.
12625         (cpp_reader): New member.
12626         * cppmain.c (struct printer): Move to cpphash.h.
12627         (options, print): Remove.
12628         (account_for_newlines, print_line, maybe_print_line,
12629         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12630         scan_translation_unit_trad, cb_line_change, cb_ident,
12631         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12632         cb_def_pragma): Make reentrant.
12633
12634 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12635
12636         * real.c (ieee_64): Always define.
12637         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12638         (dec_h): Not used yet, hide it.
12639         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12640         macro controlling use.
12641         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12642
12643 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12644
12645         * i386.md (tablejump): Sign extend the operand.
12646         * i386.c (classify_argument): Fix missed case from previous patch.
12647
12648 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12649
12650         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12651         to c-copts.c.
12652         (warn_multichar): Die.
12653         (cb_register_builtins): Export.
12654         * c-common.h (warn_multichar, preprocess_file): Remove.
12655         (cb_register_builtins): New.
12656         * c-lang.c (c_init): Remove.
12657         (LANG_HOOKS_INIT): Use c_objc_common_init.
12658         * c-lex.c (init_c_lex): Don't canonicalize filename.
12659         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12660         (preprocess_file): Make static.  Update for cpplib.
12661         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12662         (c_common_post_options): Set some cpp options here.
12663         (c_common_init): Move from c-common.c.
12664         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12665         * cpplib.h (struct cpp_options): Remove in_fname.
12666         (cpp_preprocess_file): Update.
12667         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12668
12669 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12670
12671         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12672
12673 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12674
12675         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12676         backslash in comment preceeding macro definition.
12677         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12678         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12679         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12680
12681 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12682
12683         * expr.c (store_expr): In condition for checking if value is
12684         generated in TARGET, move call to expr_size last.
12685
12686 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12687
12688         * c-common.c (c_common_init): Call preprocess_file instead.
12689         (c_common_finish): Move to c-opts.c.
12690         * c-common.h (preprocess_file): new.
12691         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12692         check_deps_environment_vars, c_common_finish): New.
12693         (c_common_decode_option): Update for out_fname and dependencies.
12694         * cppinit.c (init_dependency_output, output_deps): Remove.
12695         (cpp_destroy): Update prototype.
12696         (cpp_add_dependency_target): New.
12697         (cpp_read_main_file): Don't overlay a buffer.
12698         (cpp_finish): Take a deps output stream and write deps to it.
12699         Return the error count.
12700         (cpp_post_options): Don't canonicalize out_fname, or do anything
12701         with dependencies.
12702         * cpplib.h (struct cpp_options): Remove out_fname and
12703         preprocess_only.
12704         (cpp_add_dependency_target): New.
12705         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12706         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12707         set preprocess_only.  Don't handle the output stream directly.
12708
12709 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12710
12711         * dsp16xx.c (print_operand): Fix format specifier.
12712         * dsp16xx.md: Avoid automatic aggregate initialization.
12713         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12714         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12715         integer constant modifier.
12716         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12717         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12718         guards.
12719         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12720         * v850.c (v850_select_section): Mark parameter with
12721         ATTRIBUTE_UNUSED.
12722         * global.c (global_alloc): Const-ify.
12723         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12724
12725 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12726
12727         * darwin-c.c (darwin_pragma_options): Const-ify.
12728         * darwin.c (machopic_non_lazy_ptr_name,
12729         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12730         (machopic_indirect_data_reference): Wrap variables in macros
12731         controlling their use.
12732         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12733         (machopic_select_section): Use parentheses around && within ||.
12734         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12735
12736 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12737
12738         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12739         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12740         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12741         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12742         mdr_try_remove_redundant_insns, track_w_reload,
12743         mdr_try_wreg_elim): Make function static to match prototype.
12744         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12745         parameter with ATTRIBUTE_UNUSED.
12746
12747 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12748
12749         * arc.c (arc_init): Don't use ISO C style function definitions.
12750         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12751         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12752         * avr.h (progmem_section): Likewise.
12753         * h8300.c h8300_asm_insn_count): Likewise.
12754         * m32r.c (init_idents): Likewise.
12755         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12756         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12757         * xtensa.c (xtensa_build_va_list): Likewise.
12758
12759 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12760
12761         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12762         * c-opts.c (parse_option): Rename find_opt.
12763         (set_std_c99): New function.
12764         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12765         (missing_arg): Remove OPT_std_bad.  Handle -o.
12766         (c_common_decode_option): Handle input and output file names,
12767         -o and -remap.  Clean up -std= handling.
12768         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12769         (cpp_handle_option): Similarly.  Don't handle filenames.
12770
12771 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12772
12773         * i386.c (classify_argument): Fix computing of field's offsets.
12774
12775 2002-08-11  Andreas Jaeger  <aj@suse.de>
12776
12777         PR target/7531:
12778         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12779
12780 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12781
12782         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12783         reference to clk_objective_c with flag_objc.
12784         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12785         Likewise.
12786         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12787
12788 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12789
12790         * c-opts.c (set_std_cxx98, set_std_c89): New.
12791         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12792         (c_common_decode_option): Handle new switches from cppinit.c.
12793         Add -std=gnu++98.
12794         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12795         (no_arg, no_num): Remove.
12796         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12797         switches apart from -lang-objc and lang-asm.
12798         (cpp_handle_option): Similarly.
12799         * cpplib.h (cpp_set_lang): New.
12800         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12801         -std=gnu++98.
12802         * objc/lang-specs.h: Remove -ansi.
12803
12804 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12805                                Graham Stott
12806
12807         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12808         errors.
12809
12810 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12811
12812         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12813         emit_jump_insn): Fix uninitialized variable.
12814         * gcov.c (init_line_info): Likewise.
12815         * genautomata.c (transform_3): Add braces around ambiguous
12816         else.
12817         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12818         ATTRIBUTE_UNUSED.
12819         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12820         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12821         variable.
12822
12823         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12824         warnings in output files.
12825
12826 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12827
12828         * c-common.c (flag_objc): New.
12829         * c-common.h (c_language_kind): Get rid of clk_objective_c
12830         enum value.
12831         (flag_objc): New extern declaration.
12832         * c-decl.c (implicitly_declare): Call objc_check_decl
12833         instead of maybe_objc_check_decl.
12834         (finish_decl): Likewise.
12835         (grokfield): Likewise.
12836         (finish_struct): Likewise.
12837         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12838         (maybe_objc_comptypes): Rename to objc_comptypes.
12839         (maybe_building_objc_message_expr): Rename to
12840         objc_message_selector.
12841         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12842         replace with flag_objc as needed.
12843         * c-opts.c (c_common_init_options): Likewise.
12844         (c_common_decode_option): Likewise.
12845         * c-parse.in (init_reswords): Likewise.
12846         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12847         (maybe_objc_comptypes): Rename to objc_comptypes.
12848         (maybe_building_objc_message_expr): Rename to
12849         objc_message_selector.
12850         * c-typeck.c (comptypes): Call objc_comptypes instead of
12851         maybe_objc_comptypes, and/or objc_message_selector instead of
12852         maybe_building_objc_message_expr.
12853         (comp_target_types): Likewise.
12854         (convert_for_assignment): Likewise.
12855         (warn_for_assignment): Likewise.
12856         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12857         independently of those for other languages.
12858         * objc/objc-act.c (maybe_objc_comptypes): Delete.
12859         (maybe_objc_check_decl): Delete.
12860         (maybe_building_objc_message_expr): Rename to
12861         objc_message_selector.
12862         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12863         clk_objective_c; set flag_objc flag.
12864
12865 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12866
12867         * ifcvt.c (find_if_case_2): Test correct basic block for size.
12868
12869 2002-08-09  Dale Johannesen  <dalej@apple.com>
12870
12871         * config/rs6000/rs6000.md: Add sibcall patterns.
12872         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
12873         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
12874         Rewritten to handle sibcalls.
12875         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
12876         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
12877
12878 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12879
12880         * profile.c (da_file_name): New static var.
12881         (init_branch_prob): Initialize it.
12882         (end_branch_prob): Remove da file.
12883
12884         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
12885         * configure.in (coverage_flags): Default to nothing.
12886         * configure: Rebuilt.
12887
12888 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
12889
12890         * Makefile.in (c-opts.o): Update
12891         * c-opts.c: Include intl.h.
12892         (print_help): Move from cppinit.c.  Remove unused options.
12893         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12894         (missing_arg): Complain for switches without an argument.
12895         (c_common_decode_option): Reject missing joined arguments.
12896         Handle new switches from cppinit.c.
12897         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12898         (cpp_handle_option): Similarly.
12899         (print_help): Moved to c-opts.c.
12900         * cpplib.h (struct cpp_options): Remove help_only.
12901         * gcc.c (cpp_unique_options): Remove -$.
12902         * doc/cppopts.texi: Undocument -h.
12903
12904 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12905
12906         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
12907         legitimate constant.
12908         (legitimate_pic_operand_p): Neither pic operand.
12909         (legitimate_address_p): But legitimate address.
12910         (get_thread_pointer): Generate MEM/u instead of CONST around
12911         UNSPEC_TP.
12912         (print_operand): Remove printing of UNSPEC_TP.
12913         (print_operand_address): And print it here.
12914
12915 2002-08-08  Devang Patel  <dpatel@apple.com>
12916
12917         * objc/objc-act.c (build_selector_translation_table): Issue warning,
12918         when  -Wselector is used,if method for which selector is being
12919         created does not exist.
12920
12921 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
12922
12923         * config/sh/sh.c (prepare_move_operands): Only call
12924         target_reg_operand if TARGET_SHMEDIA.
12925
12926 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12927
12928         * config/rs6000/rs6000.h, config/rs6000/aix.h,
12929         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
12930         two patches.
12931         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
12932
12933 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
12934             Richard Henderson  <rth@redhat.com>
12935
12936         * emit-rtl.c (gen_rtx_REG): After reload, only return
12937         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
12938
12939 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12940
12941         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
12942         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
12943         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
12944         macro.
12945
12946 2002-08-08  Adam Nemet  <anemet@lnxw.com>
12947
12948         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
12949         register.
12950         (thumb_expand_prologue): Likewise.
12951         (thumb_output_function_prologue): Likewise.
12952         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
12953         the additional push of the PIC register.
12954
12955 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12956
12957         * configure.in (enable_coverage): New enable switch.
12958         * configure: Rebuilt.
12959         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
12960         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
12961         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
12962         (mostlyclean): Remove coverage files.
12963         * doc/install.texi: Document enable_coverage.
12964
12965         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
12966         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12967         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
12968         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
12969         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
12970         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
12971         files.
12972
12973 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
12974
12975         * c-opts.c (cpp_opts): New.
12976         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
12977         (c_common_decode_options): Handle cpplib switches.
12978         (c_common_init_options): Set cpp_opts.
12979         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12980         (cpp_handle_option): Similarly.
12981
12982 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
12983
12984         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
12985         (TARGET_ALTIVEC_ABI): Same.
12986         (TARGET_ALTIVEC_VRSAVE): Same.
12987
12988         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
12989         icode not CODE_FOR_nothing.  Change switch to if.
12990
12991 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
12992
12993         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
12994
12995 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12996
12997         * stor-layout.c (place_union_field): For bitfields if
12998         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
12999         TYPE_USER_ALIGN.
13000
13001 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13002
13003         * pa.c (struct deferred_plabel): Constify name field.
13004
13005 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13006
13007         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13008
13009 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13010
13011         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13012         local_prefix are the same.
13013         * configure: Rebuilt.
13014
13015 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13016             Richard Henderson  <rth@redhat.com>
13017
13018         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13019         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13020         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13021         (place_field): Likewise.
13022         * config/i386/i386.c (x86_field_alignment): Don't check
13023         DECL_USER_ALIGN here.
13024         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13025         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13026         prototype.
13027         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13028         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13029         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13030         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13031         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13032         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13033
13034 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13035
13036         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13037         * c-common.c: Don't include tree-inline.h.
13038         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13039         * c-common.h (c_common_decode_option): New.
13040         * c-decl.c (c_decode_option): Remove.
13041         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13042         * c-opts.c: New file.
13043         * c-tree.h (c_decode_option): Remove.
13044         * doc/passes.texi: Update.
13045         * objc/objc-act.c (objc_decode_option): Remove.
13046         * objc/objc-act.h (objc_decode_option): Remove.
13047         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13048         c_common_decode_option.
13049
13050 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13051
13052         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13053         dependency on TARGET_DOUBLE_FLOAT.
13054
13055 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13056
13057         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13058         overwrite callee-save registers.  Fix comment.
13059
13060 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13061
13062         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13063         in target_flags based on ISA, if it was not set on the command
13064         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13065         support Branch Likely instructions.
13066         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13067         (TARGET_BRANCHLIKELY): Likewise.
13068         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13069         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13070         ISA_HAS_BRANCHLIKELY.
13071         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13072         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13073         -mno-branch-likely options.
13074
13075 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13076
13077         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13078
13079         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13080         $(GCONFIG_H).
13081
13082 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13083
13084         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13085         declarations.
13086
13087         * testsuite/gcc.dg/tls/diag-3.c: New.
13088
13089 2002-08-06  Dale Johannesen  <dalej@apple.com>
13090
13091         * c-common.c (fname_decl): Use line number 0 for
13092         __func__, to avoid confusing debuggers.
13093
13094 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13095
13096         * gcov.c: Tidy.
13097         (struct line_info, struct coverage): New structures.
13098         (gcov_file_name, gcov_file): Remove globals.
13099         (output_data): Take source file parameter. Fix memory leak. Break
13100         up into ...
13101         (init_line_info, output_line_info, make_gcov_file_name,
13102         accumulate_branch_counts): ... here.
13103         (calculate_branch_probs, function_summary): Adjust.
13104         (main): Adjust.
13105         (function_*): Remove global variables.
13106
13107 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13108
13109         * dwarf2out.c: Remove unused macros.
13110
13111 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13112
13113         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13114
13115 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13116
13117         * cppinit.c (struct lang_flags): Rename trigraphs std.
13118         (set_lang): Update.
13119         * cpplib.h (struct cpp_options): New member std.
13120         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13121         (collect_args): Flag whether to swallow a possible future
13122         comma pasted with varargs.
13123         (replace_args): Use this flag.
13124         * doc/cpp.texi: Update varargs extension documentation.
13125
13126 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13127
13128         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13129
13130 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13131
13132         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13133         and MODE_CLASS_INT modes.
13134
13135 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13136
13137         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13138         --{enable,disable}-threads is given to configure.
13139         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13140         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13141         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13142         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13143         Remove thread_file setting here.
13144
13145 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13146
13147         * doc/install.texi (Binaries): Update Bull Freeware URL.
13148
13149 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13150
13151         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13152
13153 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13154
13155         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13156
13157 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13158
13159         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13160         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13161
13162 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13163
13164         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13165         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13166         drectve_section): Define.
13167         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13168         * config/i386/interix.c: Remove.
13169
13170 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13171
13172         * attribs.c: Don't include obstack.h.
13173         * builtins.c: Likewise.
13174         * cfganal.c: Likewise.
13175         * cfgbuild.c: Likewise.
13176         * cfgcleanup.c: Likewise.
13177         * emit-rtl.c: Likewise.
13178         * loop.c: Likewise.
13179         * stmt.c: Likewise.
13180
13181         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13182
13183 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13184
13185         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13186
13187 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13188
13189         * doc/invoke.texi: Remove duplicated paragraph describing
13190         TARGET_SWITCHES.
13191
13192 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13193
13194         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13195         * collect2.h (permanent_obstack): Delete declaration.
13196         * collect2.c (permanent_obstack): Delete definition.
13197         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13198         * expr.c: Don't include obstack.h.
13199         (permanent_obstack): Delete declaration.
13200         * function.c: Don't include obstack.h.
13201         (permanent_obstack): Delete declaration.
13202         * integrate.c: Don't include obstack.h.
13203         (function_maybepermanent_obstack): Delete declaration.
13204         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13205         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13206         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13207         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13208         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13209         of permalloc, expralloc, perm_calloc.
13210         * tree.c (permanent_obstack): Delete definition.
13211         (init_ttree): Rename from init_obstacks.
13212         (permalloc): Delete.
13213         (perm_calloc): Delete.
13214         (dump_tree_statistics): Don't print information about
13215         permanent_obstack.
13216         * varasm.c (assemble_start_function): Use xstrdup instead of
13217         permalloc/strcpy.
13218         (assemble_variable): Likewise.
13219         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13220         permalloc.
13221         (unicosmk_add_extern): Likewise.
13222         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13223         (c4x_global_label): Likewise.
13224         * config/frv/frv.c (frv_encode_section_info): Likewise.
13225         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13226         (i386_pe_record_exported_symbol): Likewise.
13227         * config/mips/mips.c (mips_output_external): Likewise.
13228         (mips_output_external_libcall): Likewise.
13229         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13230         (output_call): Use ggc_strdup instead of allocating on
13231         permanent_obstack.
13232         * config/romp/romp.c: Include ggc.h.
13233         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13234         intead of permanent_obstack.
13235         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13236         instead of permalloc.
13237         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13238         instead of permalloc
13239         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13240         instead of permalloc.
13241         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13242         permalloc.
13243
13244 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13245
13246         Contribute a port developed primarily by Michael Meissner,
13247         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13248         * config.gcc: Add frv-elf target.
13249         * config/frv/cmovd.c: New file.
13250         * config/frv/cmovh.c: New file.
13251         * config/frv/cmovw.c: New file.
13252         * config/frv/frv-abi.h: New file.
13253         * config/frv/frv-asm.h: New file.
13254         * config/frv/frv-modes.def: New file.
13255         * config/frv/frv-protos.h: New file.
13256         * config/frv/frv.c: New file.
13257         * config/frv/frv.h: New file.
13258         * config/frv/frv.md: New file.
13259         * config/frv/frvbegin.c: New file.
13260         * config/frv/frvend.c: New file.
13261         * config/frv/lib1funcs.asm: New file.
13262         * config/frv/media.h: New file.
13263         * config/frv/modi.c: New file.
13264         * config/frv/t-frv: New file.
13265         * config/frv/uitod.c: New file.
13266         * config/frv/uitof.c: New file.
13267         * config/frv/ulltod.c: New file.
13268         * config/frv/ulltof.c: New file.
13269         * config/frv/umodi.c: New file.
13270         * config/frv/xm-frv.h: New file.
13271
13272         * config/frv/media.h: Removed again.
13273
13274 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13275
13276         * gcov.c (bb_file_time): New static variable.
13277         (object_directory): May also be object file.
13278         (preserve_paths): New static variable.
13279         (print_usage): Adjust.
13280         (options): Adjust.
13281         (process_args): Adjust.
13282         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13283         file. Find modification date on bb file.
13284         (read_profile): Don't rewind a NULL file.
13285         (format_hwint): New static function.
13286         (function_summary): Use format_hwint.
13287         (output_data): SOURCE_FILE_NAME is never relative to
13288         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13289         mangling. Adjust output format to make it more machine readable.
13290         * doc/gcov.texi: Document & clarify semantics.
13291
13292 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13293
13294         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13295
13296 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13297
13298         * gcc.c (cc1_options): Pass output file as auxbase when
13299         appropriate.
13300         * profile.c (init_branch_prob): FILENAME has already had ending
13301         stripped.
13302         * final.c (end_final): Likewise.
13303         * toplev.c (aux_base_name): New global.
13304         (compile_file): Pass aux_base_name to init init_branch_prob and
13305         end_final.
13306         (independent_decode_option, case 'a'): New auxinfo options.
13307         (case 'd'): Protect against mising basename.
13308         (do_compile): Initialize aux_base_name.
13309         * toplev.h (aux_base_name): New global.
13310         * doc/invoke.texi: Adjust documentation.
13311
13312 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13313
13314         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13315         of TARGET_ALIGN_DOUBLE.
13316
13317 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13318
13319         * diagnostic.c (inform): New function.
13320         * diagnostic.h (inform): Declare.
13321
13322 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13323
13324         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13325         (movhi_internal): Same.
13326         (movqi_internal): Same.
13327         (movdi_internal64): Same.
13328
13329         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13330
13331         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13332         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13333         (COMMON_ASM_OP): Define.
13334         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13335         Use ALIGN parameter.
13336         (LOCAL_COMMON_ASM_OP): Define.
13337         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13338
13339 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13340
13341         * builtins.def: Define new builtin functions exp, expf, expl,
13342         log, logf and logl (and their __builtin_* variants).
13343         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13344         Define exp_optab and log_optab.
13345         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13346         * genopinit.c (optabs): Implement exp_optab and log_optab
13347         using exp?f2 and log?f2 patterns.
13348         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13349         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13350         (expand_builtin): Ignore the new builtins (and all cos and
13351         sin variants) when not optimizing.  Expand new builtins via
13352         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13353
13354         * doc/extend.texi: Document new exp and log builtins.
13355         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13356         (and previously undocumented cos?f2 and sin?f2 patterns).
13357
13358 2002-08-03  Jason Merrill  <jason@redhat.com>
13359
13360         * explow.c (int_expr_size): New fn.
13361         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13362         * expr.h: Declare it.
13363
13364 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13365
13366         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13367         gengtype-* dependencies.
13368
13369 2002-08-02  Eric Christopher  <echristo@redhat.com>
13370
13371         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13372         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13373         #ifndef to #undef.
13374         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13375
13376 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13377
13378         PR optimize/7067
13379         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13380         small if optimizing for size.
13381
13382 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13383
13384         * configure.in (FORBUILD): Use $build_alias.
13385         * configure: Regenerated.
13386
13387 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13388
13389         * config.gcc: Don't include mips/abi64.h in $tm_file.
13390         * hard-reg-set.h (call_really_used_regs): Declare.
13391         * config/mips/abi64.h: Remove file.
13392         * config/mips/linux.h,
13393         * config/mips/iris6.h: Don't include it.
13394         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13395         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13396         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13397         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13398         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13399         Bring across definitions from abi64.h.
13400         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13401         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13402         (struct mips_args): Use it.
13403         * config/mips/mips.c (mips_conditional_register_usage): Define.
13404
13405 2002-08-02  Jason Merrill  <jason@redhat.com>
13406
13407         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13408         * langhooks.c (lhd_expr_size): Define default.
13409         * langhooks.h (struct lang_hooks): Add expr_size.
13410         * explow.c (expr_size): Call it.
13411         * expr.c (store_expr): Don't copy an expression of size zero.
13412         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13413         to store.
13414         * Makefile.in (builtins.o): Depend on langhooks.h.
13415
13416 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13417
13418         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13419         * ra-debug.c: Include "tm_p.h".
13420         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13421
13422 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13423
13424         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13425         when not honoring signalling NaNs.
13426         (simplify_ternary_operation): a == b has a definite value
13427         when not honoring NaNs.
13428
13429 2002-08-02  Jason Merrill  <jason@redhat.com>
13430
13431         * gdbinit.in (pct): New macro.
13432
13433 2002-08-01  Stan Shebs  <shebs@apple.com>
13434             Andreas Tobler  <toa@pop.agri.ch>
13435
13436         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13437         plays nice with Darwin headers.
13438         (_BSD_RUNE_T_DEFINED_): Likewise.
13439
13440 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13441
13442         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13443         * cppinit.c (cpp_post_options): Likewise.
13444
13445         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13446         warning about 'LL' suffix (but not 'ULL' etc) when
13447         -Wno-long-long is in effect.
13448
13449         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13450         Check for failing time()/localtime(), issue a warning, and
13451         make __TIME__ and __DATE__ expand to fallback strings.
13452
13453         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13454         and __TIME__ when the date and time cannot be determined.
13455
13456 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13457
13458         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13459
13460 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13461
13462         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13463
13464 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13465
13466         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13467         (mipsisa64sb1el-*-elf*): Likewise.
13468         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13469         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13470         (TARGET_SB1, TUNE_SB1): New macros.
13471         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13472         -mtune flags.
13473
13474 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13475
13476         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13477         and ASM_EMIT_BSS not supported by target.
13478         (assemble_variable): Do not duplicate uninitialized logic.
13479         Fall through if asm_emit_uninitialized failed.
13480
13481 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13482
13483         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13484
13485 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13486
13487         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13488         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13489
13490         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13491         HOST_BITS_PER_WIDE_INT == 64.
13492
13493 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13494
13495         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13496         * optabs.c (expand_binop): Make variable unsigned.
13497         * simplify-rtx.c (simplify_subreg): Likewise.
13498         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13499
13500 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13501
13502         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13503
13504 2002-08-01  Richard Henderson  <rth@redhat.com>
13505
13506         * toplev.c (parse_options_and_default_flags): Don't set
13507         flag_reorder_blocks for -Os.
13508
13509         * config/avr/avr.c (avr_optimization_options): Remove.
13510         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13511         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13512         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13513
13514 2002-08-01  H.J. Lu <hjl@gnu.org>
13515             Richard Henderson  <rth@redhat.com>
13516
13517         * output.h (DECL_READONLY_SECTION): Remove.
13518         (decl_readonly_section): Declare.
13519         * varasm.c (decl_readonly_section): New.
13520         (default_section_type_flags, default_select_section): Use it.
13521         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13522         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13523         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13524         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13525         * config/mips/mips.c (mips_unique_section): Likewise.
13526
13527 2002-08-01  Richard Henderson  <rth@redhat.com>
13528
13529         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13530         refers to a subroutine parameter.
13531
13532 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13533
13534         * varasm.c (assemble_visibility): Strip name encoding.
13535
13536 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13537
13538         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13539         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13540         when there is no frame pointer.
13541         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13542         registers properly.
13543         * config/ns32k/__unorddf2.c: New file.
13544         * config/ns32k/__unordsf2.c: New file.
13545         * config/ns32k/t-ns32k: New file.
13546         * config.gcc (ns32k-*-netbsd*): Use it.
13547
13548 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13549
13550         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13551
13552 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13553
13554         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13555
13556 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13557
13558         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13559
13560 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13561
13562         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13563
13564 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13565
13566         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13567         n_sets): Removed.
13568         (expr_hash_table, set_hash_table): Type changed to ...
13569         (struct hash_table): New type.
13570         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13571         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13572         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13573         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13574         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13575         (alloc_hash_table): New.
13576         (free_set_hash_table, free_expr_hash_table): Merged to ...
13577         (free_hash_table): New.
13578         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13579         (compute_hash_table_work): New.
13580         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13581         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13582         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13583         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13584         hoist_code, one_code_hoisting_pass,
13585         trim_ld_motion_mems): Altered due to changed type of hash tables.
13586
13587 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13588
13589         * final.c (output_alternate_entry_point):
13590         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13591
13592 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13593
13594         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13595         avoid ISO C style function definition.
13596
13597         * expr.c (expand_assignment): Delete unused variable.
13598
13599 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13600
13601         * c-common.c (cb_register_builtins): Set
13602         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13603         is given, and to 0 otherwise.
13604         * combine.c (simplify_if_then_else): HONOR_NANS
13605         implies FLOAT_MODE_P.
13606
13607 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13608
13609         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13610         (cpp_handle_option): Don't handle it.
13611         (print_help): Update.
13612         * doc/cppopts.texi: Update.
13613
13614 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13615
13616         * c-common.c (cb_register_builtins): If C++, define
13617         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13618         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13619 cp:
13620         * lang-specs.h: Simplify in accordance with new code in
13621         c-common.c.
13622
13623 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13624
13625         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13626         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13627         * c-decl.c: Move all warning and flag variables to c-common.c.
13628         * c-format.c: Move all warning variables to c-common.c.
13629         * c-tree.h: Move all warning and flag declarations to c-common.h.
13630         * objc/objc-act.c: Move all warning variables to c-common.c.
13631         (flag_warn_protocol): Rename warn_protocol.
13632
13633 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13634
13635         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13636
13637 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13638
13639         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13640         .section prefix.
13641
13642 2002-07-31  Stan Shebs  <shebs@apple.com>
13643
13644         * config.gcc (i[34567]86-*-darwin*): New configuration.
13645         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13646         defining.
13647         (TARGET_ENCODE_SECTION_INFO): Ditto.
13648         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13649         * config/darwin.c (machopic_indirect_data_reference): Remove
13650         setting of RTX_UNCHANGING_P.
13651         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13652         not to be applied to sums.
13653         * config/i386/t-darwin: New file.
13654         * config/i386/darwin.h: New file.
13655         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13656         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13657         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13658         label and not the GOT add.
13659         (constant_address_p): For Mach-O, seeing a CONST is enough.
13660         (legitimate_pic_address_disp_p): Add a Mach-O case.
13661         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13662         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13663         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13664         if outputting a difference.
13665         (ix86_output_addr_diff_elt): Add Mach-O case.
13666         (ix86_expand_move): Similarly.
13667         (ix86_expand_call): Similarly.
13668         (current_machopic_label_num): New global.
13669         (machopic_output_stub): New function.
13670         (ix86_value_regno): New function.
13671         (ix86_function_value): Use it instead of VALUE_REGNO.
13672         (ix86_libcall_value): Ditto.
13673         * config/i386/unix.h (VALUE_REGNO): Remove.
13674
13675 2002-07-31  Graham Stott  <grahas@btinternet.com>
13676
13677         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13678         hash for LABEL_REF's.
13679
13680 2002-07-31  Graham Stott  <grahams@btinternet.com>
13681
13682         * config/rs6000/rs6000.c (spe_init_builtins,
13683         altivec_init_builtins, rs6000_common_init_builtins):
13684         Replace ANSI with K&R function def.
13685
13686 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13687
13688         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13689         for CCFPmode.
13690
13691 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13692
13693         * config/mips/crtn.asm: Don't use __mips16 to determine the
13694         return-address offset.  Define RA to a suitable temporary
13695         register for the return address.
13696
13697 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13698
13699         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13700         constraints to 'd'.
13701
13702 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13703
13704         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13705         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13706         patch on 2002-07-29.)
13707         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13708
13709 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13710
13711         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13712         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13713         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13714         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13715         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13716         (ASM_GLOBALIZE_LABEL): Delete.
13717         (GLOBAL_ASM_OP): Define.
13718
13719         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13720
13721         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13722         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13723
13724 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13725
13726         * doc/extend.texi (Hints implementation): Document that GCC
13727         mostly ignores `register'.
13728
13729 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13730
13731         * flags.h: Declare flag_finite_math_only.
13732         Use it in definition of HONOR_NANS and
13733         HONOR_INFINITIES.
13734         * c-common.c (cb_register_builtins): Emit
13735         __FINITE_MATH_ONLY__ when flag_finite_math_only
13736         is set.
13737         * combine.c (simplify_if_then_else): If
13738         flag_finite_math_only is set, a == b has a
13739         definite value.
13740         * toplev.c: Initialize flag_finite_math_only.
13741         (set_flags_fast_math): Set it on -ffast-math.
13742         (flag_fast_math_set_p): Test it.
13743         * doc/invoke.texi: Document -ffinite-math-only.
13744
13745 2002-07-30  Richard Henderson  <rth@redhat.com>
13746
13747         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13748         (noce_process_if_block): Likewise.
13749
13750 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13751
13752         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13753         Bail out early if false_expr is NULL and we'd crash due to this.
13754         * genemit.c (gen_expand): Recognize return insns even if the return
13755         appears in a parallel.
13756         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13757         * config/fp-bit.c: Likewise.
13758         * doc/tm.texi: Document it.
13759
13760 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13761             Zack Weinberg  <zack@codesourcery.com>
13762
13763         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13764         CODE_FOR_nothing.  Change switch to if.
13765         (rs6000_expand_binop_builtin): Same.
13766         (rs6000_expand_builtin): Expand builtin if target support enabled.
13767         (rs6000_init_builtins): Init builtin if target support enabled.
13768         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13769
13770 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13771
13772         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13773
13774 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13775
13776         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13777
13778 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13779
13780         * sh.md (cond_delay_slot): New attribute.
13781         (cbranch delay): Use it for anulled-true case.
13782         (stuff_delay_slot): New pattern.
13783         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13784         delay slot insn.
13785         (gen_far_branch): Emit stuff_delay_slot pattern.
13786
13787 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13788
13789         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13790
13791 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13792
13793         * fold-const.c: Fix comment typos.
13794         * gcse.c: Likewise.
13795         * reload1.c: Likewise.
13796
13797 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13798
13799         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13800         for TARGET_SPE.
13801
13802 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13803
13804         * c-pretty-print.h (pp_c_statement): Declare.
13805         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13806         (pp_c_statement): Define.
13807
13808 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13809
13810         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13811         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13812         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13813         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13814         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13815         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13816
13817         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13818         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13819
13820 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13821
13822         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13823         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13824         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13825         (pp_c_expression): Update.
13826
13827 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13828
13829         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13830         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13831         * alpha/vms-ld.c (main): Likewise.
13832         * dsp16xx.c (double_reg_to_memory): Likewise.
13833         * mcore.c (mcore_expand_prolog): Likewise.
13834         * cppfiles.c (read_name_map): Likewise.
13835         * gensupport.c (process_rtx, identify_predicable_attribute,
13836         alter_test_for_insn): Likewise.
13837         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13838
13839 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13840
13841         * builtins.c (expand_builtin):  Change the default behavior to
13842         only issue an error if the builtin function doesn't have a
13843         fallback library call.  Remove several cases handled by the
13844         new default.
13845
13846 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13847
13848         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13849         floating point format of the target is IEEE.
13850         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13851         format of the target is DEC.
13852
13853 2002-07-29  Richard Henderson  <rth@redhat.com>
13854
13855         * unroll.c (verify_addresses): Remove.
13856         (find_splittable_givs): Never split DEST_ADDR givs.
13857
13858 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
13859
13860         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13861         is exhaustive.
13862         (Files): Improve documentation on generated source files.
13863
13864         * doc/extend.texi (Translation implementation): Document what
13865         diagnostics look like.
13866         (Identifiers implementation): Document that there's normally no
13867         limit on identifier names.
13868         (Integers implementation): Document two's complement.
13869         (Hints implementation): Document that GCC honors 'inline', mostly.
13870         (Preprocessing directives implementation): Document that GCC
13871         requires the current time.
13872
13873 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13874
13875         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
13876         (pp_initializer): New macro.
13877         (pp_c_initializer): Declare.
13878         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
13879         (pp_c_initializer): Define.
13880         (pp_c_initializer_list): New function.
13881         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
13882         VECTOR_CST, CONSTRUCTOR.
13883         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
13884         IMAGPART_EXPR.
13885         (pp_c_cast_expression): Handle FLOAT_EXPR.
13886         (pp_c_assignment_expression): Handle INIT_EXPR.
13887         (pp_c_expression): Update.
13888
13889 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
13890
13891         * objc/objc-act.c (objc_init): Return immediately if filename
13892         is NULL.
13893
13894 2002-07-29  Eric Christopher  <echristo@redhat.com>
13895
13896         * config/mips/elf.h: Remove ecoff.h and gofast includes.
13897         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
13898         (SDB_DEBUGGING_INFO): Undefine.
13899         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
13900         (PUT_SDB_SIZE): Remove.
13901         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
13902         (STARTFILE_SPEC): Add isa3264 define.
13903         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
13904         * config/mips/ecoff.h: Remove. and here...
13905         * config/mips/iris3.h: and here...
13906         * config/mips/sni-svr4.h: and here...
13907         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
13908         Add assembler -mmdebug options for non-dwarf debugging.
13909         * config/mips/r3900.h: Remove debug info defines.
13910         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
13911         * config/mips/isa3264.h: Ditto.
13912         * config/mips/t-isa3264: Fix up for file removal and gofast configure
13913         change.
13914         * config/mips/t-elf: Ditto.
13915         * config/mips/t-ecoff: Ditto.
13916         * config/mips/t-r3900: Ditto.
13917         * config/mips/t-iris5-6: Ditto.
13918         * config/mips/t-isa3264: Ditto.
13919         * config/mips/t-linux: Remove.
13920         * config/mips/t-netbsd: Remove.
13921         * config/mips/t-mips: New file.
13922         * config/mips/t-gofast: Ditto.
13923         * config/mips/netbsd.h: Remove unnecessary undefines.
13924         * config/mips/linux.h: Remove #include of mips.h.
13925         * config.gcc: Add mips.h include for elf targets. Remove tm_file
13926         for ecoff. Add gofast configure option for mips.
13927
13928 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
13929
13930         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
13931         linker scripts use STARTUP directives consistently.
13932         * configure: Regenerate.
13933         * config.in: Regenerate.
13934         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
13935         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
13936         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13937         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
13938         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
13939         will be the same.
13940
13941 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13942
13943         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
13944
13945 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13946
13947         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
13948
13949 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
13950
13951         * config/rs6000/rs6000.md: Move altivec patterns from here...
13952
13953         * config/rs6000/altivec.md: ...to here.
13954
13955 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13956
13957         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
13958
13959 2002-07-29  Richard Henderson  <rth@redhat.com>
13960
13961         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
13962         set_mem_attributes and add BITPOS argument.  Subtract it from
13963         OFFSET when same is adjusted.
13964         (set_mem_attributes): New wrapper function.
13965         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
13966         remove offset adjustment hack.
13967         * expr.h (set_mem_attributes_minus_bitpos): Declare.
13968
13969 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
13970
13971         * Makefile.in (C_OBJS): Include c-pretty-print.o
13972         (c-pretty-print.o): Add depency rule.
13973         * pretty-print.h: Add more macros.
13974         * c-pretty-print.c: New file.
13975         * c-pretty-print.h: Likewise.
13976
13977 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13978
13979         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
13980         constants to __ev64_s32__.
13981         (__internal_ev_mwhgsmian): Same.
13982         (__internal_ev_mwhgsmfan): Same.
13983         (__internal_ev_mwhgssfan): Same.
13984         (__internal_ev_mwhgumiaa): Same.
13985         (__internal_ev_mwhgsmiaa): Same.
13986         (__internal_ev_mwhgsmfaa): Same.
13987         (__internal_ev_mwhgssfaa): Same.
13988
13989 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
13990
13991         * varasm.c (assemble_variable): Narrow test for uninitialized
13992         without BSS target support.
13993
13994 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
13995
13996         * profile.c: Add file comment describing the overall algorithm and
13997         structures.
13998         (struct edge_info): Add comments.
13999         (struct bb_info): Add comments.
14000         * basic-block.h (EDGE_*): Add comments.
14001         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14002
14003 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14004
14005         * config/xtensa/elf.h, config/xtensa/linux.h
14006         (TARGET_OS_CPP_BUILTINS): Define.
14007         (CPP_PREDEFINES): Remove.
14008         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14009         (CPP_SPEC): Remove.
14010
14011 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14012
14013         * gensupport.c: Include hashtab.h.
14014         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14015         maybe_eval_c_test): New routines and data structures to
14016         support insn elision.
14017         (init_md_reader): Read and initialize the condition_table.
14018         (read_md_rtx): Discard insn patterns whose C test is provably
14019         always false.
14020         * gensupport.h: Declare new functions and data structures.
14021
14022         * genconditions.c, dummy-conditions.c: New files.
14023         * Makefile.in: Build genconditions; run it to construct
14024         insn-conditions.c; build that and link it into most gen*
14025         programs.
14026         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14027         (GEN): Delete, unused.
14028         (STAGESTUFF): Update.
14029
14030         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14031         CODE_FOR_nothing for all elided patterns.
14032         (main): Tweaked to support this.
14033         * genflags.c (gen_proto): Emit a static inline generator
14034         function here for all elided patterns, which simply returns
14035         NULL_RTX.
14036         (gen_insn): Do not define HAVE_xxx for elided patterns.
14037         (main): Tweaked to support this.  No need to forward-declare
14038         struct rtx_def.
14039         * genrecog.c: Do not bother emitting the C test if it's known
14040         to be true at compile time.
14041
14042 2002-07-29  Mike Stump  <mrs@apple.com>
14043
14044         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14045         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14046
14047 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14048
14049         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14050         remove clobber of LR.
14051         (sibcall_insn, sibcall_value_insn): Update accordingly.
14052         (sibcall_epilogue): Remove debugging comment from assembler stream.
14053
14054 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14055
14056         * pretty-print.h: Define more macros.
14057         * diagnostic.h (output_formatted_integer): Moved from...
14058         * diagnostic.c: ... here.
14059
14060 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14061
14062         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14063
14064 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14065
14066         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14067         arguments.  Always use ".-symbol" as expression argument.
14068         * doc/tm.texi: Update to match.  Document requirement for
14069         ".size symbol, .-symbol" to be acceptable to assembler.
14070
14071         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14072         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14073         config/i386/freebsd-aout.h, config/i386/sco5.h,
14074         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14075         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14076
14077 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14078
14079         * Makefile.in (gengtype-lex.c): Fix error in last change.
14080
14081         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14082         backslash.
14083
14084         * Makefile.in (vmsdbgout.o): Depend on function.h.
14085
14086         * vmsdbgout.c: Include function.h.
14087
14088 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14089
14090         * prefix.c (update_path): Don't strip single `.' path components
14091         unless stripping a later `..' component.  Exit loop as soon as
14092         a valid path is found.
14093
14094 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14095
14096         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14097         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14098         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14099         floating point unordered comparisons (e.g. __builtin_isgreater)
14100         as const, and leave the remaining GCC_BUILTINs unchanged.
14101
14102         * c-decl.c (builtin_function): No need to explicitly mark
14103         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14104
14105 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14106
14107         * Makefile.in: rtlanal.o now depends upon real.h.
14108
14109         * flags.h [flag_signaling_nans]: New flag.
14110         [HONOR_SNANS]: New macro.
14111
14112         * toplev.c [flag_signaling_nans]: Initialize to false.
14113         (f_options): Add processing for "-fsignaling-nans".
14114         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14115         (process_options): flag_signaling_nans implies flag_trapping_math.
14116
14117         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14118         when -fsignaling-nans.  First step to implementing WG14's N965.
14119
14120         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14121         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14122         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14123
14124         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14125         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14126
14127         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14128         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14129         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14130         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14131         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14132
14133         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14134
14135 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14136
14137         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14138         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14139         (YY_DECL): Define.
14140
14141 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14142
14143         * doc/invoke.texi: Document that both -fno-builtin-foo and
14144         -fno-builtin are supported by the g++ front-end.
14145
14146 2002-07-27  Stan Shebs  <shebs@apple.com>
14147
14148         * configure.in: Rename config_gtfiles to target_gtfiles.
14149         * configure: Regenerate.
14150         * doc/gty.texi: Update reference.
14151         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14152         instead of appending to it.
14153
14154 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14155
14156         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14157         vectors are split into two registers.
14158         (function_arg): Same.
14159
14160 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14161
14162         * pa.md (extv): Check predicates before emitting extv_32.
14163
14164 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14165
14166         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14167         (rs6000_traceback): New var.
14168         (rs6000_override_options): Set rs6000_traceback.
14169         (rs6000_output_function_epilogue): Implement traceback options.
14170         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14171         (rs6000_traceback_name): Declare.
14172
14173         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14174         label reference when NO_PROFILE_COUNTERS.
14175
14176 2002-07-26  Jason Merrill  <jason@redhat.com>
14177
14178         * function.c (assign_parms): Handle frontend-directed pass by
14179         invisible reference.
14180
14181 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14182
14183         * doc/cppopts.texi: Update.
14184
14185 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14186
14187         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14188         warnings on assertions.
14189
14190 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14191
14192         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14193         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14194         RID_COMPL): Remove.
14195         * c-parse.in (rid_to_yy): Similarly.
14196
14197 2002-07-26  Jason Merrill  <jason@redhat.com>
14198
14199         * c-dump.c: Resurrect.
14200         * tree-dump.c: Move C-specific stuff to c-dump.c.
14201         * c-common.h: Declare c_dump_tree.
14202         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14203         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14204         (c-dump.o): New rule.
14205
14206 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14207
14208         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14209         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14210         predicate will do.  Formatting fixes.
14211         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14212         as for extzvsi_internal1.
14213
14214 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14215
14216         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14217         DERIV_END_LABEL_FMT): Remove.
14218         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14219
14220 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14221
14222         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14223         Remove.
14224
14225 2002-07-25  Stan Shebs  <shebs@apple.com>
14226
14227         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14228         local var dwarfp.
14229         (output_compiler_stub): Remove unused locals.
14230         (output_call): Always initialize line number.
14231
14232 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14233
14234         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14235         * sh.md (truncdiqi2, movqi_media): Likewise.
14236
14237 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14238
14239         * gcse.c (obstack_chunk_alloc): Remove.
14240         (gcse_alloc): Fix to count allocated bytes.
14241         * collect2.c (SYMBOL__MAIN): Remove.
14242
14243 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14244
14245         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14246         HAVE_TARGET_EXECUTABLE_SUFFIX.
14247
14248 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14249
14250         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14251         SIZE, EXPR and OFFSET.
14252
14253 2002-07-25  Richard Henderson  <rth@redhat.com>
14254
14255         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14256         in ARRAY_REF of DECL_P case.
14257
14258 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14259
14260         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14261         description.  Document -mips32, -mips64, and the associated -march
14262         values.  Describe the "mipsN" arguments to -march.  Say that the
14263         -mipsN options are equivalent to -march.  Reword the description
14264         of default type sizes.
14265         * toplev.h (target_flags_explicit): Declare.
14266         * toplev.c (target_flags_explicit): New var.
14267         (set_target_switch): Update target_flags_explicit.
14268         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14269         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14270         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14271         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14272         * config/mips/mips.h (mips_cpu_info): New struct.
14273         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14274         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14275         (MIPS_CPP_SET_PROCESSOR): New macro.
14276         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14277         Define _MIPS_ARCH and _MIPS_TUNE.
14278         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14279         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14280         MIPS_ISA_DEFAULT were already defined.
14281         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14282         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14283         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14284         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14285         (ABI_GAS_ASM_SPEC): Remove.
14286         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14287         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14288         Invoke %(asm_abi_default_spec) if no ABI was specified.
14289         (CC1_SPEC): Remove ISA -> register-size rules.
14290         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14291         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14292         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14293         (mips_cpu_info_table): New array.
14294         (mips_set_architecture, mips_set_tune): New fns.
14295         (override_options): Rework to make -mipsN equivalent to -march.
14296         Detect more erroneous cases, including those removed from CC1_SPEC.
14297         Don't change the ABI based on architecture, or vice versa.
14298         Unify logic with GAS.
14299         (mips_asm_file_start): Get architecture name from mips_arch_info.
14300         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14301         (mips_parse_cpu): Take the name of the option as argument.  Handle
14302         'from-abi'.  Raise an error if the option is wrong.
14303         (mips_cpu_info_from_isa): New fn.
14304
14305 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14306
14307         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14308         (tablejump_mips162): Likewise.
14309
14310 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14311
14312         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14313         int_mode_for_mode.
14314
14315 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14316
14317         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14318         complaining.
14319         * c-common.h (c_sizeof): Adjust definition.
14320         (c_alignof): Likewise.
14321         * c-tree.h (c_sizeof_nowarn): Now macro.
14322         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14323
14324 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14325
14326         * c-decl.c (c_decode_option): No need to handle switches
14327         cpplib handles.
14328
14329 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14330
14331         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14332         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14333         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14334         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14335
14336         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14337         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14338         config/cris/aout.h, config/i386/freebsd-aout.h,
14339         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14340         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14341         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14342         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14343         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14344         config/xtensa/elf.h, config/xtensa/linux.h:
14345         Use the new macros.
14346         Where possible, remove redundant definitions of SIZE_ASM_OP,
14347         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14348
14349 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14350
14351         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14352         TARGET_ISEL, and TARGET_FPRS.
14353
14354         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14355         -mabi=spe, -mabi=no-spe, and -misel=.
14356
14357         * config/rs6000/rs6000-protos.h: Add output_isel.
14358         Move vrsave_operation prototype here.
14359
14360         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14361         (smaxsi3): Same.
14362         (uminsi3): Same.
14363         (umaxsi3): Same.
14364         (abssi2_nopower): Disallow when TARGET_ISEL.
14365         (*ne0): Same.
14366         (negsf2): Change to expand and rename old pattern to *negsf2.
14367         (abssf2): Change to expand and rename old pattern to *abssf2.
14368
14369         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14370         fixunssfsi2.
14371
14372         Change patterns that check for TARGET_HARD_FLOAT or
14373         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14374
14375         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14376         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14377         (rs6000_override_options): Add 8540 case to
14378         processor_target_table.
14379         Set rs6000_isel for the 8540.
14380         Call rs6000_parse_isel_option.
14381         (enable_mask_for_builtins): New.
14382         (rs6000_parse_isel_option): New.
14383         (rs6000_parse_abi_options): Add spe and no-spe.
14384         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14385         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14386         for TARGET_HARD_FLOAT.
14387         Add case for SPE_VECTOR_MODE.
14388         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14389         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14390         vector modes.
14391         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14392         (rs6000_emit_move): Check for TARGET_FPRS.
14393         Add cases for SPE vector modes.
14394         (function_arg_boundary): Return 64 for SPE vector modes.
14395         (function_arg_advance): Check for TARGET_FPRS and
14396         Handle SPE vectors.
14397         (function_arg): Same.
14398         (setup_incoming_varargs): Check for TARGET_FPRS.
14399         (rs6000_va_arg): Same.
14400         (struct builtin_description): Un-constify mask field.  Move up in
14401         file.
14402         (bdesc_2arg): Un-constify and add SPE builtins.
14403         (bdesc_1arg): Same.
14404         (bdesc_spe_predicates): New.
14405         (bdesc_spe_evsel): New.
14406         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14407         (rs6000_expand_binop_builtin): Same.
14408         (bdesc_2arg_spe): New.
14409         (spe_expand_builtin): New.
14410         (spe_expand_predicate_builtin): New.
14411         (spe_expand_evsel_builtin): New.
14412         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14413         (rs6000_init_builtins): Initialize SPE builtins.  Call
14414         rs6000_common_init_builtins.
14415         (altivec_init_builtins): Move all non-altivec builtin code to...
14416         (rs6000_common_init_builtins): ...here.  New function.
14417         (branch_positive_comparison_operator): Allow NE code for SPE.
14418         (ccr_bit): Return correct ccr bit for SPE fp.
14419         (print_operand): Emit crnor in 'D' case for SPE.
14420         New case 't'.
14421         Add SPE code for 'y' case.
14422         (rs6000_generate_compare): Generate rtl for SPE fp.
14423         (output_cbranch): Handle SPE hard floats.
14424         (rs6000_emit_cmove): Handle isel.
14425         (rs6000_emit_int_cmove): New.
14426         (output_isel): New.
14427         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14428         64-bits for SPE.
14429         (debug_stack_info): Add SPE info.
14430         (gen_frame_mem_offset): New.
14431         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14432         Change mode of frame pointer, when saving it, to Pmode.
14433         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14434         Misc cleanups and use gen_frame_mem_offset when appropriate.
14435
14436         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14437         (TARGET_SPE_ABI): New.
14438         (TARGET_SPE): New.
14439         (TARGET_ISEL): New.
14440         (TARGET_FPRS): New.
14441         (FIXED_SCRATCH): New.
14442         (RTX_COSTS): Add PROCESSOR_PPC8540.
14443         (ASM_CPU_SPEC): Add case for 8540.
14444         (TARGET_OPTIONS): Add isel= case.
14445         (rs6000_spe_abi): New.
14446         (rs6000_isel): New.
14447         (rs6000_fprs): New.
14448         (rs6000_isel_string): New.
14449         (UNITS_PER_SPE_WORD): New.
14450         (LOCAL_ALIGNMENT): Adjust for SPE.
14451         (HARD_REGNO_MODE_OK): Same.
14452         (DATA_ALIGNMENT): Same.
14453         (MEMBER_TYPE_FORCES_BLK): New.
14454         (FIRST_PSEUDO_REGISTER): Set to 113.
14455         (FIXED_REGISTERS): Add SPE registers.
14456         (reg_class): Same.
14457         (REG_CLASS_NAMES): Same.
14458         (REG_CLASS_CONTENTS): Same.
14459         (REGNO_REG_CLASS): Same.
14460         (REGISTER_NAMES): Same.
14461         (DEBUG_REGISTER_NAMES): Same.
14462         (ADDITIONAL_REGISTER_NAMES): Same.
14463         (CALL_USED_REGISTERS): Same.
14464         (CALL_REALLY_USED_REGISTERS): Same.
14465         (SPE_ACC_REGNO): New.
14466         (SPEFSCR_REGNO): New.
14467         (SPE_SIMD_REGNO_P): New.
14468         (HARD_REGNO_NREGS): Adjust for SPE.
14469         (VECTOR_MODE_SUPPORTED_P): Same.
14470         (REGNO_REG_CLASS): Same.
14471         (FUNCTION_VALUE): Same.
14472         (LIBCALL_VALUE): Same.
14473         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14474         (SPE_VECTOR_MODE): New.
14475         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14476         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14477         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14478         spe_gp_save_offset.
14479         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14480         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14481         (SPE_CONST_OFFSET_OK): New.
14482         (rs6000_builtins): Add SPE builtins.
14483
14484         * testsuite/gcc.dg/ppc-spe.c: New.
14485
14486         * config/rs6000/eabispe.h: New.
14487
14488         * config/rs6000/spe.h: New.
14489
14490         * config/rs600/spe.md: New.
14491
14492         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14493         __SIMD__ for TARGET_SPE.
14494
14495         * config.gcc: Add powerpc-*-eabispe* case.
14496         Add spe.h to user headers for powerpc.
14497
14498 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14499
14500         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14501         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14502         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14503
14504 2002-07-24  Richard Henderson  <rth@redhat.com>
14505
14506         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14507         form when not optimizing.
14508
14509 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14510
14511         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14512         thread_pointer_rtx as unchanging.
14513
14514 2002-07-24  Michael Matz  <matz@suse.de>
14515
14516         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14517         (free_reg): Use it.
14518
14519 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14520
14521         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14522         pattern.
14523         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14524         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14525
14526 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14527
14528         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14529         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14530         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14531
14532 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14533
14534         * toplev.c (rest_of_compilation): Dump loops before clobbering
14535         the structure.
14536
14537 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14538
14539         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14540
14541 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14542
14543         PR optimization/7291
14544         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14545         problem on x86_64.
14546
14547 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14548
14549         * pretty-print.h: Add macros from cp/error.c
14550
14551 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14552
14553         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14554         (mask64_2_operand): Declare.
14555         (build_mask64_2_operands): Declare.
14556         (and64_2_operand): Declare.
14557         (extract_MB): Declare.
14558         (extract_ME): Declare.
14559         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14560         CONST_DOUBLE code.
14561         (mask_operand_wrap): New insn predicate.
14562         (mask64_2_operand): Likewise.
14563         (and64_2_operand): Likewise.
14564         (build_mask64_2_operands): New function.
14565         (extract_MB): New function.
14566         (extract_ME): New function.
14567         (print_operand <case m,M>): Use extract_MB and extract_ME.
14568         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14569         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14570         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14571         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14572         * config/rs6000/rs6000.md (andsi3_internal3): New
14573         (andsi3_internal3+1): Enable split for powerpc64.
14574         (andsi3_internal3+2): New split.
14575         (andsi3_internal4): Renamed old andsi3_internal3.
14576         (andsi3_internal5): New.
14577         (andsi3_internal5+1): Enable split for powerpc64.
14578         (andsi3_internal5+2): New split.
14579         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14580         (anddi3): Handle 't' constraint.
14581         (anddi3+1): New split.
14582         (anddi3_internal2): Handle 't' constraint.
14583         (anddi3_internal2+1): New split.
14584         (anddi3_internal3): Handle 't' constraint.
14585         (anddi3_internal3+1): New split.
14586
14587 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14588
14589         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14590         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14591         missing scratch reg in one case.  Formatting fixes.
14592
14593 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14594
14595         * cppexp.c (parse_defined): Mark macro used.
14596         * cpphash.h (struct cpp_macro): New member "used".
14597         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14598         (struct cpp_reader): New member.
14599         * cppinit.c (cpp_finish_options): Set first_unused_line.
14600         (cpp_finish): Warn of unused macros if requested.
14601         (OPT_TABLE): New switches.
14602         (cpp_handle_option): Handle them.
14603         * cpplib.c (do_undef): Warn if macro unused.
14604         (do_ifdef, do_ifndef): Mark macro used.
14605         * cpplib.h (struct cpp_options): New member.
14606         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14607         (enter_macro_context): Mark macro used.
14608         (_cpp_create_definition): Mark macro unused; warn if unused
14609         when redefined.
14610         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14611         Mark macros used.
14612         * doc/cppopts.texi: Update.
14613
14614 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14615
14616         * dwarf2out.c (SECTION_ASM_OP,
14617         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14618         * system.h (SECTION_ASM_OP): Poison.
14619         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14620         * config/alpha/alpha-interix.h, config/mips/linux.h
14621         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14622         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14623         (mmix_asm_output_define_label_difference_symbol): Remove.
14624         * config/mmix/mmix.h
14625         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14626         * doc/tm.texi: Remove documentation.
14627
14628 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14629
14630         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14631         (constrain_operands): Likewise.
14632         * regclass.c (record_reg_classes): Likewise.
14633         * reload.c (find_reloads): Likewise.
14634         * doc/md.texi: Likewise.
14635
14636         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14637         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14638         mode, try to convert to an integer mode of matching size first.
14639
14640         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14641         from individual subregs, check that each subreg has been generated
14642         sucessfully.
14643
14644 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14645
14646         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14647         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14648         FOR_EACH_BB_IN_SBITMAP): Remove.
14649         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14650         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14651         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14652         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14653         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14654         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14655
14656 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14657
14658         * pretty-print.h: New file.
14659
14660 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14661
14662         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14663         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14664         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14665         (TARGET_G_FLOAT): Default to 0 if not defined.
14666         (ieeetoe): New, common routine to convert target format floats
14667         to internal form.
14668         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14669         vs. others.
14670         (e113toe): Change to use ieeetoe.
14671
14672 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14673
14674         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14675         IBM.
14676         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14677         (e64toe): Remove special cases for DEC and IBM. Remove support for
14678         ARM_EXTENDED_IEEE_FORMAT.
14679         (e24toe): Remove special cases for DEC.
14680         (significand_size): Simplify. Indent.
14681         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14682         (etoieee, toieee): New.
14683         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14684         etoieee and toieee for IEEE arithmetic.
14685
14686 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14687
14688         * doc/extend.texi: Say ISO C90, not ISO C89.
14689         * doc/invoke.texi: Likewise.
14690         * doc/standards.texi: Likewise.
14691
14692 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14693
14694         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14695         Fix permutation of conversion and plus/mult.
14696         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14697         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14698         (expand_builtin_strncpy) Ditto.
14699         (expand_builtin_memset) Ditto.
14700
14701 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14702
14703         Fix PR/7363:
14704         * c-common.c (c_sizeof_or_alignof_type): New function.
14705         (c_alignof): Remove definition.
14706         * c-common.h (c_sizeof, c_alignof): Define as macros.
14707         (c_sizeof_or_alignof_type): Declare.
14708         (my_friendly_assert): Moved from cp/cp-tree.h
14709         * c-typeck.c (c_sizeof): Remove definition.
14710
14711 2002-07-23  Jan Hubicka  <jh@suse.cz>
14712
14713         * gcse.c (try_replace_reg): Use num_changes_pending.
14714         * recog.c (num_changes_pending): New function.
14715         (validate_replace_src): Use validate_repalce_src_group.
14716         (validate_replace_src_group): New.
14717         * recog.h (validate_repalce_src_group): New.
14718         (num_changes_pending): Likewise.
14719
14720 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14721
14722         * calls.c (emit_library_call_value_1): If
14723         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14724         libcall, const call nor pure call.
14725
14726 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14727
14728         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14729
14730 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14731
14732         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14733
14734 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14735
14736         * config/i386/i386.c (AT_BP): Remove.
14737
14738 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14739
14740         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14741         Default definition.
14742         * gcse.c: Don't define obstack_chunk_free.
14743         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14744         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14745         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14746         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14747         Don't define obstack macros.
14748
14749 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14750
14751         PR target/6744
14752         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14753         ASM_OPERANDS instructions.
14754
14755 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14756
14757         PR target/7361
14758         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14759         constant addresses only on 68HC12.
14760
14761 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14762
14763         * cppfiles.c (stack_include_file): Correct test of whether
14764         a dependency should be output.
14765
14766 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14767
14768         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14769
14770 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14771
14772         * arm.md (movqi): If optimizing and we can create pseudos, use
14773         a ZERO_EXTEND to load from memory, then copy the result into the
14774         target.
14775         (movhi): Likewise, but only for ARMv4.
14776
14777 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14778
14779         * ssa-ccp.c (PHI_PARMS): Remove.
14780
14781 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14782
14783         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14784         on big-endian targets.
14785
14786 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14787
14788         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14789         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14790         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14791         New formatting macros.
14792
14793         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14794
14795 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14796
14797         * rtlanal.c (subreg_regno_offset): Return correct offset for
14798         big endian paradoxical subregs.
14799
14800         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14801         if we got the wrong mode.
14802
14803         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14804         * genrecog.c (write_switch, write_cond): Use it.
14805         * genemit.c (gen_exp): Likewise.
14806
14807 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14808
14809         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14810
14811 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14812
14813         * c-decl.c (build_compound_literal): Defer compound literal decls
14814         until until file end to emit them only if they are actually used.
14815
14816 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14817
14818         * ra-build.c (check_conflict_numbers): Hide unused function.
14819         (livethrough_conflicts_bb): Avoid automatic aggregate
14820         initialization.
14821         (parts_to_webs_1): Avoid `U' integer constant modifier.
14822         (conflicts_between_webs): Wrap a variable in the macro controlling
14823         its usage.
14824         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14825         (dump_igraph, dump_graph_cost): Avoid string concatenation
14826         (dump_static_insn_cost): Avoid automatic aggregate
14827         initialization.
14828         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14829         initialization.
14830         (dump_cost): Avoid string concatenation
14831
14832 2002-07-21  Richard Henderson  <rth@redhat.com>
14833
14834         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14835         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14836
14837 2002-07-21  Richard Henderson  <rth@redhat.com>
14838
14839         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14840         that are not unrolled completely.
14841
14842 2002-07-21  Richard Henderson  <rth@redhat.com>
14843
14844         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14845         * loop.c (strength_reduce): Update.
14846         * toplev.c (rest_of_compilation): Do unrolling in the first
14847         loop pass, not the second.
14848
14849 2002-07-21  Richard Henderson  <rth@redhat.com>
14850
14851         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14852         when flag_argument_noalias == 2.
14853         * alias.c (nonoverlapping_memrefs_p): Handle that.
14854         * print-rtl.c (print_mem_expr): Likewise.
14855
14856 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
14857
14858         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14859         instead of __negdi2 directly.
14860
14861 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14862
14863         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14864         * function.c (SYMBOL__MAIN): Remove definition.
14865         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14866         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14867         * profile.c (GCOV_INDEX_TO_BB): Remove.
14868         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14869         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
14870
14871 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14872
14873         * c-lex.c (GET_ENVIRONMENT): Remove.
14874         * collect2.c (GET_ENV_PATH_LIST): Remove.
14875         (prefix_from_env): Use GET_ENVIRONMENT.
14876         * cppinit.c (GET_ENV_PATH_LIST): Remove.
14877         (init_standard_includes): Use GET_ENVIRONMENT.
14878         * defaults.h (GET_ENVIRONMENT): Define here if not already.
14879         * gcc.c (GET_ENV_PATH_LIST): Remove.
14880         (make_relative_prefix, process_command): Update.
14881         * protoize.c (GET_ENV_PATH_LIST): Remove.
14882         (do_processing): Update.
14883
14884 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
14885
14886         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
14887         (grokdeclarator): Likewise.
14888         * c-format.c (C_STD_NAME): Likewise.
14889         * c-lex.c (interpret_integer): Likewise.
14890         * c-typeck.c (build_array_ref): Likewise.
14891         * cpplex.c (_cpp_lex_direct): Likewise.
14892         * toplev.c (documented_lang_options): Likewise.
14893
14894 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14895
14896         * c-format.c (T99_I, T99_UI): Remove.
14897
14898 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14899
14900         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
14901
14902 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
14903
14904         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
14905         do_local_cprop.
14906
14907 2002-07-21  Andreas Jaeger  <aj@suse.de>
14908
14909         * reload1.c (fixup_abnormal_edges): Remove unused variable.
14910
14911 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
14912
14913         Improvements for the ifcvt pass from Michael Meissner, with patches
14914         by Richard Sandiford <rsandifo@redhat.com>
14915         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
14916         * ifcvt.c (cond_exec_changed_p): New static variable.
14917         (last_active_insn): New function, renamed from last_active_insn_p
14918         and changed to return the last active insn in a basic block. All
14919         callers updated.
14920         (block_fallthru): New function.
14921         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
14922         IFCVT_MODIFY_INSN.  All callers updated.
14923         Return false if START or END are NULL.
14924         Handle case where we're processing an insn that is already
14925         conditional.
14926
14927         (noce_process_if_block): CE_INFO argument rather than
14928         multiple args containing the involved basic blocks.  All callers
14929         changed.
14930         (process_if_block, merge_if_block, find_if_block,
14931         cond_exec_process_if_block): Likewise.
14932
14933         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
14934         changed.
14935         Use new function last_active_insn to simplify some code.
14936         New code to handle multiple tests.
14937         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
14938         cond_exec_changed_p to TRUE.
14939
14940         (process_if_block): New code to handle multiple tests.
14941         (merge_if_block): Likewise.
14942         (find_if_header): New arg PASS.  Changed to return the currently
14943         processed basic block or NULL instead of true/false. All callers
14944         changed.
14945         Call IFCVT_INIT_EXTRA_FIELDS.
14946         (block_jumps_and_fallthru_p): New function.
14947         (find_if_block): Discover opportunities to convert multiple tests.
14948         Add additional debugging output.
14949         Update the ce_info structure before returning.
14950
14951         (if_convert): Run multiple passes of if-conversion.
14952         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
14953         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
14954         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
14955         these macros.
14956
14957 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
14958
14959         * gcse.c: Include cselib.h
14960         (constptop_register): Break out from ...
14961         (cprop_insn): ... here; kill basic_block argument.
14962         (do_local_cprop, local_cprop_pass): New functions.
14963         (one_cprop_pass): Call local_cprop_pass.
14964
14965 2002-07-20  Roger Sayle  <roger@eyesopen.com>
14966
14967         * simplify-rtx.c (simplify_relational_operation): Optimize
14968         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
14969
14970 2002-07-20  Michae Matz  <matz@suse.de>
14971
14972         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
14973
14974 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
14975
14976         * cppexp.c (struct op): Add token pointer.
14977         (check_promotion, CHECK_PROMOTION): New.
14978         (optab): Update.
14979         (_cpp_parse_expr): Update, use token pointer of struct op.
14980         (reduce): Warn about change of sign owing to promotion.
14981         * cppinit.c (cpp_handle_option): New warning if -Wall.
14982         * cpplib.h (struct cpp_options): New member.
14983
14984 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
14985
14986         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
14987         fpu list.  Separate Power4 compare and delayed_compare.  Correct
14988         Power4 fpcompare.
14989         (fix_truncdfsi2_internal): Restore FPR preference.
14990         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
14991         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
14992
14993 2002-07-19  Momchil Velikov <velco@fadata.bg>
14994
14995         * reload1.c (reload_as_needed): Duplicate oldpat.
14996
14997 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
14998
14999         PR optimization/7130
15000         * loop.h (struct loop_info): Add "preconditioned".
15001         * unroll.c (unroll_loop): Set it.
15002         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15003
15004 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15005
15006         * rtl.def (CODE_LABEL): Remove slot 8.
15007         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15008         (LABEL_ALTERNATE_NAME): Delete.
15009         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15010         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15011
15012         * final.c (output_alternate_entry_point): New.
15013         (final_scan_insn): Use it instead of
15014         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15015         of a case label being an alternate entry point.
15016
15017         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15018         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15019         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15020         (field deleted).
15021         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15022
15023         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15024         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15025         * doc/tm.texi: Delete documentation of
15026         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15027
15028 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15029
15030         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15031         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15032         (LINK_SPEC): Define.
15033         (STARTFILE_SPEC): Define.
15034         (ENDFILE_SPEC): Define.
15035
15036         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15037         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15038
15039         * config/mips/iris6-o32-gas.h: New file.
15040         * config.gcc (mips-sgi-irix6*o32): Use it.
15041
15042         * config/mips/t-iris5-gas: New file.
15043         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15044
15045 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15046
15047         * cppexp.c (ALWAYS_EVAL): Remove.
15048         (optab, reduce): Always evaluate.
15049         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15050         only if not skipping evaluation.
15051
15052 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15053
15054         * config/avr/avr.c (debug_hard_reg_set): Remove.
15055
15056 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15057
15058         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15059
15060 2002-07-19  Richard Henderson  <rth@redhat.com>
15061
15062         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15063
15064 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15065
15066         * prefix.c (update_path): Don't zap single `.' path components
15067         unless followed by another `.' and fix typo last patch.
15068
15069 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15070
15071         * cppexp.c (cpp_num_mul): Remove unused parameter.
15072         (UNARY, BINARY, OTHER, binary_handler): Remove.
15073         (ALWAYS_EVAL): New.
15074         (optab): Update.
15075         (reduce): Refactor to a large switch, don't use a function
15076         pointer.
15077
15078 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15079
15080         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15081
15082 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15083
15084         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15085         (sh_expand_binop_v2sf): Likewise.
15086         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15087         (int_gpr_dest, trunc_hi_operand): New functions.
15088         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15089         trunc_hi_operand.
15090         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15091         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15092         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15093         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15094         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15095         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15096         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15097         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15098         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15099         (movsf_ie+1): Likewise.
15100         (loaddi_trunc): Use int_gpr_dest predicate.
15101         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15102         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15103         (casesi_worker_0+[12], casesi_worker): Likewise.
15104         (shcompact_preserve_incoming_args): Likewise.
15105         (mov_nop): Use any_register_operand predicate.
15106         (mperm_w0): Use trunc_hi_operand predicate.
15107
15108 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15109
15110         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15111         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15112         numbering.
15113
15114 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15115
15116         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15117
15118 2002-07-18  Richard Henderson  <rth@redhat.com>
15119
15120         PR optimization/7147
15121         * ifcvt.c (noce_get_condition): Make certain that the condition
15122         is valid at JUMP.
15123
15124 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15125
15126         * sh.c (barrier_align, push): Shut up compiler warnings.
15127         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15128         (reg_no_subreg_operand): Delete.
15129
15130 2002-07-17  Bo Thorsen  <bo@suse.de>
15131
15132         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15133         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15134         (STARTFILE_SPEC): Remove hardcoded library paths.
15135         (ENDFILE_SPEC): Likewise.
15136
15137 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15138
15139         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15140
15141         * gcse.c (try_replace_reg): Do not return false positives.
15142
15143 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15144
15145         * prefix.c: (update_path): Strip ".." components when prior dir
15146         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15147
15148         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15149         (ASM_OUTPUT_REG_POP): Likewise.
15150
15151 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15152
15153         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15154         adjustments to first_reg for profiling case.
15155         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15156         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15157         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15158         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15159         (ASM_OUTPUT_REG_POP): Define.
15160         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15161         (ASM_OUTPUT_REG_POP): Undef.
15162
15163 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15164
15165         * cpplib.c (do_sccs): Handle #sccs on all systems.
15166         * system.h (SCCS_DIRECTIVE): Poison.
15167         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15168         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15169         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15170         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15171         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15172         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15173         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15174         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15175         Remove all references to SCCS_DIRECTIVE.
15176         * doc/cpp.texi, doc/tm.texi: Update.
15177
15178 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15179
15180         * regrename.c (maybe_mode_change): New function.
15181         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15182
15183 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15184
15185         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15186         suppress addition when either ct or cf are zero.
15187
15188 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15189             Glen Nakamura <glen@imodulo.com>
15190
15191         PR optimization/6713
15192         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15193         sets a non-replaceable giv after issuing the new one.
15194
15195 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15196
15197         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15198         eval_token): Clarify and correct use of "bool" variables.
15199         * cpplib.h (struct cpp_options): Similarly.
15200         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15201         * cpptrad.c (recursive_macro): Similarly.
15202
15203 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15204
15205         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15206         SHmedia code.
15207
15208         * sh.md (cmpgtudi_media): Remove spurious @.
15209
15210         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15211         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15212
15213         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15214         * sh-protos.h (sh_initialize_trampoline): Declare.
15215         * sh.c (sh_initialize_trampoline): New function.
15216         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15217         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15218         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15219         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15220         * sh.md (initialize_trampoline, double_shori): New patterns.
15221         (initialize_trampoline_compact): Likewise.
15222         (shmedia32_initialize_trampoline_big): Remove.
15223         (shmedia32_initialize_trampoline_little): Likewise.
15224
15225         * sh-protos.h (binary_float_operator): Remove declaration.
15226         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15227         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15228         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15229         (sh_expand_binop_v2sf): Likewise.
15230         (zero_vec_operand): Delete.
15231         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15232         all non-shared ones.
15233         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15234         Enable nsb and byterev.
15235         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15236         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15237         in general regs.
15238         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15239         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15240         immediate operands.
15241         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15242         Add DF_HI_REGS.
15243         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15244         lowpart fp regs - only for big endian for now.
15245         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15246         when FPU is in use.
15247         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15248         (LOAD_EXTEND_OP): NIL for SImode.
15249         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15250         general and fp registers is 4.
15251         PREDICATE_CODES: Amend binary_float_operator entry.
15252         Remove zero_vec_operand.  Add unary_float_operator.
15253         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15254         subreg SET_DEST.
15255         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15256         (truncdiqi2): Do sign extension.
15257         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15258         (movdf_media, movsf_media): Likewise.
15259         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15260         Collapse to one define_insn_and_split.  Allow immediate sources.
15261         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15262         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15263         (movv4sf): Allow immediate sources.
15264         (movsf_media_nofpu+1): Don't split moves to FP registers.
15265         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15266         (movv8qi_i+3): Check against CONST0_RTX.
15267         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15268         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15269         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15270         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15271         (mshf0_w, fipr, ftrv): Likewise.
15272         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15273
15274 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15275
15276         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15277         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15278         * arm.c: Similarly.
15279
15280 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15281
15282         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15283         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15284         (TARGET_SWITCHES): Remove debugh.
15285         (ISA_HAS_TRUNC_W): New macro.
15286         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15287         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15288         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15289         any SImode move_operand.
15290         (se_nonimmediate_operand): Remove.
15291         (mips_sign_extend): New.
15292         (mips_move_2words): Use it for sign-extended source operands.
15293         (override_options): Allow integers to be put into single FPRs.
15294         (mips_secondary_reload_class): Handle integers in float registers.
15295         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15296         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15297         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15298         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15299         (fix_truncdfdi2): Provide only a single alternative, in which the
15300         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15301         than TARGET_64BIT.
15302         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15303         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15304         (movdi_internal2): Don't allow the source operand to be sign-extended.
15305         Add alternatives for float registers.
15306         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15307         allows sign-extension.
15308         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15309         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15310         float registers.  Remove TARGET_DEBUG_H_MODE test.
15311         (movhi_internal1): Rename to movhi_internal.  Don't check
15312         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15313         (movqi_internal1): Rename to movqi_internal and remove
15314         TARGET_DEBUG_H_MODE dependency.
15315         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15316
15317 2002-07-16  Jim Wilson  <wilson@redhat.com>
15318
15319         * toplev.c (lang_dependent_init): Create function context for
15320         init_expr_once.
15321
15322 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15323
15324         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15325         --gc-sections if -r.
15326         * config/cris/cris.h: Ditto.
15327
15328 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15329
15330         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15331         the comparison directly gives a mask suppress addition when cf is
15332         zero by complementing the mask.
15333
15334 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15335
15336         * Makefile.in: Delete references to enquire.
15337         * enquire.c: Move to contrib.
15338
15339 2002-07-16  Stan Shebs  <shebs@apple.com>
15340
15341         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15342         config/rs6000/darwin.h.
15343         (ASM_OUTPUT_SKIP): Ditto.
15344         (TEXT_SECTION_ASM_OP): Ditto.
15345         (DATA_SECTION_ASM_OP): Ditto.
15346         (ASM_APP_ON): Define.
15347         (ASM_APP_OFF): Define.
15348         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15349         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15350
15351         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15352         (machopic_function_base_name): Declare result to be const.
15353         (machopic_non_lazy_ptr_name): Ditto.
15354         (machopic_stub_name): Ditto.
15355         * config/darwin-protos.h: Ditto for the prototypes.
15356
15357 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15358
15359         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15360
15361 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15362
15363         * i386.md (prefetch): Fix for 64bit mode.
15364         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15365
15366 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15367
15368         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15369         * i386.c (x86_machine_dependent_reorg): New function.
15370         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15371
15372 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15373
15374         * builtins.c (std_expand_builtin_va_start): Remove unused
15375         first argument.
15376         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15377         std_expand_builtin_va_start with just two arguments.
15378         * expr.h: Update prototypes.
15379
15380         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15381         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15382         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15383         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15384         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15385         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15386         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15387         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15388         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15389         argument from all implementations of EXPAND_BUILTIN_VA_START
15390         and all uses of std_expand_builtin_va_start.
15391
15392 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15393
15394         * regrename.c (copy_value): Don't record high part copies.
15395
15396 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15397
15398         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15399         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15400         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15401
15402 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15403
15404         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15405
15406         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15407         into addsi3 using register class "x" and "y".
15408
15409         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15410         "earlyclobber" constraint modifier for some alternative.
15411
15412         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15413         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15414         unordered.
15415         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15416
15417         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15418         (TARGET_SWITCHES): Add -mieee-compare option.
15419         (OVERRIDE_OPTIONS): 32332 is a subset of
15420         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15421         (TARGET_SWITCHES): Fix description of bitfield option.
15422         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15423         -mieee-compare option. Remove 32332 flag.
15424
15425 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15426
15427         * explow.c (convert_memory_address): Remove special handling
15428         when POINTERS_EXTEND_UNSIGNED < 0.
15429         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15430         (movedi_symbolic): Fix typo.
15431         (load_fptr): Remove mode restriction so it works for SI and DI.
15432         (load_fptr_internal1): Ditto.
15433         (load_gprel): Ditto.
15434         (load_symptr_internal1): Ditto.
15435         (call_pic): Ditto.
15436         * config/ia64.c (call_operand): Modify mode check.
15437         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15438         (ia64_expand_move): Ditto.
15439         (ia64_assemble_integer): Handle SImode function pointers.
15440         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15441         (ia64_expand_op_and_fetch): Ditto.
15442         (ia64_expand_compare_and_swap): Ditto.
15443         (ia64_expand_lock_test_and_set): Ditto.
15444         (ia64_expand_lock_release): Ditto.
15445
15446 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15447
15448         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15449
15450 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15451             Richard Earnshaw  <rearnsha@arm.com>
15452
15453         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15454         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15455
15456 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15457
15458         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15459         understands to be a memory clobber.
15460         * arm.c (arm_expand_prologue): Use it.
15461
15462 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15463
15464         * ra-rewrite.c: #include reload.h, insn-config.h
15465         * ra-build.c: #include reload.h
15466         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15467         depend on reload.h, insn-config.h.
15468
15469 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15470
15471         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15472         the same size as a word.
15473
15474         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15475         BYTES_BIG_ENDIAN into account.
15476
15477 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15478
15479         * i386.md (prefetch): Fix for 64bit mode.
15480         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15481
15482         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15483
15484 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15485
15486         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15487
15488 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15489
15490         * ginclude/varargs.h: Replace with stub which issues #error.
15491         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15492         __builtin_va_start.
15493
15494         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15495         (BUILT_IN_VA_START): New.
15496         * builtins.c (expand_builtin_va_start): Eliminate first
15497         argument and code to implement pre-ISO varargs.
15498         (std_expand_builtin_va_start): Ignore first argument; it is
15499         always 1.
15500         (expand_builtin): Handle BUILT_IN_VA_START and
15501         BUILT_IN_STDARG_START identically.  Delete
15502         BUILT_IN_VARARGS_START case.
15503
15504         * function.c (assign_parms): Delete hide_last_arg and all
15505         its uses.
15506         (mark_varargs): Delete function.
15507         * function.h (struct function): Delete 'varargs' bit.
15508         (current_function_varargs): Delete macro.
15509         * tree.h: Don't declare mark_varargs.
15510
15511         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15512         (c_expand_body): Don't call mark_varargs.
15513         * c-objc-common.c: Handle BUILT_IN_VA_START and
15514         BUILT_IN_STDARG_START identically.  Delete
15515         BUILT_IN_VARARGS_START case.
15516         * c-tree.h: Don't declare c_mark_varargs.
15517         * c-parse.in: Remove grammar rules for '&...' (which has been
15518         commented out since before 2.7.2) and for '...' in K+R
15519         argument declarations.
15520
15521         * builtins.c, function.c, integrate.c, sibcall.c,
15522         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15523         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15524         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15525         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15526         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15527         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15528         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15529         config/stormy16/stormy16.c: Delete all references to
15530         current_function_varargs, and code predicated on that flag.
15531
15532         * config/alpha/alpha.c (alpha_va_start),
15533         config/arc/arc.c (arc_va_start),
15534         config/i386/i386.c (ix86_va_start),
15535         config/mips/mips.c (mips_va_start),
15536         config/mn10300/mn10300.c (mn10300_va_start),
15537         config/rs6000/rs6000.c (rs6000_va_start),
15538         config/s390/s390.c (s390_va_start),
15539         config/sh/sh.c (sh_va_start),
15540         Ignore first argument; it is always 1.
15541
15542         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15543         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15544         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15545         Delete m68hc11_va_start.
15546         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15547         No need to define EXPAND_BUILTIN_VA_START.
15548
15549         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15550         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15551
15552 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15553
15554         PR optimization/7153
15555         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15556         dies in more than one insn.
15557
15558 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15559
15560         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15561
15562 2002-07-15  Michael Matz  <matz@suse.de>,
15563             Daniel Berlin  <dberlin@dberlin.org>,
15564             Denis Chertykov  <denisc@overta.ru>
15565
15566         Add a new register allocator.
15567
15568         * ra.c: New file.
15569         * ra.h: New file.
15570         * ra-build.c: New file.
15571         * ra-colorize.c: New file.
15572         * ra-debug.c: New file.
15573         * ra-rewrite.c: New file.
15574
15575         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15576         (ra-rewrite.o): New .o files for libbackend.a.
15577         (GTFILES): Add basic-block.h.
15578
15579         * toplev.c (flag_new_regalloc): New.
15580         (f_options): New option "new-ra".
15581         (rest_of_compilation): Call initialize_uninitialized_subregs()
15582         only for the old allocator.  If flag_new_regalloc is set, call
15583         new allocator, instead of local_alloc(), global_alloc() and
15584         friends.
15585
15586         * doc/invoke.texi: Document -fnew-ra.
15587         * basic-block.h (FOR_ALL_BB): New.
15588         * config/rs6000/rs6000.c (print_operand): Write small constants
15589         as @l+80.
15590
15591         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15592         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15593         (df_insn_table_realloc): Size argument now is absolute, not relative.
15594         Changed all callers.
15595
15596         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15597         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15598
15599         2002-06-20  Michael Matz  <matz@suse.de>
15600
15601         * df.h (struct ref.id): Make unsigned.
15602         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15603
15604         2002-06-13  Michael Matz  <matz@suse.de>
15605
15606         * df.h (DF_REF_MODE_CHANGE): New flag.
15607         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15608         involving subregs with invalid mode changes, when
15609         CLASS_CANNOT_CHANGE_MODE is defined.
15610
15611         2002-05-07  Michael Matz  <matz@suse.de>
15612
15613         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15614
15615         2002-05-03  Michael Matz  <matz@suse.de>
15616
15617         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15618
15619         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15620
15621         * regclass.c (regclass): Work with all regs which have sets or
15622         refs.
15623         (reg_scan_mark_refs): Count regs inside (clobber ...).
15624
15625         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15626
15627         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15628         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15629         add new refs.
15630         (df_bb_refs_update): Don't clear insns_modified here, ...
15631         (df_analyse): ... but here.
15632
15633         * sbitmap.c (dump_sbitmap_file): New.
15634         (debug_sbitmap): Use it.
15635
15636         * sbitmap.h (dump_sbitmap_file): Add prototype.
15637
15638         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15639
15640         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15641         than assume all emits go through df_insns_modify.
15642
15643         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15644
15645         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15646         increase REG_N_REFS (like flow does), so that regclass doesn't
15647         think a reg is useless, and thus, not calculate a class, when it
15648         really should have.
15649
15650         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15651
15652         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15653         dataflow analysis.
15654
15655 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15656
15657         PR middle-end/7245
15658         * config/i386/i386.c (const_int_1_31_operand): New.
15659         * config/i386/i386.h (PREDICATE_CODES): Add it.
15660         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15661         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15662         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15663
15664 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15665
15666         PR target/7282
15667         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15668         (floatunssidf2): Likewise.
15669         (floatsidf_ppc64): New insn_and_split.
15670         (floatunssidf_ppc64): Likewise.
15671
15672 2002-07-14  Andreas Jaeger  <aj@suse.de>
15673
15674         * config.gcc (sh64): Remove unused
15675         target_requires_64bit_host_wide_int.
15676
15677 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15678
15679         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15680         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15681         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15682         whether clear_by_pieces should be used to clear storage.
15683         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15684
15685         * doc/tm.texi: Document these two new target macros.
15686
15687 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15688
15689         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15690         the scratch register.
15691         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15692         of it, forbid reload to use it.
15693
15694 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15695
15696         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15697         usage on 64-bit hosts, return value was truncated to 32 bits.
15698
15699 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15700
15701         * simplify-rtx.c (simplify_subreg): Handle floating point
15702         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15703         the element mode is requested, compute a subreg with an
15704         integer mode of the same size as the element mode first.
15705
15706 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15707
15708         * combine.c (try_combine): When converting a paradoxical subreg
15709         to an extension, take LOAD_EXTEND_OP into account.
15710
15711 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15712
15713         * config.gcc (mips-sgi-irix6*o32): New configuration.
15714
15715         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15716         configurations.
15717         * configure: Regenerate.
15718
15719         * config/mips/iris6-o32-as.h: New file.
15720         * config/mips/iris6-o32.h: New file.
15721
15722         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15723         (NM_FLAGS): Define.
15724         (HAVE_AS_SHF_MERGE): Undefine.
15725
15726         * config/mips/t-iris5-as: New file.
15727         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15728
15729         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15730         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15731         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15732         dp-bit.c, fp-bit.c): Move ...
15733         * config/mips/t-iris5-6: ... here.
15734         New file, shared by IRIX 5 and IRIX 6.
15735         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15736         mips-sgi-irix5*): Use it.
15737
15738         * config/mips/iris6.h: Remove duplicate comment.
15739
15740         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15741         !TARGET_IRIX6]: Define.
15742         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15743
15744         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15745
15746 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15747
15748         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15749         and delete code to force constant to register.
15750         * pa-protos.h (adddi3_operand): Add prototype.
15751         * pa.c (adddi3_operand): New function.
15752
15753 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15754
15755         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15756         non-ANSI builtin functions.
15757
15758 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15759
15760         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15761         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15762         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15763         (gen_const_vector_0): Use it.
15764
15765 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15766
15767         * pa.md (adddi3): For 32-bit targets, force constants to a register
15768         if they don't fit in an 11-bit immediate.  Change insn predicate to
15769         arith11_operand.  Remove comment.
15770         * pa.c (cint_ok_for_move): Fix comment.
15771         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15772         targets.
15773
15774 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15775
15776         Remove front end hard coding from gengtype.c.
15777
15778         * Makefile.in
15779         (STAGESTUFF): add gtyp-gen.h
15780         (GTFILES): Remove front end specific files.
15781         (GTFILES_FILES_LANGS): New, from configure..
15782         (GTFILES_FILES_FILES): Likewise.
15783         (GTFILES_LANG_DIR_NAMES): Likewise.
15784         (GTFILES_SRCDIR): Likewise.
15785         (gtyp-gen.h): Build from configure information.
15786         (s-gtype): Remove command line parameters from gengtype.
15787         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15788         (mostlyclean): Delete files generated by and for gengtype.
15789
15790         * c-config-lang.in: New file.
15791
15792         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15793         for each language.
15794         (all_gtfiles_files_files): New. Accumulate language for each file
15795         accumulated.
15796         (gtfiles): Pick up value for C.
15797         (srcdir): AC-SUBST this variable.
15798         (all_gtfiles_files_langs): AC-SUBST this variable.
15799         (all_gtfiles_files_files): AC-SUBST this variable.
15800
15801         * configure: Regenerate.
15802
15803         * gengtype-lex.l (parse_file): Make parameter const.
15804
15805         * gengtype.c (toplevel): include gtyp-gen.h.
15806         (BASE_FILE_<language> unnamed enum): Delete.
15807         (lang_names): Delete (replaced by gtyp-gen.h)
15808         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15809         all references.
15810         (NUM_GT_FILES): New.
15811         (NUM_LANG_FILES): New.
15812         (srcdir_len): New.
15813         (NUM_BASE_FILES): Change calculation.
15814         (open_base_files): Change prototype to avoid warning.
15815         (startswith): Delete.
15816         (get_file_basename): Iterate through generated language list not
15817         hard coded list.
15818         (get_base_file_bitmap): Use generated list of files and languages.
15819         (close_output_files): Add prototype to rmove warning.
15820         (main): Iterate through list of generated files from gtyp-gen.h
15821         rather than command line paramaters.  Ignore duplicated file
15822         names.
15823
15824         * gengtype.h (parse_file): Amend prototype for const parameter.
15825
15826         * doc/sourcebuild.texi: Document gtfiles variable.
15827
15828         * doc/gty.texi: Document changes to gtfiles variable for front
15829         ends.
15830
15831         * objc/config-lang.in (gtfiles): Add files needed for objc front
15832         end.
15833
15834 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15835
15836         PR c/2454
15837         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15838         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15839
15840 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15841             Zack Weinberg <zack@codesourcery.com>
15842
15843         * builtins.def: Make the argument types of abort and exit
15844         independent of the front-end.
15845
15846 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15847
15848         * config/rs6000/linux64.h (ASM_SPEC): Define.
15849
15850 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
15851
15852         * config/rs6000/rs6000.c (emit_frame_save): New.
15853         (rs6000_frame_related): Replace reg2 before reg.
15854         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15855         and eh_return registers.
15856
15857 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
15858
15859         Revert all patches for optimization of Complex .op. Real.
15860         * complex_part_zero_p: Remove
15861         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15862         with x.
15863         * expand_cmplxdiv_wide: Ditto.
15864         * expand_binop: Ditto.
15865
15866 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15867
15868         * config/avr/avr.md: Fix two 0x80000000 constants to make them
15869         negative also on 64-bit hosts.
15870
15871         Default to -fno-reorder-blocks when optimizing for size.
15872         * config/avr/avr-protos.h (avr_optimization_options): Declare.
15873         * config/avr/avr.c (avr_optimization_options): New function.
15874         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
15875
15876         Optimize returning from simple functions.
15877         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
15878         * config/avr/avr.c (avr_simple_epilogue): New function.
15879         * config/avr/avr.md (return): New insn.
15880
15881 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
15882
15883         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
15884         HAS_INIT_SECTION to protection.
15885
15886 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
15887
15888         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
15889         deprecated.
15890
15891 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
15892
15893         * combine.c (gen_lowpart_for_combine): Handle vector modes.
15894         Supply non-VOID mode to simplify_gen_subreg.
15895
15896 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
15897
15898         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
15899
15900 2002-07-10  Jeffrey A Law  <law@redhat.com>
15901
15902         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
15903         as appropriate.
15904
15905         * mn10200.c (expand_epilogue): Fix test to determine which scratch
15906         register to use.
15907
15908 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
15909
15910         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
15911         Get mode from dest.
15912         If simplify_gen_subreg fails, try next equivalent.
15913
15914 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
15915
15916         * diagnostic.h: #include location.h
15917         (location_t): Move definition to..
15918         * location.h: ... here.  New file.
15919         * tree.h: #include location.h
15920         (DECL_SOURCE_LOCATION): New macro.
15921         (DECL_SOURCE_FILE): Use.
15922         (DECL_SOURCE_LINE): Likewise.
15923         (struct tree_decl): REplace filename and linenum with locus.
15924         * Makefile.in (TREE_H): add location.h
15925         (diagnostic.o): Depends on gt-location.h
15926         (gt-location.h): Depends on s-gtype
15927
15928 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
15929
15930         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
15931         TARGET_OS_CPP_BUILTINS.
15932         * config/rs6000/aix31.h: Likewise.
15933         * config/rs6000/aix41.h: Likewise.
15934         * config/rs6000/aix43.h: Likewise.
15935         * config/rs6000/aix51.h: Likewise.
15936         * config/rs6000/beos.h: Likewise.
15937         * config/rs6000/darwin.h: Likewise.
15938         * config/rs6000/eabi.h: Likewise.
15939         * config/rs6000/eabisim.h: Likewise.
15940         * config/rs6000/linux.h: Likewise.
15941         * config/rs6000/linux64.h: Likewise.
15942         * config/rs6000/lynx.h: Likewise.
15943         * config/rs6000/mach.h: Likewise.
15944         * config/rs6000/rtems.h: Likewise.
15945         * config/rs6000/sysv4.h: Likewise.
15946         * config/rs6000/vxppc.h: Likewise.
15947
15948 2002-07-09 Devang Patel <dpatel@apple.com>
15949         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
15950         Do not allow ObjC objects as a parameter type for Objective-C methods.
15951         My previous patch restricted  'struct' also.
15952
15953 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
15954
15955         * cpperror.c (cpp_error): Default to directive_line within
15956         directives here.
15957         * cppexp.c (cpp_interpret_integer): Only use traditional
15958         number semantics in directives.
15959         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
15960         (do_include_common): Similarly.
15961         * cpptrad.c (scan_out_logical_line): Implement accurate
15962         quoting of <> in #include.
15963         * doc/cpp.texi: Update.
15964
15965 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
15966                           J"orn Rennecke <joern.rennecke@superh.com>
15967
15968         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
15969         * sh.md (attribute issues): Replace with:
15970         (attribute pipe_model).  All users changed.
15971         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
15972         All users changed.
15973         (function units sh5issue, sh5fds): New.
15974         (attribute is_mac_media): New.
15975         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
15976         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
15977         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
15978         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
15979         (call_media, call_value_media, sibcall_media): Likewise.
15980         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
15981         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
15982         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
15983         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
15984         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
15985         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
15986         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
15987         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
15988         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
15989         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
15990         (truncdfsf2_media): Likewise.
15991         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
15992         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
15993
15994 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15995
15996         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
15997         * sh.c (general_extend_operand, inqhi_operand): New functions.
15998         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
15999         alternatives using 'N' modifier.  Add type.
16000         (adddi3z_media): Likewise.  Enable generator function generation.
16001         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16002         exact predicates / constraints.  Add type.
16003         (subsi3): Allow 0 for SHMEDIA.
16004         (udivsi3_i4_media): Use match_operand for input values
16005         rather than hard registers.
16006         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16007         unnecessarily through hard registers.  Keep copies of pseudo
16008         registers outside of the libcall sequence.
16009         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16010         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16011         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16012         (extendhidi2, extendqidi2): Likewise.
16013         (andsi3_compact): Name.
16014         (andcdi3): Enable generator function generation.
16015         (zero_extendhisi2, zero_extendqisi2): Rename to
16016         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16017         (extendhisi2, extendqisi2): Rename to
16018         (extendhisi2_compact, extendqisi2_compact).
16019         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16020         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16021         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16022         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16023         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16024         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16025         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16026         (shmedia32_initialize_trampoline_big): Likewise.
16027         (shmedia32_initialize_trampoline_little): Likewise.
16028         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16029         (negdi2): Remove spurious T clobber.
16030         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16031         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16032         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16033         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16034         (ic_invalidate_line_media): Write back data cache before invalidating
16035         instruction cache.  Add type.
16036         (movsf_media): Sign-extend when the destination is a general
16037         purpose register.  Add type.
16038         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16039         (casesi_worker_0+1): Only increment ref count for proper label.
16040         (casesi_worker_0+2): Likewise.
16041
16042 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16043
16044         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16045
16046 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16047
16048         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16049         from Pmode to ptr_mode.
16050         (get_exception_pointer): Ditto.
16051         (connect_post_landing_pads): Ditto.
16052         (dw2_build_landing_pads): Ditto.
16053
16054 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16055         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16056         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16057         (handle_pragma_redefine_extname): Change to use new function.
16058
16059 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16060
16061         * combine.c (combine_simplify_rtx): Add an explicit cast
16062         to avoid signed/unsigned comparison warning.
16063         (simplify_if_then_else): Likewise.
16064         (extended_count): Likewise.
16065         (simplify_shift_const): Likewise.
16066         (simplify_comparison): Likewise.
16067
16068 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16069
16070         * config/mips/mips.md: Add imadd type.  Update scheduler description
16071         to use imadd as well as imul.
16072         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16073         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16074         (*mul_sub_si): Likewise for first alternative.  Change second
16075         alternative from imul to multi.
16076
16077 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16078
16079         * c-common.c (c_common_post_options): Update prototype;
16080         don't init backends if preprocessing only.
16081         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16082         * langhooks.h (struct lang_hooks): Update post_options to
16083         return a boolean.
16084         * toplev.c (parse_options_and_default_flags, do_compile,
16085         lang_independent_init): Update prototypes.  Allow the
16086         front end to specify that there is no need to initialize
16087         the back end.
16088         (general_init): Move call to hex_init here...
16089         (toplev_main): ...from here.  Pass flag for back end init
16090         suppression.
16091
16092 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16093
16094         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16095         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16096         greater_comparison_operator and less_comparison_operator.
16097         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16098         more operators.
16099         (equality_comparison_operator): New function.
16100         (greater_comparison_operator, less_comparison_operator): Likewise.
16101         * sh.md (beq_media_i): Disable generator function generation.
16102         Use match_operator to handle a whole class of comparisons.  Add
16103         modifier in output template to provide branch prediction.  Add type.
16104         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16105         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16106         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16107         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16108
16109 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16110
16111         Emit MMIX function prologue and epilogue as rtl.
16112         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16113         not unprototyped get_hard_reg_initial_val.
16114         ("call_value", "nonlocal_goto_receiver"): Ditto.
16115         ("return"): Make define_expand.  Move real insn to...
16116         ("*expanded_return"): New pattern.
16117         ("prologue", "epilogue"): New define_expands.
16118         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16119         (struct machine_function): New member in_prologue.
16120         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16121         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16122         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16123         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16124         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16125         (LOCAL_REGNO): Define.  Adjust comment.
16126         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16127         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16128         leaf_function_p.
16129         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16130         the prologue.
16131         (mmix_target_asm_function_prologue): Make static.  Just mark that
16132         the prologue is being emitted.  Move guts to...
16133         (mmix_expand_prologue): New function.  Adjust for emitting
16134         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16135         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16136         \n.  Move guts to...
16137         (mmix_expand_epilogue): New function.  Adjust for emitting
16138         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16139         (mmix_target_asm_function_end_prologue): Mark that the prologue
16140         has ended.
16141         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16142         (mmix_conditional_register_usage): Improve comments.
16143         (mmix_local_regno): New function.
16144         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16145         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16146         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16147         (mmix_get_hard_reg_initial_val): Ditto.
16148
16149 2002-07-06  Andreas Jaeger  <aj@suse.de>
16150
16151         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16152         definitions.
16153         * gengtype.c (open_base_files): Likewise.
16154         (close_output_files): Likewise.
16155         * tracer.c (find_best_predecessor): Likewise.
16156         (find_best_successor): Likewise.
16157         (ignore_bb_p): Likewise.
16158
16159 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16160
16161         PR c++/7099
16162         * builtin-attrs.def: Define new attribute lists for use in
16163         builtins.def.
16164         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16165         ATTRS argument, an enumerated value defined in builtin-attrs.def
16166         that represents the attribute list for the builtins.  Modify
16167         all builtin functions to pass an appropriate attribute list.
16168         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16169         their required noreturn attributes.
16170         * tree.h (enum_builtin_function): Ignore the additional parameter
16171         to DEF_BUILTIN.
16172         * builtins.c (built_in_names): Likewise.
16173         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16174         argument with a tree representing the functions attribute list.
16175         Pass this "attrs" argument to builtin_function.  No longer handle
16176         the noreturn_p processing manually.
16177         (built_in_attributes): Move the definitions from builtin-attrs.def
16178         before c_common_nodes_and_builtins.
16179         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16180         DEF_BUILTIN, passing it to both builtin_function and the changed
16181         builtin_function_2.
16182
16183         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16184         __builtin__exit and __builtin__Exit.
16185
16186 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16187
16188         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16189         QI mode registers in soft registers.
16190         ("zero_extendqihi2"): Do not take into account soft registers
16191         for register allocation (use '*' constraint).
16192
16193 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16194
16195         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16196         it is dead.
16197         ("*ashrsi3"): Likewise.
16198         ("*lshrsi3"): Likewise.
16199
16200 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16201
16202         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16203         into account.
16204
16205 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16206
16207         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16208         address computation and memory moves.
16209
16210 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16211
16212         PR c++/6706
16213         * dwarfout.c (output_reg_number): Fix warning message.
16214         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16215         before using it.
16216
16217 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16218
16219         * gcc/gcc.c (asm_debug): Move initialization ...
16220         (init_spec): ... here.
16221
16222 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16223
16224         * c-parse.in (extdef): Append ';'.
16225         (old_style_parm_decls): Append ';'.
16226
16227 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16228
16229         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16230         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16231         to gcc_cv_as_gstabs_flag.
16232         * configure: Rebuilt.
16233
16234 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16235
16236         * ggc.h (ggc_add_root): Document as obsolete.
16237
16238 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16239
16240         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16241         (mshflo_w): Likewise.
16242
16243 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16244
16245         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16246         vector mode subregs of constants to finding integer mode
16247         subregs of constants.
16248         * cse.c (cse_insn): Use simplify_gen_subreg.
16249         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16250         From a vector mode expression of different size than the
16251         target mode.
16252
16253 2002-07-03  Eric Christopher  <echristo@redhat.com>
16254
16255         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16256         * config/mips/mips.h: Remove deprecated -m<processor> options
16257         and cc1_cpu_spec associated.
16258         (CONSTANT_ADDRESS_P): Fix last patch.
16259         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16260         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16261         sunge_sf): Remove.
16262
16263 2002-07-03  Stan Shebs  <shebs@apple.com>
16264
16265         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16266         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16267         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16268
16269 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16270
16271         * combine.c (struct_undo): Change types of recorded substitutions
16272         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16273         (do_SUBST_INT): Change types of the substitution from unsigned int
16274         to int, to avoid compilation warning from SUBST_INT's only caller.
16275
16276         (make_extraction): Add cast to avoid compilation warning.
16277         (force_to_mode): Remove cast to avoid compilation warning.
16278
16279 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16280             Jeff Law  <law@redhat.com>
16281
16282         * i386.md (length_immediate attribute): Fix typo.
16283         (length_address attribute): Likewise.
16284         (modrm attribute): Set it to 0 for immediate call instructions.
16285         (jcc_1 pattern): Set modrm attribute to 0.
16286         (jcc_2 pattern ): Likewise.
16287         (jump pattern): Likewise.
16288         (doloop_end_internal pattern): Explicitly set length.
16289         (leave pattern): Fix typo.
16290         (leave_rex64 pattern): Likewise.
16291
16292 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16293
16294         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16295         in FPR as preference.
16296         (fctiwz): Same.
16297         (floatdidf2, fix_truncdfdi2): Same.
16298         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16299         (floatditf2): Same.
16300         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16301         (ctrdi): Remove FPR alternative and splitter.
16302
16303 2002-07-03  Will Cohen  <wcohen@redhat.com>
16304
16305         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16306
16307 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16308
16309         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16310         than UNITS_PER_WORD, unless this is little endian and the first unit
16311         in this word.  Let extract_bit_field decide how to load an element.
16312         Force arguments to matching mode.
16313         (expand_vector_unop): Likewise.
16314
16315         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16316         consist of word_mode elements.
16317         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16318         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16319         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16320         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16321         CONST_VECTOR.
16322         * optabs.c (expand_vector_binop): Try to perform operation in
16323         smaller vector modes with same inner size.  Add handling of AND, IOR
16324         and XOR.  Reject expansion to inner-mode sized scalars when using
16325         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16326         (expand_vector_unop): Try to perform operation in smaller vector
16327         modes with same inner size.  Add handling of one's complement.
16328         When there is no vector negate operation, try a vector subtract
16329         operation.  Use simplify_gen_subreg on constants.
16330         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16331         constants into smaller vectors with same inner mode, and to
16332         integer CONST_DOUBLEs.
16333
16334 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16335
16336         * c-parse.in (parsing_iso_function_signature): New variable.
16337         (extdef_1): New, copied from...
16338         (extdef): ... here.  Reset parsing_iso_function_signature.
16339         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16340         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16341         Warn about ISO C style function definitions.
16342         (nested_function, notype_nested_function): Reset
16343         parsing_iso_function_signature.
16344         (parmlist_2): Set parsing_iso_function_signature.
16345
16346         * doc/invoke.texi (-Wtraditional): Document new behavior.
16347
16348 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16349
16350         * config.gcc (mips*el-*-*): Use tm_defines to set
16351         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16352         * config/mips/little.h: Remove.
16353
16354 2002-07-02 Devang Patel <dpatel@apple.com>
16355
16356         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16357         object as parameter. Prevent something like 'NSObject' to be
16358         used as the type for a method argument.
16359
16360 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16361
16362         * cpptrad.c: Update comment.
16363
16364 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16365
16366         * doc/cpp.texi: Update for traditional preprocessing changes.
16367         * goc/cppopts.texi: Similarly.
16368
16369 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16370
16371         * c-parse.in (designator): Enable designated initializers if ObjC.
16372         (objcmessageexpr): Remove references to objc_receiver_context.
16373         * objc/objc-act.h (objc_receiver_context): Remove decl.
16374         * objc/objc-act.c (objc_receiver_context): Remove.
16375         (lookup_objc_ivar): Test objc_method_context instead of
16376         objc_receiver_context.
16377
16378 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16379
16380         * sh.c (print_operand, case 'N'): Allow zero vector.
16381         (arith_reg_or_0_operand): Likewise.
16382         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16383         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16384         IOR, XOR, PLUS and SET and take their respective constant
16385         ranges into account.
16386         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16387         * sh.md (subdi3, subdi3_media): Allow zero operand.
16388         (movv8qi_i+3): Only vector that is not split is the zero vector.
16389         Fix operand 3 to simplify_subreg.
16390         (movv2si_i): Split alternative 1.
16391         (mshfhi_l_di_rev+1): New splitter.
16392
16393 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16394
16395         PR preprocessor/7029
16396         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16397         implicit "-w" for "-M" and "-MM".
16398         * doc/cppopts.texi: Update.
16399
16400 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16401
16402         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16403         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16404         builtin_function.
16405
16406 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16407
16408         * README.Portability: Fix typos.
16409
16410 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16411
16412         PR target/7177
16413         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16414         of indirections for register inside sign-extended mem part.
16415
16416 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16417
16418         * tree.h:  Modify builtin_function interface to take an extra
16419         argument ATTRS, which is a tree representing an attribute list.
16420
16421         * c-decl.c (builtin_function): Accept additional parameter.
16422         * objc/objc-act.c (builtin_function): Likewise.
16423         * f/com.c (builtin_function): Likewise.
16424         * java/decl.c (builtin_function): Likewise.
16425         * ada/utils.c (builtin_function): Likewise.
16426         * cp/decl.c (builtin_function): Likewise.
16427         (builtin_function_1): Likewise.
16428
16429         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16430         NULL_TREE argument to builtin_function.  (builtin_function_2):
16431         Likewise.
16432         * cp/call.c (build_java_interface_fn_ref): Likewise.
16433         * objc/objc-act.c (synth_module_prologue): Likewise.
16434         * java/decl.c (java_init_decl_processing): Likewise.
16435         * f/com.c (ffe_com_init_0): Likewise.
16436
16437         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16438         NULL_TREE argument to builtin_function.
16439         * config/arm/arm.c (def_builtin): Likewise.
16440         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16441         * config/i386/i386.c (def_builtin): Likewise.
16442         * config/ia64/ia64.c (def_builtin): Likewise.
16443         * config/rs6000/rs6000.c (def_builtin): Likewise.
16444
16445 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16446
16447         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16448         * config/mips/t-isa3264: Likewise.
16449         * config/mmix/t-mmix: Likewise.
16450
16451 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16452
16453         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16454
16455 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16456
16457         PR opt/4046
16458         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16459         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16460         B are truth values.
16461
16462 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16463
16464         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16465
16466 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16467
16468         * README.Portability (Function prototypes): Give an example of
16469         declaring and defining a function with no arguments.
16470
16471         * README.Portability (Function prototypes): Document new
16472         variable-argument function macros.
16473
16474 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16475
16476         * sh.c (langhooks.h): Include.
16477         (sh_init_builtins, sh_media_init_builtins): New functions.
16478         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16479         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16480         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16481         (builtin_description): New struct tag.
16482         (signature_args, bdesc): New arrays.
16483         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16484         (print_operand): Add 'N' modifier.
16485         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16486         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16487         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16488         (CONST_COSTS): Add special case for SHmedia AND.
16489         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16490         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16491         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16492         target_operand can also be const or unspec.
16493         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16494         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16495         (attribute type): Add new types.
16496         (anddi3): Add splitter.
16497         (movdi_const_16bit+1): Add code to handle vector constants and
16498         bitmasks efficiently.
16499         (shori_media): Have generator function made.
16500         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16501         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16502         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16503         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16504         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16505         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16506         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16507         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16508         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16509         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16510         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16511         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16512         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16513         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16514         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16515         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16516         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16517         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16518         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16519         (ftrv): Likewise.
16520
16521         (fpu_switch+1, fpu_switch+2): Remove constraint.
16522
16523 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16524
16525         * tree.c (build_function_type_list): Update function comment.
16526         Rename first argument to return_type.
16527
16528 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16529
16530         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16531         tradcif.y and related files.
16532
16533 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16534
16535         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16536
16537 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16538
16539         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16540
16541 See ChangeLog.7 for earlier changes.