OSDN Git Service

* c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2
3         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
4         when loop condition is known true, i.e.  "while (1) { ... }".
5         (genrtl_for_stmt): Similarly for "for" statements.
6
7 2003-01-15  Roger Sayle  <roger@eyesopen.com>
8
9         * real.c (real_sqrt): Return a bool result indicating whether
10         a floating point exception or trap should be raised.
11         * real.h (real_sqrt): Update function prototype.
12         * builtins.c (fold_builtin): Only fold non-trapping square
13         roots unless we're ignoring errno and trapping math.
14
15 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
16
17         * expr.h (emit_conditional_add): Add PARAMS to declaration.
18         * gengtype-lex.l (malloc, realloc): Move defines after include of
19         system.h.  Remove duplicate include of system.h.
20
21 2003-01-15  Roger Sayle  <roger@eyesopen.com>
22
23         PR middle-end/9009
24         * optabs.c (expand_unop):  When manipulating the FP sign bit
25         using integer operations, account for targets with different
26         integer and FP word orders.
27         (expand_abs): Likewise.
28
29 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
30
31         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
32         file extension in section name.
33
34 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
35
36         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
37         constant offset.
38
39 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
40
41         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
42         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
43         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
44         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
45
46 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
47
48         PR f/9258
49         * global.c (struct allocno): Add no_stack_reg. 
50         (global_conflicts): Set no_stack_reg.
51         (find_reg): Use it.
52
53         * convert.c (convert_to_real): Fold - and abs only when profitable.
54         * fold-const.c (fold): Fold truncates in - and abs.
55
56 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
57
58         Segher Boessenkool  <segher@koffie.nl>
59
60         * predict.c (real_inv_br_prob_base): New variable.
61         (propagate_freq): Use multiply by reciprocal instead of
62         division.  Don't divide by 1.0 at all.
63         (estimate_bb_frequencies): Similar.
64
65 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
66
67         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
68         * configure: Rebuilt.
69
70 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
71
72         * config/s390/s390.c (s390_safe_attr_type): New function.
73         (s390_use_dfa_pipeline_interface): New function, return true for z900.
74         (s390_issue_rate): New function.
75         (s390_agen_dep_p): New function.
76         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
77         (s390_adjust_cost): Return 'cost' if new DFA is used.
78         (s390_adjust_priority): Delete function.
79         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
80         * config/s390/s390.md (atype attribute): Attribute 'atype' default
81         determined by 'op_type'.
82         (type attribute): Added more type attributes.
83         * config/s390/2064.md: New DFA description for z900 pipeline.
84         
85 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
86
87         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
88         forced to memory.  Fixes PR bootstrap/9036.
89
90         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
91         to set $gp before the call.
92
93 2003-01-14  Richard Henderson  <rth@redhat.com>
94
95         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
96         for force_const_mem.
97
98 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
99
100         * genattr.c (main): Rearrange output to avoid prototype warning.
101         * genautomata.c (transform_3): Fix ambiguous-else warning.
102         * local-alloc.c (requires_inout): Add parentheses around
103         assignment used as truth-value.
104         * timevar.c: Move system includes above local includes.  Include
105         toplev.h
106         * Makefile.in (timevar.o): Depend on toplev.h.
107
108 2003-01-14  Denis Chertykov  <denisc@overta.ru>
109
110         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
111         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
112
113         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
114         attributes.
115         (TARGET_ATTRIBUTE_TABLE): New macro.
116         (valid_machine_type_attribute): Remove.
117         (valid_machine_decl_attribute): Remove.
118         (ip2k_handle_progmem_attribute): New function.
119         (ip2k_handle_fndecl_attribute): New function.
120
121 2003-01-10  Andrew Haley  <aph@redhat.com>
122
123         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
124         registers to be in correct order.  Add rip.
125
126 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
127
128         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
129         (*iorsi3_and_lshiftrt_9_sb): Likewise.
130
131 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
132
133         * convert.c (strip_float_extensions):  Look for narrowest type handling
134         FP constants.
135
136         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
137         float1 CMP float2.
138         * convert.c (strip_float_extensions): Make global.
139         * tree.h (strip_float_extensions): Declare.
140
141 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
142
143         * timevar.def: define TV_NAME_LOOKUP.
144         * timevar.c (timevar_pop): Be verbose when aborting.
145
146 2003-01-13  Andreas Schwab  <schwab@suse.de>
147
148         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
149         $(parsedir), just move the temporary file at the end.
150         ($(parsedir)/gengtype-yacc.c): Likewise.
151
152 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
153
154         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
155         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
156         splitting.
157         * configure: Rebuilt.
158
159 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
160
161         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
162         internal_mcount): Don't use PARAMS.
163         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
164         ISO C style.
165         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
166
167 2003-01-13  Andreas Schwab  <schwab@suse.de>
168
169         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
170         directive.
171
172 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
173
174         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
175         (*iorsi3_and_lshiftrt_n_sb): Likewise.
176
177 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
178
179         PR c++/9264
180         * c-lex.c (c_lex): Set the token value to error_mark_node for
181         invalid numeric constants.
182
183 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
184
185         * c-pch.c (asm_file_startpos): Change to `long'.
186         (pch_init): Use ftell, not ftello.
187         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
188         Use `long' instead of `off_t'.
189         (c_common_read_pch): Likewise.
190         * ggc-common.c (gt_pch_save): Use long/ftell instead of
191         off_t/ftello.
192
193 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
194
195         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
196
197 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
198
199         * arm-protos.h (struct cpp_reader): Add declaration.
200
201 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
202
203         PR target/9068
204         * i386.c (output_fp_compare): Fix typo.
205
206 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
207
208         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
209
210 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
211
212         * Makefile.in (parsedir): New variable.
213         (docobjdir): New variable.
214         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o, 
215         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
216         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
217         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
218         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man): 
219         Use docobjdir.
220         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
221         objc.maintainer-clean): Use parsedir.
222
223         * varasm.c (struct constant_descriptor_rtx): Remove unused
224         `label' field.
225
226         * toplev.c (documented_lang_options): Document -Winvalid-pch.
227
228 2003-01-10  Richard Henderson  <rth@redhat.com>
229
230         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
231         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
232
233 2003-01-10  Richard Henderson  <rth@redhat.com>
234
235         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
236         not INTEGRAL_MODE_P when widening extensions.
237
238 2003-01-10  Richard Henderson  <rth@redhat.com>
239
240         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
241
242 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
243
244         * ggc-page.c (ggc_collect): Avoid overflow computing
245         min_expand.
246
247         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
248         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
249         Remove calls.
250         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
251
252 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
253
254         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
255         with weird operands.
256
257 2003-01-10  Dale Johannesen <dalej@apple.com>
258
259         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
260         parameters.  Call check_sibcall_argument_overlap if indicated.
261         (check_sibcall_argument_overlap):  Add mark_stored_args_map
262         parameter.  Don't mark parameter area as clobbered if not set.
263         (expand_call):  Adjust calls to above.
264
265 2003-01-10 Kelley Cook <kelleycook@comcast.net>
266
267         * configure.in (linker read-only and read-write section mixing):
268         Squelch some assembler warnings.
269         * configure: Likewise.
270
271 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
272
273         * doc/invoke.texi: Document -mtune, delete -mcpu 
274         option for S/390 and zSeries.
275         * config/s390/s390.c (s390_tune_string) New variable.
276         (s390_cpu_string) Delete variable.
277         (override_options): Use s390_tune_string instead of
278         s390_cpu_string.
279         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
280
281 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
282
283         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
284
285 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
286
287         * jump.c (next_nonnote_insn_in_loop): New function.
288         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
289         next_nonnote_insn.
290         (duplicate_loop_exit_test). Likewise.
291
292 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
293
294         Merge from pch-branch:
295
296         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
297
298         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
299         load.
300
301         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
302
303         * cpplib.c (count_registered_pragmas): New function.
304         (save_registered_pragmas): New function.
305         (_cpp_save_pragma_names): New function.
306         (restore_registered_pragmas): New function.
307         (_cpp_restore_pragma_names): New function.
308         * cpphash.h (_cpp_save_pragma_names): Prototype.
309         (_cpp_restore_pragma_names): Likewise.
310         * cpppch.c (struct save_macro_item): Split from save_macro_data.
311         (struct save_macro_data): New field 'saved_pragmas'.
312         (save_macros): Update for changes to struct save_macro_data.
313         (cpp_prepare_state): Call _cpp_save_pragma_names, update
314         for changes to struct save_macro_data.
315         (cpp_read_state): Call _cpp_restore_pragma_names, update
316         for changes to struct save_macro_data.
317
318         * cpppch.c (cpp_read_state): Restore the hashtable references
319         in the cpp_reader.
320         
321         * tree.h (built_in_decls): Mark for PCH.
322
323         * dbxout.c (lastfile): Don't mark for PCH.
324
325         * ggc.h: Document PCH calls into memory managers.
326
327         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
328
329         * doc/invoke.texi (Precompiled Headers): Document the
330         directory form of PCH.
331         * cppfiles.c (validate_pch): New function.
332         (open_file_pch): Search suitably-named directories for PCH files.
333
334         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
335
336         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
337         reorder options.
338         (Type Information): Mention that the information is also
339         used to implement PCH.
340         * doc/passes.texi (Passes): Improve documentation of
341         language-specific files.
342
343         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
344
345         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
346         (struct walk_type_data): Add reorder_fn field.
347         (walk_type): Process 'reorder' option.
348         (write_types_process_field): Reorder parameters to gt_pch_note_object,
349         call reorder_note_routine.
350         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
351         (ggc_wtd): Update for change to struct write_types_data.
352         (pch_wtd): Likewise.
353         * ggc.h (gt_pch_note_object): Reorder parameters.
354         (gt_handle_reorder): New definition.
355         (gt_pch_note_reorder): New prototype.
356         * ggc-common.c (struct ptr_data): Add reorder_fn.
357         (gt_pch_note_object): Reorder parameters.
358         (gt_pch_note_reorder): New.
359         (gt_pch_save): Call reorder_fn.
360         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
361
362         * dbxout.c (cwd): Don't mark for PCH.
363
364         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
365
366         * gengtype.c (finish_root_table): Fix some warnings.
367         (write_root): Handle TYPE_STRING.
368         * ggc.h (gt_ggc_m_S): Add prototype.
369         * stringpool.c (gt_ggc_m_S): New function.
370
371         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
372
373         * dwarf2out.c (dw2_string_counter): New.
374         (AT_string_form): Use it.
375         (same_dw_val_p): Update for removal of hashtable.h hash tables.
376
377         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
378
379         * dbxout.c: Include gt-dbxout.h.
380         (lastfile): Mark for PCH/GGC.
381         (cwd): Likewise.
382         (struct typeinfo): Likewise.
383         (typevec): Likewise.
384         (typevec_len): Likewise.
385         (next_type_number): Likewise.
386         (struct dbx_file): Likewise.
387         (current_file): Likewise.
388         (next_file_number): Likewise.
389         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
390         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
391         (dbxout_end_source_file): Don't free struct dbx_file.
392         (dbxout_type): Use GGC to allocate typevec.
393         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
394         (GTFILES): Add dbxout.c.
395         (gt-dbxout.h): New rule.
396         
397         * Makefile.in (c-pch.o): Add debug.h as dependency.
398         * c-pch.c: Include debug.h.
399         (pch_init): Call start_source_file to keep nesting right.
400         (c_common_read_pch): Add orig_name parameter.  Call
401         start_source_file debug hook.  Call end_source_file debug hook.
402         * c-common.h (c_common_read_pch): Update prototype.
403         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
404         callback.
405         * cppfiles.c (struct include_file): Add new field `header_name'.
406         (find_or_create_entry): Default it to `name'.
407         (open_file_pch): Set it to the original header file searched for.
408         (stack_include_file): Don't stack an empty buffer, just handle
409         PCH files immediately.  Pass header_name field to read_pch callback.
410
411         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
412
413         * function.c (funcdef_no): Mark to be saved in a PCH.
414
415         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
416
417         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
418
419         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
420
421         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
422
423         * optabs.h (code_to_optab): Add GTY marker.
424
425         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
426
427         * Makefile.in (GTFILES): Add cpplib.h.
428         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
429         * c-decl.c (build_compound_literal): Don't use var_labelno.
430         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
431         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
432         * varasm.c (const_labelno): Use gengtype to mark.
433         (var_labelno): Likewise.
434         (in_section): Likewise.
435         (in_named_name): Likewise.
436         (struct in_named_entry): Likewise.
437         (in_named_htab): Likewise.
438         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
439         (init_varasm_once): Use GGC to allocate in_named_htab.
440         * config/darwin.c (current_pic_label_num): Mark for PCH.
441
442         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
443
444         * ggc-simple.c (init_ggc_pch): New stub procedure.
445         (ggc_pch_count_object): Likewise.
446         (ggc_pch_total_size): Likewise.
447         (ggc_pch_this_base): Likewise.
448         (ggc_pch_alloc_object): Likewise.
449         (ggc_pch_prepare_write): Likewise.
450         (ggc_pch_write_object): Likewise
451         (ggc_pch_finish): Likewise.
452         (ggc_pch_read): Likewise.
453
454         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
455
456         * c-pch.c (c_common_write_pch): Write the macro definitions after
457         the GCed data.
458         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
459         definitions after the GCed data.
460         * cpplib.c (save_macros): New.
461         (reset_ht): New.
462         (cpp_write_pch_deps): Split out of cpp_write_pch.
463         (cpp_write_pch_state): Split out of cpp_write_pch.
464         (cpp_write_pch): Delete.
465         (struct save_macro_data): Delete.
466         (cpp_prepare_state): New.
467         (cpp_read_state): Erase and restore initial macro definitions.
468         * cpplib.h (struct save_macro_data): Forward-declare.
469         (cpp_write_pch_deps): Prototype.
470         (cpp_write_pch_state): Prototype.
471         (cpp_write_pch): Delete prototype.
472         (cpp_prepare_state): Prototype.
473         (cpp_read_state): Add fourth argument.
474
475         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
476
477         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
478         (write_array): Remove warning.
479
480         * gengtype.c (contains_scalar_p): New.
481         (finish_root_table): Add the table to all languages, even if it's
482         empty.
483         (write_roots): Output gt_pch_scalar_rtab.
484         * ggc-common.c (gt_pch_save): Write out scalars.
485         (gt_pch_restore): Read scalars back.
486
487         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
488         (struct page_entry): Delete pch_page field.
489         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
490         (clear_marks): Likewise.
491         (sweep_pages): Likewise.
492         (poison_pages): Likewise.
493         (ggc_print_statistics): Likewise.
494         (ggc_pch_read): Don't free objects read from a PCH.
495         Properly set up in_use_p and page_tails.
496
497         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
498
499         * gengtype.c (struct write_types_data): New.
500         (struct walk_type_data): Make `cookie' const; add extra
501         prev_val item; add `orig_s' field.
502         (walk_type): Update prev_val[3].
503         (write_types_process_field): New.
504         (write_func_for_structure): Take write_types_data structure.
505         (write_types): New.
506         (ggc_wtd): New.
507         (pch_wtd): New.
508         (write_types_local_process_field): New.
509         (gc_mark_process_field): Delete.
510         (write_local_func_for_structure): New.
511         (gc_mark_func_name): Delete.
512         (write_gc_types): Delete.
513         (write_local): New.
514         (finish_root_table): Don't include 'ggc_' in PFX.
515         (write_root): Rename from write_root.  Fill pchw field of structures.
516         (write_array): New.
517         (write_roots): Rename from write_gc_roots.  Split out to write_array.
518         Update to changes to other routines.  Write gt_pch_cache_rtab table.
519         (main): Write PCH walking routines.
520         * ggc-common.c: Include toplev.h, sys/mman.h.
521         (ggc_mark_roots): For cache hashtables, also mark the hash table
522         and the array of entries.
523         (saving_htab): New.
524         (struct ptr_data): New.
525         (POINTER_HASH): New.
526         (gt_pch_note_object): New.
527         (saving_htab_hash): New.
528         (saving_htab_eq): New.
529         (struct traversal_state): New.
530         (call_count): New.
531         (call_alloc): New.
532         (compare_ptr_data): New.
533         (relocate_ptrs): New.
534         (write_pch_globals): New.
535         (struct mmap_info): New.
536         (gt_pch_save): New.
537         (gt_pch_restore): New.
538         * ggc-page.c (ROUND_UP_VALUE): New.
539         (ROUND_UP): New.
540         (struct page_entry): Add field `pch_page'.
541         (init_ggc): Use ROUND_UP.
542         (struct ggc_pch_data): Declare.
543         (init_ggc_pch): New.
544         (ggc_pch_count_object): New.
545         (ggc_pch_total_size): New.
546         (ggc_pch_this_base): New.
547         (ggc_pch_alloc_object): New.
548         (ggc_pch_prepare_write): New.
549         (ggc_pch_write_object): New.
550         (ggc_pch_finish): New.
551         (ggc_pch_read): New.
552         * ggc.h (gt_pointer_operator): New.
553         (gt_note_pointers): New.
554         (gt_pch_note_object): New prototype.
555         (gt_pointer_walker): New.
556         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
557         (LAST_GGC_ROOT_TAB): Update.
558         (gt_pch_cache_rtab): Declare.
559         (gt_pch_scalar_rtab): Declare.
560         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
561         (LAST_GGC_CACHE_TAB): Update.
562         (gt_pch_save_stringpool): Declare.
563         (gt_pch_restore_stringpool): Declare.
564         (gt_pch_p_S): Declare.
565         (gt_pch_n_S): Declare.
566         (struct ggc_pch_data): Forward-declare.
567         (init_ggc_pch): Declare.
568         (ggc_pch_count_object): Declare.
569         (ggc_pch_total_size): Declare.
570         (ggc_pch_this_base): Declare.
571         (ggc_pch_alloc_object): Declare.
572         (ggc_pch_prepare_write): Declare.
573         (ggc_pch_write_object): Declare.
574         (ggc_pch_finish): Declare.
575         (ggc_pch_read): Declare.
576         (gt_pch_save): Declare.
577         (gt_pch_restore): Declare.
578         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
579         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
580         const_double_htab, mem_attrs_htab using GGC.
581         * c-pch.c: Include ggc.h.
582         (pch_init): Allow reading PCH file back.
583         (c_common_write_pch): Call gt_pch_save.
584         (c_common_read_pch): Call gt_pch_restore.
585         * c-parse.in (init_reswords): Delete now-untrue comment.
586         Allocate ridpointers using GGC.
587         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
588         calling expand_deferred_fns.
589         * c-common.h (ridpointers): Mark for GTY machinery.
590         * Makefile.in (stringpool.o): Update dependencies.
591         (c-pch.o): Update dependencies.
592         (ggc-common.o): Update dependencies.
593         * stringpool.c: Include gt-stringpool.h.
594         (gt_pch_p_S): New.
595         (gt_pch_n_S): New.
596         (struct string_pool_data): New.
597         (spd): New.
598         (gt_pch_save_stringpool): New.
599         (gt_pch_restore_stringpool): New.
600         * tree.c (init_ttree): Make type_hash_table allocated using GC.
601         
602         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
603
604         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
605         (output_mangled_typename): Don't pass size_t to printf.
606
607         * tree.h (union tree_type_symtab): Add tag to `address' field.
608         (union tree_decl_u2): Add tag to 'i' field.
609         * varasm.c (union rtx_const_un): Add tags to all fields.
610         * gengtype.c (struct walk_type_data): New.
611         (output_escaped_param): Take struct walk_type_data parameter.
612         (write_gc_structure_fields): Delete.
613         (walk_type): New.
614         (write_gc_marker_routine_for_structure): Delete.
615         (write_func_for_structure): New.
616         (gc_mark_process_field): New.
617         (gc_mark_func_name): New.
618         (gc_counter): Delete.
619         (write_gc_types): Use write_func_for_structure.
620         (write_gc_roots): Use walk_type.
621
622         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
623
624         * ggc-common.c (ggc_mark_roots): Delete 'x'.
625         (ggc_splay_dont_free): Fix warning about unused 'x'.
626         (ggc_print_common_statistics): Remove warnings.
627
628         2002-10-01  Mike Stump  <mrs@apple.com>
629
630         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
631         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
632
633         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
634             Catherine Moore  <clm@redhat.com>
635
636         * Makefile (c-pch.o): Update dependencies.
637         (LIBCPP_OBJS): Add cpppch.o.
638         (cpppch.o): New.
639         * c-common.c (c_common_init): Don't call pch_init here.
640         * c-common.h (c_common_read_pch): Update prototype.
641         * c-lex.c (c_common_parse_file): Call pch_init here.
642         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
643         (c_common_decode_option): Handle them.
644         * c-pch.c: Include c-pragma.h.
645         (save_asm_offset): Delete.
646         (pch_init): Move contents of save_asm_offset into here, call
647         cpp_save_state.
648         (c_common_write_pch): Call cpp_write_pch.
649         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
650         cpp_valid_state.
651         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
652         * cppfiles.c (stack_include_file): Update for change to 
653         parameters of cb.read_pch.
654         * cpphash.h (struct cpp_reader): Add `savedstate' field.
655         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
656         `restore_pch_deps' fields.
657         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
658         (cpp_save_state): Prototype.
659         (cpp_write_pch): Prototype.
660         (cpp_valid_state): Prototype.
661         (cpp_read_state): Prototype.
662         * cpppch.c: New file.
663         * flags.h (version_flag): Remove prototype.
664         * mkdeps.c (deps_save): New.
665         (deps_restore): New.
666         * mkdeps.h (deps_save): Prototype.
667         (deps_restore): Prototype.
668         * toplev.c (late_init_hook): Delete.
669         (version_flag): Make static again.
670         (compile_file): Don't call late_init_hook.
671         * toplev.h (late_init_hook): Delete.
672         * doc/cppopts.texi: Document -fpch-deps.
673         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
674
675         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
676
677         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
678         callers.
679         (c_common_valid_pch): Rename from c_valid_pch, change callers.
680         (c_common_read_pch): Rename from c_read_pch, change callers.
681
682         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
683         a space between it and its argument.
684
685         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
686
687         * c-pch.c: New file.
688         * toplev.h (late_init_hook): Declare.
689         * toplev.c (late_init_hook): Define.
690         (version_flag): Make globally visible.
691         (compile_file): Call late_init_hook.
692         (init_asm_output): Make output file seekable.
693         * gcc.c (default_compilers): Update c-header rule.
694         * flags.h (version_flag): Declare.
695         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
696         fields.
697         * cppfiles.c (struct include_file): Add 'pch' field.
698         (INCLUDE_PCH_P): New.
699         (open_file_pch): New.
700         (stack_include_file): Handle PCH files specially.
701         (find_include_file): Call open_file_pch instead of open_file.
702         (_cpp_read_file): Explain why open_file is used instead of
703         open_file_pch.
704         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
705         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
706         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
707         in cpplib callbacks.
708         * c-common.c (pch_file): Correct comment.
709         (allow_pch): Define.
710         (c_common_init): Call pch_init.
711         * c-common.h (allow_pch): Declare.
712         (pch_init): Declare.
713         (c_valid_pch): Declare.
714         (c_read_pch): Declare.
715         (c_write_pch): Declare.
716         * Makefile.in (c-pch.o): New.
717         (C_AND_OBJC_OBJS): Add c-pch.o.
718         * doc/invoke.texi (Precompiled Headers): Add index entries,
719         complete truncated paragraph.
720
721         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
722
723         * c-common.c: (pch_file): Define.
724         * c-common.h (pch_file): Declare.
725         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
726         (missing_arg): Require --output-pch= to have an argument.
727         (c_common_decode_option): Handle --output-pch=.
728         * gcc.c: Document new %V.
729         (default_compilers): Handle compiling C header files.
730         (do_spec_1): Implement %V.
731         (main): Handle "gcc foo.h" without trying to run linker.
732         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
733         (Overall Options): Document what the driver does with header files,
734         document new -x option possibilities.
735         (Invoking G++): More documentation for PCH.
736         (Precompiled Headers): New.
737
738         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
739
740         * ggc.h: Don't include varray.h.  Rearrange functions to be more
741         organized.
742         (ggc_add_root): Delete.
743         (ggc_mark_rtx): Delete.
744         (ggc_mark_tree): Delete.
745         (struct ggc_statistics): Remove contents.
746         * ggc-common.c: Remove unneeded includes.
747         (struct ggc_root): Delete.
748         (roots): Delete.
749         (ggc_add_root): Delete.
750         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
751         (ggc_print_common_statistics): Remove most of the contents.
752         * Makefile.in (GGC_H): No longer uses varray.h.
753         (ggc-common.o): Update dependencies.
754         (c-parse.o): Add varray.h to dependencies.
755         (c-common.o): Add varray.h.
756         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
757         (mark_ident_hash): Rename to ggc_mark_stringpool.
758         (init_stringpool): Don't use ggc_add_root.
759         * c-parse.in: Include varray.h.
760         * c-common.c: Include varray.h.
761         * objc/Make-lang.in (objc-act.o): Add varray.h.
762         * objc/objc-act.c: Include varray.h.
763
764         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
765
766         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
767         (dw_cfi_oprnd1_desc): Likewise.
768
769         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
770
771         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
772         move out of ifdef.
773         (alpha_links): Use gengtype to mark; move out of ifdef.
774         (mark_alpha_links_node): Delete.
775         (mark_alpha_links): Delete.
776         (alpha_need_linkage): Use GGC to allocate splay tree, struct
777         alpha_links, strings.  Don't use ggc_add_root.
778         * ggc-common.c (ggc_splay_alloc): New.
779         (ggc_splay_dont_free): New.
780         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
781         (ggc_mark_tree): Likewise.
782         (splay_tree_new_ggc): New.
783         (ggc_splay_alloc): Declare.
784         (ggc_splay_dont_free): Declare.
785         * dwarf2asm.c: Include gt-dwarf2asm.h.
786         (mark_indirect_pool_entry): Delete.
787         (mark_indirect_pool): Delete.
788         (indirect_pool): Use gengtype to mark.
789         (dw2_force_const_mem): Don't use ggc_add_root.
790         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
791         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
792         (gt-dwarf2asm.h): Depend on s-gtype.
793
794         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
795
796         * tree.h (union tree_type_symtab): Mark `die' field.
797         * Makefile.in (dwarf2out.o): Update dependencies.
798         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
799         hash tables.
800         (dw_cfi_oprnd1_desc): New function.
801         (dw_cfi_oprnd2_desc): New function.
802         (indirect_string_alloc): Delete.
803         (debug_str_do_hash): New function.
804         (debug_str_eq): New function.
805         (mark_limbo_die_list): Delete.
806         (dwarf2out_init): Don't call ggc_add_root.
807
808 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
809
810         The following changes are merged from itanium-sched-branch:
811
812         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
813
814         * doc/md.texi: Clarify assignment of units to automata description.
815
816         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
817
818         * genautomata.c (unit_decl): Remove members
819         `the_same_automaton_unit' and
820         `the_same_automaton_message_reported_p'.
821         (process_unit_to_form_the_same_automaton_unit_lists,
822         form_the_same_automaton_unit_lists_from_regexp,
823         form_the_same_automaton_unit_lists, the_same_automaton_lists):
824         Remove them.
825         (annotation_message_reported_p): New global variable.
826         (check_unit_distribution_in_reserv,
827         check_regexp_units_distribution): New functions.
828         (check_unit_distributions_to_automata): Rewrite it.
829
830         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
831
832         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
833         Use continue instead of break if cycle is too big.
834
835         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
836
837         * genautomata.c (check_unit_distributions_to_automata): Output at
838         most one message for a unit.
839         (process_unit_to_form_the_same_automaton_unit_lists): Check
840         automaton of units instead of units themself.
841
842         * doc/md.texi: Describe the constraint about assigning unit to
843         automata.
844
845         2002-12-20  Jan Hubicka  <jH@suse.cz>
846                     Vladimir Makarov  <vmakarov@redhat.com>
847
848         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
849         and `in_set_p'.
850         (gen_cpu_unit): Initialize the new members.
851         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
852         up `min_occ_cycle_num'.
853         (evaluate_max_reserv_cycles): Change the function call.
854         (CLEAR_BIT): New macro.
855         (states_union, state_shift): Use the mask.
856         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
857         (form_reservs_matter): New function.
858         (make_automaton): Call the function and use the mask.
859         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
860         account.
861         
862         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
863
864         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
865
866         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
867
868         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
869         for Itanium.
870
871         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
872
873         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
874         default cpu.
875
876         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
877                 2002-10-31  Dale Johannesen <dalej@apple.com>
878
879         * haifa-sched.c (find_set_reg_weight): New function.
880         (find_insn_reg_weight): Use the new function.
881         (schedule_block): Do sorting ready queue always
882         after insn issue.
883
884         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
885
886         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
887
888         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
889
890         * haifa-sched.c (choice_entry): New structure.
891         (choice_stack, cycle_issued_insns): New variables.
892         (max_issue): Rewrite it.
893         (choose_ready): Set up ready_try for unknown insns too.
894         (schedule_block): Allocate and free choice_stack.  Set up
895         and modify cycle_issued_insns.
896
897         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
898         with and without filling the bundle.
899         (bundling): Combine calls of issue_nops_and_insn.
900         
901         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
902
903         * config/ia64/itanium1.md: New file.
904
905         * config/ia64/itanium2.md: New file.
906
907         * config/ia64/ia64.md: Move DFA descriptions into the new files.
908         Remove the old pipeline description.
909         
910         * config/ia64/ia64.c (ia64_override_options): Add aliases of
911         itanium processor names.
912         
913         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
914
915         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
916         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
917
918         * config/ia64/ia64.md: Add descriptions for Itanium2.
919
920         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
921
922         * config/ia64/ia64.h (processor_type): New enumeration.
923         (ia64_tune, ia64_tune_string): New external declarations.
924         (TARGET_OPTIONS): Add option `tune='.
925
926         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
927         variables.
928         (ia64_override_options): Set up `ia64_tune'.
929         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
930         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
931         (bundling): Add nops for MM-insns only for Itanium.
932         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
933         Itanium.
934
935         * config/ia64/ia64.md (cpu): New attribute.
936         (DFA description): Enable it only for Itanium.
937         
938         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
939                     Richard Henderson  <rth@redhat.com>
940
941         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
942         MASK_EARLY_STOP_BITS.
943         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
944         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
945         `early-stop-bits'.
946         
947         * config/ia64/ia64.c (ia64_dfa_new_cycle,
948         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
949         instead of TARGET_TUNE_STOP_BITS.
950         
951         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
952         `-mearly-stop-bits'.
953
954         * config/ia64/ia64.c (automata_option "v"): Comment it.
955         
956         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
957
958         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
959         New macros.
960         (TARGET_SWITCHES): Add entries for the new option.
961         
962         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
963         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
964         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
965         global variables.
966         (ia64_sched_reorder2): Set up `clocks'.
967         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
968         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
969         queue when TARGET_TUNE_STOP_BITS.
970         (bundling): Insert additional nops for MM-insns.
971         (final_emit_insn_group_barriers): Add insertion of stop bits
972         according `stops_p'.
973         (ia64_reorg): Initiate the new varibales.
974
975         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
976         
977         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
978
979         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
980         insns at the end of block insn scheduling.
981
982         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
983
984         * sched-deps.c (remove_dependence, group_leader): Remove it.
985         (add_dependence): Add dependence to group leader to.
986         (set_sched_group_p): Add dependence to the first insn of the
987         schedule group too.
988         (sched_analyze_insn): Make dependence to jump as anti-dependence.
989         Change true dependence by anti-dependence when
990         `reg_pending_barrier'.
991
992         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
993         add_branch_dependences): Ignore schedule groups.
994
995         * sched-ebb.c (init_ready_list): Ditto.
996
997         * (move_insn, set_priorities): Ditto.
998
999         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1000         flag is clear after reload.
1001         (adjust_cost): Change cost only for output dependencies.
1002         
1003         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1004         
1005         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1006
1007         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1008
1009         * target.h (gcc_target): Add member
1010         `dependencies_evaluation_hook'.
1011
1012         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1013         macro.
1014         (TARGET_SCHED): Add initiatialization of the new member.
1015
1016         * sched-ebb.c: Include `target.h'.
1017         (schedule_ebb): Call `dependencies_evaluation_hook'.
1018
1019         * sched-rgn.c (schedule_region): Call
1020         `dependencies_evaluation_hook'.
1021
1022         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1023         New macro.
1024         (ia64_dependencies_evaluation_hook): New function.
1025
1026         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1027         Describe the new hook.
1028         
1029         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1030
1031         * target.h (gcc_target): Add members
1032         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1033
1034         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1035         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1036         macros.
1037         (TARGET_SCHED): Add initiatialization of the new members.
1038
1039         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1040         insn scheduling too.
1041         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1042         initialize `ready_try'.
1043         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1044         `dfa_new_cycle' says not to do it.
1045         
1046         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1047         bundling.
1048
1049         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1050
1051         * config/ia64/ia64.c: Include `hashtab.h'.
1052         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1053         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1054         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1055         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1056         bundle_state_eq_p, insert_bundle_state,
1057         initiate_bundle_state_table, finish_bundle_state_table,
1058         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1059         get_template, get_next_important_insn, bundling): New functions.
1060         (ia64_internal_sched_reorder): Remove it.
1061         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1062         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1063         (ia64_safe_itanium_requires_unit0): Remove it.
1064         (group_barrier_needed_p): Place group barrier right before a real
1065         insn.
1066         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1067         Remove them.
1068         (bundle_name): New variable.
1069         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1070         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1071         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1072         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1073         temp_dfa_state, prev_cycle_state): New global variables.
1074         (insn_matches_slot, maybe_rotate, finish_last_head,
1075         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1076         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1077         find_best_packet, itanium_reorder, dump_current_packet,
1078         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1079         (sched_data, sched_ready, sched_types): Remove them.
1080         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1081         `init_insn_group_barriers'.
1082         (ia64_sched_reorder, ia64_sched_reorder2): Call
1083         ia64_dfa_sched_reorder.
1084         (ia64_variable_issue): Rewrite it.
1085         (bundle_state): New structure.
1086         (index_to_bundle_states, bundle_states_num,
1087         allocated_bundle_states_chain, free_bundle_state_chain): New
1088         global variables.
1089         (ia64_sched_finish): Add stop bits and call `bundling' after the
1090         2nd insn scheduling.
1091         (ia64_use_dfa_pipeline_interface): Return zero always.
1092         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1093         insn scheduling.
1094         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1095         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1096         (ia64_reorg): Add bundling insns.
1097
1098         * doc/tm.texi
1099         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1100         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1101         
1102         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1103
1104         * config/ia64/ia64.md: Add Itanium1 DFA description.
1105         (itanium_class): Add `nop' and `pre_cycle'.  Add
1106         define_function_unit for `nop'.
1107         (nop): Change attribute `itanium_class'.
1108         (pre_cycle): New define_insn.
1109
1110         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1111         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1112         ia64_produce_address_p): New function prototypes.
1113
1114         * config/ia64/ia64.c (bundling_p): New global variable.
1115         (ia64_use_dfa_pipeline_interface,
1116         ia64_first_cycle_multipass_dfa_lookahead,
1117         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1118         functions.
1119         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1120         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1121         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1122         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1123         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1124         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1125         (dfa_pre_cycle_insn): New variable.
1126         
1127         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1128
1129         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1130         constructions.
1131
1132         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1133         New function prototypes.
1134
1135         * genattrtab.c (main): Process the new constructions.
1136
1137         * genautomata.c (gen_presence_absence_set,
1138         process_presence_absence_names, process_presence_absence_patterns,
1139         add_presence_absence, check_absence_pattern_sets): Add parameter
1140         `final_p'.
1141         (unit_decl): Add new members `final_presence_list' and
1142         `final_absence_list'.
1143         (unit_pattern_rel_decl): Add new member `final_p'.
1144         (gen_final_presence_set, gen_final_absence_set): New functions.
1145         (process_decls): Use member `final_p'.
1146         (temp_reserv): New global variable.
1147         (reserv_sets_are_intersected): Add processing `final_presence_set'
1148         and `final_absence_set'.
1149         (initiate_states): Allocate `temp_reserv'.
1150         (unit_final_presence_set_table, unit_final_absence_set_table): New
1151         gloabal variables.
1152         (initiate_presence_absence_pattern_sets): Initiate them.
1153         (NDFA_to_DFA): Fix typo.
1154         (output_description): Output `final_presence_set' and
1155         `final_absence_set'.
1156
1157         * doc/md.texi (final_presence_set, final_absence_set): Describe
1158         them.
1159         
1160         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1161
1162         * genautomata.c (transform_3): Process a missing case (nothing on
1163         unit place).
1164
1165         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1166
1167         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1168         comments about queried units and the minimization.
1169         
1170         * doc/md.texi: Ditto.
1171         
1172         * genautomata.c (create_composed_state): Return nonzero if the new
1173         state has been created.
1174         (first_cycle_unit_presence): New function.
1175         (state_is_differed): Add new parameter.  Use the new function.
1176         Take queried units into account.
1177         (partition_equiv_class): Pass additional parameter to
1178         `state_is_differed'.
1179         (merge_states): Process composed states too.
1180         (build_automaton, create_automata, output_min_issue_delay_table,
1181         output_tables, output_statistics): Output more information.
1182         (output_reserved_units_table): Use function
1183         `first_cycle_unit_presence'.
1184         (output_tables): Output table of queried units even if the
1185         minimization is switched on.
1186         (write_automata): Output code for querying units even if the
1187         minimization is switched on.
1188         
1189         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1190
1191         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1192         syntax of the constructions.
1193         
1194         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1195         extended syntax of the constructions.
1196         
1197         * genautomata.c (unit_rel_decl): Rename it to
1198         `unit_pattern_rel_decl'.
1199         (pattern_set_el, pattern_reserv): New structures.
1200         (pattern_set_el_t, pattern_reserv_t): New types.
1201         (gen_presence_absence_set): New function.
1202         (process_presence_absence): Remove it.
1203         (process_presence_absence_names,
1204         process_presence_absence_patterns): New functions.
1205         (get_presence_absence_set): Remove it.
1206         (initiate_presence_absence_sets): Rename it on
1207         `initiate_presence_absence_pattern_sets'.  Use new function
1208         `form_reserv_sets_list'.
1209         (form_reserv_sets_list, check_presence_pattern_sets,
1210         check_absence_pattern_sets, output_pattern_set_el_list): New
1211         functions.
1212         (unit_decl): Change types of members `presence_list' and
1213         `absence_list'.
1214         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1215         (decl): Change types of members `excl', `presence', and `absence'.
1216         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1217         at the end of the vector.
1218         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1219         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1220         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1221         (gen_presence_set, gen_absence_set): Use new function
1222         `gen_presence_absence_set'.
1223         (add_presence_absence): Process `pattern_list' instead of
1224         `source_list'.
1225         (process_decls): USe new functions
1226         `process_presence_absence_names' and
1227         `process_presence_absence_patterns'.
1228         (reserv_sets_are_intersected): Use new function
1229         `check_presence_pattern_sets'.
1230         (presence_set, absence_set): Remove them.
1231         (unit_presence_set_table, unit_absence_set_table): New global
1232         variables.
1233         (output_description): Use new function
1234         `output_pattern_set_el_list'.
1235         (generate): Use `initiate_presence_absence_pattern_sets'.
1236         
1237         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1238
1239         * genattr.c (main): Add output of prototype of new interface
1240         function `dfa_clean_insn_cache'.
1241
1242         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1243         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1244         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1245         the generated code.
1246         (write_automata): Call the new function.
1247         
1248 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1249
1250         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1251         correctly.
1252
1253 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1254
1255         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1256
1257 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1258
1259         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1260         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1261         (CONSTRAINT_LEN): Provide default definition.
1262         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1263         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1264         (EXTRA_CONSTRAINT_STR): Likewise.
1265         (REG_CLASS_FROM_CONSTRAINT): Define.
1266         * genoutput.c (check_constraint_len, constraint_len): New functions.
1267         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1268         constraint / modifier.
1269         (gen_insn): Call check_constraint_len.
1270         * local-alloc.c (block_alloc): Update to use new macros / pass
1271         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1272         * ra-build.c (handle_asm_insn): Likewise.
1273         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1274         (constrain_operands, peep2_find_free_register): Likewise.
1275         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1276         * regmove.c (find_matches): Likewise.
1277         * reload.c (push_secondary_reload, find_reloads): Likewise.
1278         (alternative_allows_memconst): Likewise.
1279         * reload1.c (maybe_fix_stack_asms): Likewise.
1280         (reload_cse_simplify_operands): Likewise.
1281         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1282         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1283         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1284         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1285         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1286         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1287
1288         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1289
1290 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1291
1292         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1293         length.
1294         (*extzv_1_r_h8300hs): Likewise.
1295         (*extzv_1_r_inv_h8300): Likewise.
1296         (*extzv_1_r_inv_h8300hs): Likewise.
1297
1298 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1299
1300         * config/h8300/h8300.h (PREDICATE_CODES): New.
1301
1302 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1303
1304         * config/h8300/h8300.md (*addsi3_upper): New.
1305         (*iorsi3_shift): Likewise.
1306         (two splitters): Likewise.
1307         (*addsi3_shift): Likewise.
1308         (two splitters): Likewise.
1309
1310 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1311
1312         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1313         * basic-block.h (control_flow_insn_p): Fuction was exported.
1314         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1315         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1316         notes only when the region is contained in a single basic block.
1317
1318 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1319
1320         PR inline-asm/8832
1321         * tree.h (expand_asm): New prototype.
1322         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1323         to do so.
1324         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1325         down to expand_asm.
1326         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1327         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1328         (volatile_refs_p) [ASM_INPUT]: Likewise.
1329         (side_effects_p) [ASM_INPUT]: Likewise.
1330
1331 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1332
1333         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1334         athlon_decode attributes
1335         (imul/k8 optimization peep2s): New.
1336
1337         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1338         * i386.md (type attribute): Add ssecomi.
1339         (unit, memory, prefix attributes): Handle ssecomi.
1340         (cvt?2? patterns): Fix athlon_decode attribute
1341         (comi patterns): Set attribute to ssecomi.
1342
1343         PR target/8343
1344         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1345
1346 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1347
1348         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1349         that match register_operands.
1350         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1351         register_operand the default case.
1352
1353 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1354
1355         PR c/8032
1356         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1357         an empty element, do not advance the pointer to unfilled
1358         fields if there are pending initializers.
1359
1360 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1361
1362         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1363         (install-gcc-tooldir, install-cpp, installdirs,
1364         install-common, install-driver, install-info, install-man,
1365         install-headers, install-include-dir, install-headers-tar,
1366         install-headers-cpio, install-headers-cp, install-mkheaders,
1367         install-collect2, uninstall): Prepend $(DESTDIR) to
1368         destination paths in all (un)installation commands.
1369         (install-driver): Rewrite $(LN) commands to support DESTDIR
1370         with "ln" as well as with "ln -s".
1371         (installdirs): Simply use mkinstalldirs.
1372         (install-libgcc, install-multilib): Also pass DESTDIR.
1373         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1374         installation destination variable ldir.
1375         * config/alpha/t-osf4, config/arm/t-netbsd,
1376         config/ia64/t-hpux, config/mips/t-iris5-6,
1377         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1378         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1379         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1380         in the definition of SHLIB_INSTALL.
1381         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1382         $(libsubdir) in the installation commands.
1383
1384 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1385
1386         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1387         non-optimizing compile.
1388         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1389         compile.
1390
1391 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1392
1393         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1394         ms_struct and gcc_struct.
1395         (ix86_handle_struct_attribute): New function.
1396         (ix86_ms_bitfield_layout_p): Update to take new attributes
1397         into account.
1398         * doc/extend.texi: Document new attributes.
1399         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1400
1401 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1402
1403         PR optimization/8750
1404         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1405         scheduling pass to move insns across __alloca call.
1406
1407 2003-01-08  Dale Johannesen  <dalej@apple.com>
1408
1409         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1410         with *stmsi[3-8].
1411
1412 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1413
1414         PR target/9210
1415         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1416         Set SYMBOL_REF_FLAG on local data sym_ref.
1417
1418 2003-01-08  Dale Johannesen  <dalej@apple.com>
1419  
1420         * function.c (assign_parms):  Don't set pretend_args_size if 
1421           REG_PARM_STACK_SPACE.
1422           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set 
1423           pretend_args_size.
1424
1425 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1426
1427         * gcc.hlp: Delete.
1428
1429 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1430
1431         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1432
1433 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1434
1435         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1436         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1437         as hook_bool_tree_hwi_hwi_tree_true.
1438         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1439         (rs6000_emit_epilogue): Same.
1440         (rs6000_output_mi_thunk): Re-implement as RTL.
1441         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1442         xcoffout_declare_function if any debugging enabled.
1443
1444 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1445
1446         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1447         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1448         * config/mips/mips.h (enum processor_type): Rename
1449         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1450         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1451         Add PROCESSOR_M4K.
1452         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1453         (ISA_MIPS32R2): New define.
1454         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1455         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1456         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1457         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1458         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1459         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1460         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1461         compiling MIPS16 code.
1462         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1463         comment.
1464         (ISA_HAS_SEB_SEH): New define.
1465         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1466         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1467         processor_type value renaming.  Add support for MIPS32R2.
1468         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1469         entries.
1470         (override_options): Reimplement -mipsN option handling so that
1471         it will work correctly for -mips32r2.  Avoid branch-likely
1472         instructions on MIPS32R2.
1473         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1474         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1475         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1476         (extendhisi2_hw, extendqisi2_hw): New.
1477         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1478         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1479         MIPS32R2, and MIPS64.
1480         (LINK_SPEC): Pass -mips32r2 to linker.
1481         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1482         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1483         for mips32r2 in the -march description.  Alphabetically sort
1484         CPU names in the -march description.  Add long-missed -mips32
1485         and -mips64 to MIPS option summary.
1486
1487         * config.gcc: Update copyright years to include 2003.
1488         * config/mips/mips.c: Likewise.
1489         * config/mips/mips.h: Likewise.
1490         * config/mips/mips.md: Likewise.
1491         * config/mips/netbsd.h: Likewise.
1492         * doc/invoke.texi: Likewise.
1493
1494 2003-01-08  Andreas Schwab  <schwab@suse.de>
1495
1496         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1497         variable.
1498         * configure: Regenerated.
1499
1500 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1501
1502         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1503         extraction of det with b0, b1, w0, w2, etc.
1504         (compute_logical_op_length): Likewise.
1505         (compute_logical_op_cc): Likewise.
1506
1507 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1508
1509         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1510         HIGH on all variants.
1511
1512 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1513         
1514         * Makefile.in (PARTITION_H): New.
1515         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1516         * basic-block.h: Include hard-reg-set.h.
1517
1518 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1519
1520         * arm.h (ENABLE_XF_PATTERNS): Delete.
1521         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1522         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1523         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1524         (cmpxf_trap): Delete.
1525         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1526
1527 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1528
1529         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1530         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1531         (add??cc): New expanders.
1532         * i386.c (expand_int_addcc): New function.
1533         * i386-protos.h (expand_int_addcc): Declare.
1534
1535         * alias.c (memory_modified_1): New static function.
1536         (memory_modified): New static varaible.
1537         (memory_modified_in_insn_p): New global function.
1538         * rtl.h (memory_modified_in_insn_p): Declare.
1539         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1540         references.
1541
1542         * expr.h (emit_conditional_add): Declare.
1543
1544 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1545
1546         PR other/8947
1547         * doc/invoke.texi (-malign-double): Explain that the option breaks
1548         binary compatibility.
1549
1550 2003-01-08  Andreas Schwab  <schwab@suse.de>
1551
1552         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1553         should come from the generic *-*-linux* entry.
1554
1555 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1556
1557         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1558         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1559         we are inside libcall.
1560         * cselib.h (elt_loc_list): Add in_libcall.
1561         * gcse.c (do_local_cprop): Do not copy propagate using insns
1562         in libcalls.
1563
1564 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1565
1566         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1567         not normally affect to issue rate.
1568
1569 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1570
1571         * genopinit.c (optabs): Add addc_optab.
1572         * ifcvt.c (noce_try_store_flag): Rename to ...
1573         (noce_try_addcc): ... this one; handle generic conditional increment.
1574         (noce_process_if_block): Update noce_try_addcc call.
1575         * optabs.c (emit_conditional_add): New.
1576         (init_obtabs): Initialize addc_optab.
1577         * optabs.h (optab_index): Add OTI_addcc.
1578         (addcc_optab): New macro.
1579         * md.texi: Document addMcc
1580
1581         PR target/8322
1582         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1583         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1584         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1585
1586         * reload1.c (delete_output_reload): Avoid repeated attempts
1587         to delete insn.
1588
1589 2003-01-07  Andreas Schwab  <schwab@suse.de>
1590
1591         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1592         Move --enable-initfini-array check ...
1593         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1594         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1595         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1596         * configure: Rebuild.
1597
1598 2003-01-07  Richard Henderson  <rth@redhat.com>
1599
1600         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1601         if the register is set once.
1602
1603 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1604   
1605         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1606         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1607         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1608
1609 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1610             Sunil Davasam  <sunil.k.davasam@intel.com>
1611
1612         PR libstdc++/9076 
1613         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1614         DW_CFA_same_value, read next and ignore.
1615
1616 2003-01-07  Richard Henderson  <rth@redhat.com>
1617
1618         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1619
1620 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1621
1622         * cfg.c: Include alloc-pool.h
1623         (edge_pool): New pool.
1624         (bb_pool): New pool.
1625         (first_deleted_edge): Remove.
1626         (first_deleted_block): Remove.
1627         (init_flow): Alloc/free the pools.
1628         (free_edge): Use pools.
1629         (alloc_block): Ditto.
1630         (expunge_block): Ditto.
1631         (cached_make_edge): Ditto.
1632
1633         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1634
1635 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1636
1637         * et-forest.c: Include alloc-pool.h.
1638         (struct et_forest): Add node_pool and occur_pool.
1639         (et_forest_create): Create the new pools.
1640         (et_forest_delete): Delete them.
1641         (et_forest_add_node): Allocate and free using pools.
1642         (et_forest_add_edge): Ditto.
1643         (et_forest_remove_node): Ditto.
1644         (et_forest_remove_edge): Ditto.
1645
1646         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1647
1648 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1649
1650         * config/h8300/h8300.c (output_logical_op): Simplify and
1651         optimize the handling of SImode.
1652         * config/h8300/h8300.c (compute_logical_op_length): Update
1653         accordingly.
1654         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1655
1656 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1657
1658         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1659         big-endian correction to indirect arguments too.
1660
1661 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1662
1663         Segher Boessenkool  <segher@koffie.nl>
1664
1665         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1666         (alt_reg_names): Ditto, fix formatting.
1667         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1668
1669 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1670
1671         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1672         (output_logical_op): Constify intval and det.
1673         (compute_logical_length): Likewise.
1674         (compute_logical_cc): Likewise.
1675         (output_a_shift): Constify mask.
1676         (h8300_encode_label): Constify len.
1677
1678 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1679
1680         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1681         (h8300_expand_epilogue): Likewise.
1682
1683 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1684
1685         Segher Boessenkool  <segher@koffie.nl>
1686
1687         * config/rs6000/altivec.md: Remove spaces from assembler
1688         instruction argument lists.
1689         
1690 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1691
1692         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1693         c4x_assembler_function_p.
1694         (c4x_null_epilogue_p): Complement return value, all uses updated.
1695         (c4x_insert_attributes): Add naked.
1696         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1697         * doc/extend.texi: Update C4x function attributes.
1698
1699 2003-01-06  Richard Henderson  <rth@redhat.com>
1700
1701         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1702         properly when changing "local-ness".
1703         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1704
1705 2003-01-06  Dale Johannesen  <dalej@apple.com>
1706
1707         * config/darwin-protos.h:  Add prototypes for new section functions.
1708
1709 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1710
1711         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1712         to EABI.
1713
1714 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1715
1716         * hwint.h: If the current compiler has no 64-bit type at all,
1717         make HOST_WIDEST_INT 32 bits.
1718
1719 2003-01-06  Eric Christopher  <echristo@redhat.com>
1720
1721         * config/mips/mips.md (movdf_internal2): Fix constraints.
1722
1723 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1724
1725         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1726
1727 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1728
1729         * config/mips/mips.md (leadi): Use dla rather than la.
1730
1731 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1732
1733         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1734         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1735
1736 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1737
1738         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1739         redefinition.
1740
1741 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1742
1743         * config/h8300/h8300.md (*extzv_8_23): New.
1744
1745 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1746
1747         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1748         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1749         USE_EH_FRAME_REGISTRY when defining.
1750
1751 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1752
1753         * config/h8300/h8300.c (output_a_shift): Do not output a
1754         variable shift.
1755         * config/h8300/h8300.md (two splitters): New.
1756
1757 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1758
1759         * config/mips/mips.md: Disable the movstrsi define_split.
1760
1761 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1762
1763         * alloc-pool.c: Don't include "libiberty.h".
1764         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1765         * convert.c (convert_to_real): Hide unused variable.
1766
1767 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1768
1769         * Makefile.in (gtyp-gen.h): Const-ify.
1770         * gcov-dump.c (tag_table): Likewise.
1771
1772 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1773
1774         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1775         of *both* the file name and the fix name.
1776
1777 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
1778
1779         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
1780         collect2.
1781         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1782         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1783         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1784         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1785         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1786         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1787         elfos.h.
1788         (EH_FRAME_IN_DATA_SECTION): Delete define.
1789         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1790         (STARTFILE_SPEC): Use crtbegin.o.
1791         (ENDFILE_SPEC): Use crtend.o.
1792         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1793         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1794         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1795         DTOR_LIST_BEGIN): Define.
1796         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
1797         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
1798         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
1799
1800 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
1801
1802         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
1803         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
1804         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
1805         Cleanup handling of replacement text.
1806         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
1807
1808 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1809
1810         * fixinc/tests/base/math.h: removed obsolete results
1811         * fixinc/tests/base/stdlib.h: ditto
1812         * fixinc/tests/base/sys/param.h: ditto
1813         * fixinc/tests/base/sys/stat.h: ditto
1814         * fixinc/tests/base/time.h: ditto
1815         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
1816         * fixinc/tests/base/sys/byteorder.h: ditto
1817         * fixinc/inclhack.def: Remove superfluous backslashes
1818
1819 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
1820
1821         * config/h8300/h8300-protos.h: Add prototypes for
1822         the new functions defined below.
1823         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
1824         define.
1825         (dosize): Emit RTL instead of assembly code.
1826         (push): Likewise.
1827         (pop): Likewise.
1828         (h8300_output_function_prologue): Remove.
1829         (h8300_expand_prologue): New.
1830         (h8300_expand_epilogue): New.
1831         (h8300_output_function_epilogue): Do only the reset of
1832         pragma_saveall.
1833         * config/h8300/h8300.md (push_h8300): New.
1834         (push_h8300hs): Likewise.
1835         (pop_h8300): Likewise.
1836         (pop_h8300hs): Likewise.
1837         (*stm_h8300s_2): Change the name to stm_h8300s_2.
1838         (*stm_h8300s_3): Change the name to stm_h8300s_3.
1839         (*stm_h8300s_4): Change the name to stm_h8300s_4.
1840         (*ldm_h8300s_2): New.
1841         (*ldm_h8300s_3): Likewise.
1842         (*ldm_h8300s_4): Likewise.
1843         (return): Likewise.
1844         (*return_1): Likewise.
1845         (prologue): Likewise.
1846         (epilogue): Likewise.
1847         (monitor_prologue): Likewise.
1848
1849 2003-01-03  Dale Johannesen  <dalej@apple.com>
1850
1851         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
1852           machopic_picsymbol_stub1.
1853           (EXTRA_SECTION_FUNCTIONS):  Ditto.
1854         * rs6000/rs6000.c:  Update copyright.
1855           (machopic_output_stub):  Use them.  Remove an insn from stub code.
1856
1857 2003-01-02  Jason Merrill  <jason@redhat.com>
1858
1859         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
1860
1861         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
1862         static/external decls.
1863
1864         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
1865         outermost scope.
1866         * c-decl.c (c_make_fname_decl): Push the decls there, too.
1867
1868 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
1869
1870         * config/h8300/h8300-protos.h: Add a prototype for
1871         h8300_current_function_interrupt_function_p.
1872         * config/h8300/h8300.c (interrupt_handler): Remove.
1873         (os_task): Likewise.
1874         (monitor): Likewise.
1875         (pragma_interrupt): New.
1876         (WORD_REG_USED): Use
1877         h8300_current_function_interrupt_function_p.
1878         (dosize): Likewise.
1879         (h8300_output_function_prologue): Likewise.
1880         Do not set interrupt_handler, os_task, monitor.
1881         (h8300_output_function_prologue): Use
1882         h8300_current_function_interrupt_function_p.
1883         Do not set interrupt_handler, os_task, monitor.
1884         (h8300_current_function_interrupt_function_p): New.
1885         (h8300_pr_interrupt): Set pragma_interrupt.
1886         (h8300_insert_attributes): Reset pragma_interrupt.
1887
1888 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1889
1890         * doc/install.texi (Configuration): Fix markup for reference to
1891         gcc/config.gcc.
1892
1893 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
1894
1895         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
1896         (*iorhi3_two_qi): Likewise.
1897         (*iorsi3_zexthi): Likewise.
1898         (*xorhi3_zextqi): Likewise.
1899         (*xorsi3_zexthi): Likewise.
1900         (*xorsi3_zextqi): Likewise.
1901
1902 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
1903
1904         * config/h8300/h8300.c (stack_pointer_operand): New.
1905         (const_int_gt_2_operand): Likewise.
1906         (const_int_ge_8_operand): Likewise.
1907         * config/h8300/h8300.md (a splitter): Likewise.
1908         (a peephole2): Likewise.
1909         * config/h8300/h8300-protos.h: Add prototypes for the new
1910         functions above.
1911
1912 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
1913
1914         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
1915         objc/objc-act.h: Fix copyright years.
1916
1917 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
1918
1919         * doc/passes.texi: Fix documentation for -fssa-ccp
1920
1921 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
1922
1923         * gccbug.in: Update for new categories.
1924
1925 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
1926
1927         * config/h8300/h8300.md: Reorder some patterns.
1928
1929 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
1930
1931         * config/h8300/h8300.c (output_logical_op): Fix a warning.
1932
1933 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
1934
1935         * config/darwin-protos.h, config/c4x/c4x-protos.h,
1936         config/cris/cris-protos.h, config/i370/i370-protos.h,
1937         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
1938         config/v850/v850-protos.h: Use struct, and don't conditionally
1939         compile on GCC_C_PRAGMA_H.
1940
1941 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
1942
1943         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
1944         * config/h8300/h8300-protos.h: Likewise.
1945         * config/sh/sh-protos.h: Likewise.
1946
1947 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
1948
1949         * config/arm/arm-protos.h: Use struct cpp_reader instead of
1950         cpp_reader.
1951         * config/h8300/h8300-protos.h: Likewise.
1952         * config/sh/sh-protos.h: Likewise.
1953
1954 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
1955
1956         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
1957         arm_pr_long_calls_off): Use struct.
1958         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
1959         : Similarly.
1960         Don't include cpplib.h.
1961         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
1962         sh_pr_nosave_low_regs): Similarly.
1963
1964 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
1965
1966         * config/h8300/h8300.c: Include cpplib.h.
1967
1968 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
1969
1970         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
1971           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
1972           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
1973           "GCC" in the copyright header.
1974
1975 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
1976
1977         * c-pragma.c (c_register_pragma): New.
1978         (init_pragma): Use it.
1979         * c-pragma.h (cpp_register_pragma): Don't declare.
1980         (c_register_pragma): New.
1981         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
1982         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
1983         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
1984         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
1985         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
1986         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
1987         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
1988         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
1989         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
1990         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
1991         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
1992         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
1993
1994 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
1995
1996         * config/h8300/h8300-protos.h: Update the prototypes.
1997         * config/h8300/h8300.c (const_le_2_operand): Change to
1998         const_int_le_2_operand.
1999         (const_int_le_6_operand): Change to const_int_le_6_operand.
2000         * config/h8300/h8300.md (two peepholes): Update the function
2001         names.
2002
2003 2002-12-31  Tom Tromey  <tromey@redhat.com>
2004
2005         * doc/install.texi (Testing): Fixed typo.
2006
2007 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2008
2009         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2010         (TRAMPOLINE_SIZE): Support the normal mode.
2011         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2012
2013 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2014
2015         * c-common.h (pending_lang_change): Declare.
2016
2017 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2018
2019         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2020         descriptions.
2021
2022 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2023
2024         * gcc/doc/invoke.texi (Optimization Options): List the options
2025         enabled by each -O flag.
2026
2027 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2028
2029         * doc/install.texi (Configuration): Explicitly refer
2030         gcc/config.gcc for a list of cpu models.
2031
2032 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2033
2034         * config/h8300/h8300.h: Fix comment typos.
2035
2036 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2037
2038         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2039
2040 2002-12-30  Tom Tromey  <tromey@redhat.com>
2041
2042         * doc/install.texi (Testing): Mention Jacks.
2043
2044 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2045
2046         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2047
2048 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2049
2050         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2051         cases.
2052         (compute_logical_op_length): Update to reflect the change in
2053         output_logical_op.
2054         (compute_logical_op_cc): Likewise.
2055
2056 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2057
2058         * doc/service.texi: Uncomment and update FAQ link.
2059
2060 2002-12-30  Andreas Jaeger  <aj@suse.de>
2061
2062         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2063
2064 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2065
2066         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2067
2068 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2069
2070         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2071         are clearing the most significant byte.
2072         (compute_logical_op_length): Update to reflect the change in
2073         output_logical_op.
2074         (compute_logical_op_cc): Likewise.
2075
2076 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2077
2078         * config/h8300/h8300.md: Give internal names to anonymous
2079         insns.
2080
2081 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2082
2083         * config/h8300/h8300.md: Reorder some insns.
2084
2085 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2086
2087         * config/h8300/h8300-protos.h: Add prototypes for
2088         const_int_qi_operand and const_int_hi_operand.
2089         * config/h8300/h8300.c (const_int_qi_operand): New.
2090         (const_int_hi_operand): Likewise.
2091         * config/h8300/h8300.md (three peepholes): New.
2092
2093 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2094
2095         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2096         Use @copying.
2097
2098 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2099
2100         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2101         * configure: Regenerate.
2102         * doc/install.texi: Update Texinfo version requirement.
2103
2104 2002-12-28  Andreas Jaeger  <aj@suse.de>
2105
2106         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2107         possibly unused.
2108
2109         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2110         correct format.
2111
2112 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2113
2114         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2115         *iorhi_ashift_8.
2116         (*iorhi_lshiftrt_8): New.
2117
2118 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2119
2120         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2121
2122 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2123
2124         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2125
2126 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2127
2128         * config/h8300/h8300-protos.h: Fix comment typos.
2129         Update copyright.
2130         * config/h8300/h8300.c: Fix comment typos.
2131
2132 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2135
2136 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2137
2138         * config/i386/athlon.md: Fix comment typos.
2139         * config/i386/crtdll.h: Likewise.
2140         * config/i386/djgpp.h: Likewise.
2141         * config/i386/i386-interix.h: Likewise.
2142         * config/i386/i386.c: Likewise.
2143         * config/i386/i386.h: Likewise.
2144         * config/i386/i386.md: Likewise.
2145         * config/i386/k6.md: Likewise.
2146         * config/i386/mingw32.h: Likewise.
2147         * config/i386/pentium.md: Likewise.
2148         * config/i386/sco5.h: Likewise.
2149         * config/i386/winnt.c: Likewise.
2150         * config/i386/xmmintrin.h: Likewise.
2151
2152 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2153
2154         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2155         INSN_P before checking to see if it is dead.
2156         (mark_all_insn_unnecessary): Similarly.
2157         (ssa_eliminate_dead_code): Similarly.
2158         * rtl.h (struct rtx_def): Update comments for in_struct usage
2159         in dead code elimination pass.
2160         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2161
2162 2002-12-26  Andreas Schwab  <schwab@suse.de>
2163
2164         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2165
2166 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2167
2168         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2169         tartet_flags_explicit.
2170         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2171         Compact target_flags bits.
2172         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2173         (TARGET_SWITCHES): Delete references to *_SET flags.
2174
2175 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2176
2177         * i386.md (memory attribute): Fix setcc attribute.
2178
2179 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2180
2181         * output.h: Fix comment typos.
2182         * predict.c: Likewise.
2183         * print-tree.c: Likewise.
2184         * profile.c: Likewise.
2185         * ra-build.c: Likewise.
2186         * ra-colorize.c: Likewise.
2187         * ra-debug.c: Likewise.
2188         * ra-rewrite.c: Likewise.
2189         * ra.c: Likewise.
2190         * ra.h: Likewise.
2191         * real.c: Likewise.
2192         * recog.c: Likewise.
2193         * reg-stack.c: Likewise.
2194         * regclass.c: Likewise.
2195
2196 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2197
2198         * config/h8300/h8300.c (print_operand_address): Do not negate
2199         a negative number when printing one.
2200
2201 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2202
2203         * config/h8300/h8300-protos.h: Add prototypes for
2204         output_plussi, compute_plussi_length, and compute_plussi_cc.
2205         * config/h8300/h8300.c (output_plussi): New.
2206         (compute_plussi_length): Likewise.
2207         (compute_plussi_cc): Likewise.
2208         * config/h8300/h8300.md (addsi_h8300h): Call
2209         output_plussi, compute_plussi_length, and compute_plussi_cc.
2210
2211 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2212
2213         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2214         of match_operand in the new patterns.
2215
2216 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2217
2218         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2219
2220 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2221
2222         * configure.in (enable-coverage): Add SELF_COVERAGE.
2223         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2224
2225 2002-12-24  Jim Wilson  <wilson@redhat.com>
2226
2227         * alias.c (record_set): Handle multi-reg hard registers.
2228
2229 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2230
2231         * regmove.c: Fix comment typos.
2232         * reload.c: Likewise.
2233         * reload1.c: Likewise.
2234         * resource.c: Likewise.
2235         * rtl.def: Likewise.
2236         * rtl.h: Likewise.
2237         * rtlanal.c: Likewise.
2238         * sched-deps.c: Likewise.
2239         * sched-rgn.c: Likewise.
2240         * sibcall.c: Likewise.
2241         * simplify-rtx.c: Likewise.
2242         * ssa-ccp.c: Likewise.
2243         * ssa.c: Likewise.
2244         * stmt.c: Likewise.
2245         * stor-layout.c: Likewise.
2246         * system.h: Likewise.
2247         * tlink.c: Likewise.
2248         * toplev.c: Likewise.
2249         * tracer.c: Likewise.
2250         * tree-inline.c: Likewise.
2251         * tree.c: Likewise.
2252         * tree.h: Likewise.
2253         * unroll.c: Likewise.
2254         * varasm.c: Likewise.
2255
2256 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2257
2258         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2259         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2260         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2261         DG/UX entries.
2262         * doc/md.texi: Remove AMD 29K entries.
2263         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2264         1.38.1, NewsOS, RT PC, WE32K entries.
2265
2266 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2267
2268         PR/8763
2269         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2270         (altivec_vspltisw_v4sf): Name pattern.
2271         (altivec_vslw_v4sf): New pattern.
2272
2273 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2274
2275         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2276
2277 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2278
2279         * stor-layout.c (update_alignment_for_field): Correct handling of
2280         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2281         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2282         bitfield does not affect alignment.
2283
2284 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2285
2286         * expr.c (expand_assignment): Apply special treatment to
2287         ARRAY_TYPE.
2288
2289 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2290
2291         * config/h8300/h8300-protos.h: Update the prototype of
2292         expand_a_shift.
2293         * config/h8300/h8300.c (expand_a_shift): Change the return
2294         type to void.
2295         * config/h8300/h8300.md: Update all the uses of
2296         expand_a_shift.
2297
2298 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2299
2300         * tree.c (save_expr): Allow either side of a dyadic operand to be
2301         constant.
2302
2303         * doc/portability.texi (portability): Update portability goals.
2304
2305 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2306
2307         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2308
2309 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2310
2311         * stor-layout.c (update_alignment_for_field): Guard use of
2312         ADJUST_FIELD_ALIGN with #ifdef.
2313
2314         * stor-layout.c (update_alignment_for_field): Use
2315         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2316         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2317
2318 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2319
2320         * genautomata.c: Fix comment typos.
2321
2322 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2323
2324         * params.def (tracer-min-branch-probability-feedback): Fix default.
2325         * final.c (compute_alignments): Use profile to avoid code bloat.
2326
2327 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2328
2329         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2330         sequences end with a valid cc0 whenever possible.
2331
2332 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2333
2334         * config/h8300/h8300.md (negsf2): New.
2335         (*negsf2_h8300): Likewise.
2336         (*negsf2_h8300hs): Likewise.
2337
2338 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2339
2340         * integrate.c (output_inline_function): Don't hold private
2341         pointers to 'struct function' over GC calls.
2342
2343 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2344
2345         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2346         NO_FPSCR_VALUES.
2347         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2348
2349 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2350
2351         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2352         length.
2353
2354 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2355
2356         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2357         second alternative "#".
2358         (*zero_extendqihi2_h8300hs): Likewise.
2359         (a define_split): New.
2360
2361 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2362
2363         * config/h8300/h8300-protos.h: Update the prototype for
2364         split_adds_subs.
2365         Add prototypes for const_le_2_operand and const_le_6_operand.
2366         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2367         specify whether inc/dec should be used when possible.
2368         (const_le_2_operand): New.
2369         (const_le_6_operand): Likewise.
2370         * config/h8300/h8300.md (two peepholes): New.
2371
2372 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2373
2374         * config/fr30/fr30.md: Fix a comment typo.
2375         * config/i386/i386.c: Likewise.
2376         * config/ip2k/ip2k.h: Likewise.
2377
2378 2002-12-20  Jim Wilson  <wilson@redhat.com>
2379
2380         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2381         (__ev_subw, __ev_subiw): New.
2382         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2383         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2384
2385 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2386
2387         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2388         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2389         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2390         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2391
2392 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2393
2394         * config/h8300/h8300-protos.h: Add prototypes for
2395         incdec_operand and eqne_operator.
2396         * config/h8300/h8300.c (incdec_operand): New.
2397         (eqne_operator): Likewise.
2398         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2399         (CONST_OK_FOR_O): Likewise.
2400         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2401         CONST_OK_FOR_O.
2402         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2403         (addhi3_incdec): New.
2404         (addsi3_incdec): Likewise.
2405         (two peepholes): Likewise.
2406
2407 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2408
2409         * config/h8300/h8300.c (dosize): Remove warnings.
2410         (print_operand): Likewise.
2411
2412 2002-12-20  Richard Henderson  <rth@redhat.com>
2413
2414         * config/alpha/alpha.c (decl_has_samegp): New.
2415         (samegp_function_operand): Use it.  Rename from
2416         current_file_function_operand.
2417         (direct_call_operand): Handle -msmall-text via symbol->jump.
2418         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2419         (tls_symbolic_operand_type): Likewise.
2420         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2421         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2422         (alpha_end_function): Set symbol->jump for functions defined in
2423         the text section.
2424         * config/alpha/alpha-protos.h: Update.
2425         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2426         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2427         (PREDICATE_CODES): Update.
2428         * config/alpha/alpha.md (call patterns): Update for
2429         samegp_function_operand rename; use !samegp reloc if
2430         TARGET_EXPLICIT_RELOCS.
2431         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2432
2433 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2434
2435         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2436         all registers capable of holding a double float.
2437         (*rcond): change name of "reverse branch" insns to
2438         something more meaningful.
2439         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2440         comparisons properly.
2441         (*ffs): Change operand 0 from write to read-modify-write.
2442         (*ffsssi2): Drop constraints from define_expand.
2443
2444         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2445         MOVE_RATIO as default for store operations.
2446
2447         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2448         LONG_REGS class.
2449         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2450         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2451         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2452
2453         * config/ns32k/STATUS: New File
2454         * config/ns32k/NOTES: New file.
2455
2456 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2457
2458         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2459         option for S/390 and zSeries.
2460         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2461         s390_arch_string): New variables.
2462         (override_options): Checking for options and setting of
2463         appropriate target_flags, cpu and arch flags.
2464         * config/s390/s390.h: (processor_type): New enum.
2465         (TARGET_SWITCHES): New switches -mesa/zarch.
2466         * config/s390/s390.md: New attribute 'cpu'.
2467
2468 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2469
2470         * c-pretty-print.h: Fix comment typos.
2471         * integrate.c: Likewise.
2472         * varasm.c: Likewise.
2473         * config/c4x/c4x.h: Likewise.
2474         * config/c4x/c4x.md: Likewise.
2475         * config/fr30/fr30.md: Likewise.
2476         * config/frv/frv.c: Likewise.
2477         * config/h8300/h8300.c: Likewise.
2478         * config/i386/i386.c: Likewise.
2479         * config/i386/i386.h: Likewise.
2480         * config/ia64/ia64.c: Likewise.
2481         * config/ia64/ia64.h: Likewise.
2482         * config/ip2k/ip2k.md: Likewise.
2483         * config/m68hc11/m68hc11-crt0.S: Likewise.
2484         * config/m68hc11/m68hc11.h: Likewise.
2485         * config/m68hc11/m68hc11.md: Likewise.
2486         * config/m68hc11/m68hc12.h: Likewise.
2487         * config/mcore/mcore.md: Likewise.
2488         * config/mips/mips.c: Likewise.
2489         * config/mips/mips.md: Likewise.
2490         * config/mmix/mmix-modes.def: Likewise.
2491         * config/pa/pa.c: Likewise.
2492         * config/rs6000/rs6000.c: Likewise.
2493         * config/rs6000/rs6000.h: Likewise.
2494         * config/rs6000/rs6000.md: Likewise.
2495
2496 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2497
2498         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2499         output shifts using rotation.
2500
2501 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2502
2503         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2504
2505 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2506
2507         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2508         pointer.
2509         (pushqi_h8300hs): Likewise.
2510         (pushhi_h8300): Likewise.
2511         (pushhi_h8300hs): Likewise.
2512
2513 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2514
2515         * sched-rgn.c (init_regions): Update comment.
2516
2517 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2518
2519         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2520         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2521         attributes.
2522         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2523         (get_vrsave_internal,set_vrsave_internal): Same.
2524         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2525         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2526         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2527
2528 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2529             Danny Smith  <dannysmith@users.sourceforge.net>
2530             Eric Kohl  <ekohl@rz-online.de>
2531
2532         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2533         attributes incompatible with fastcall attribute.
2534         (ix86_handle_regparm_attribute): Likewise.
2535
2536         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2537         fastcall types.
2538
2539         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2540         attributes.
2541         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2542         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2543         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2544         i386_pe_output_labelref rather than here.
2545         (gen_fastcall_suffix): New function. Decorates a label name with the
2546         fastcall prefix (@) and the stdcall suffix.
2547         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2548         has a fastcall attribute.
2549         (i386_pe_output_labelref): New function. Outputs a label reference.
2550         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2551         valid attribute.
2552         (ix86_return_pops_args): Fastcall functions pop the stack.
2553         (init_cumulative_args): Reserve registers ECX and EDX if function has
2554         fastcall attribute.
2555         (function_arg): Use registers ECX and EDX if function has fastcall
2556         attribute.
2557         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2558         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2559         (FASTCALL_PREFIX): Define as '@'.
2560         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2561         attributes.
2562         * doc/extend.texi: Add documentation of fastcall attribute.
2563
2564 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2565
2566         * configure.in: FORBUILD when build!=host changed from
2567         ../$build-alias to ../build-$build_alias to match change made
2568         in top directory.
2569         * configure: Regenerated.
2570
2571 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2572
2573         PR optimization/8988
2574         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2575         the biv when eliminating.
2576
2577 2002-12-19  Devang Patel  <dpatel@apple.com>
2578         * gcc.c (struct default_compiler): Recognizes input file name with
2579         .CPP extension as C++ source files
2580         * cp/lang-spec.h: Same
2581         * doc/invoke.texi:  Add documentation for .CPP support.
2582
2583 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2584
2585         PR 8553
2586         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2587         registers.
2588         ("absv16qi2"): Same.
2589         ("absv4si2"): Same.
2590         ("absv4sf2"): Same.
2591         ("altivec_abss_v16qi"): Same.
2592         ("altivec_abss_v8hi"): Same.
2593         ("altivec_abss_v4si"): Same.
2594
2595 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2596
2597         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2598         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2599
2600 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2601
2602         PR target/8340
2603         * stmt.c (expand_asm_operands): Produce an error when
2604         the PIC register is clobbered.
2605
2606 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2607
2608         * Makefile.in (OBJS): Add alloc-pool.o
2609         (alloc-pool.o): New object.
2610
2611         * alloc-pool.c: New file.
2612         * alloc-pool.h: New file.
2613
2614 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2615
2616         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2617
2618 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2619
2620         * config.gcc: Set extra_objs in the generic Darwin rule,
2621         not in the machine-specific rules.
2622
2623 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2624
2625         * ChangeLog: Follow spelling conventions.
2626         * ChangeLog.2: Likewise.
2627         * ChangeLog.4: Likewise.
2628         * ChangeLog.5: Likewise.
2629         * cppexp.c: Likewise.
2630         * df.c: Likewise.
2631         * gcov.c: Likewise.
2632         * gengtype.c: Likewise.
2633         * reload1.c: Likewise.
2634         * sched-rgn.c: Likewise.
2635         * stmt.c: Likewise.
2636         * stor-layout.c: Likewise.
2637         * timevar.c: Likewise.
2638         * toplev.c: Likewise.
2639         * tree.h: Likewise.
2640         * varasm.c: Likewise.
2641         * config/fr30/fr30.md: Likewise.
2642         * config/i386/i386.c: Likewise.
2643         * config/ia64/ia64.c: Likewise.
2644         * config/pa/pa.c: Likewise.
2645
2646 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2647
2648         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2649
2650 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2651
2652         PR 8551
2653         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2654         macro.
2655         (vec_cmplt C++ functions): Reverse arguments.
2656
2657 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2658
2659         * config/rs6000/t-rs6000: Move contents to t-fprules,
2660         add rules for dependencies of rs6000.o and to build rs6000-c.o
2661         * config/rs6000/t-fprules: New file from t-rs6000.
2662         * config/rs6000/t-beos: Remove soft-fp rules.
2663         * config/rs6000/t-ppccomm: Likewise.
2664         * config/rs6000/t-newas: Likewise.
2665         * config/rs6000/t-rs6000-c-rule: Delete.
2666         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2667         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2668         Create generic Darwin rules.
2669
2670         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2671
2672 2002-12-18  Doug Evans  <dje@sebabeach.org>
2673
2674         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2675         and LIT_NAME_P.
2676         (move_src_operand): Remove compile-time warning.
2677         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2678
2679 2002-12-18  Jason Merrill  <jason@redhat.com>
2680
2681         * unwind-dw2-fde.c (frame_downheap): Split out from...
2682         (frame_heapsort): Here.
2683
2684 2002-12-17  Jason Merrill  <jason@redhat.com>
2685
2686         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2687         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2688
2689         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2690
2691         * calls.c (expand_call): Don't try to be clever about expanding
2692         the return slot address.
2693
2694 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2695
2696         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2697         Define.
2698
2699 2002-12-17  Jason Merrill  <jason@redhat.com>
2700
2701         * genmultilib: Use 'cd ./foo'.
2702
2703 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2704
2705         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2706
2707 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2708
2709         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2710         * doc/cpp.texi: Likewise.
2711         * doc/extend.texi: Likewise.
2712         * doc/gty.texi: Likewise.
2713         * doc/install.texi: Likewise.
2714         * doc/invoke.texi: Likewise.
2715         * doc/md.texi: Likewise.
2716         * doc/passes.texi: Likewise.
2717         * doc/rtl.texi: Likewise.
2718         * doc/sourcebuild.texi: Likewise.
2719         * doc/tm.texi: Likewise.
2720
2721 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2722
2723         * doc/invoke.texi: Minor spelling and grammar fixes.
2724
2725 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2726
2727         * config/s390/s390.c (s390_output_constant_pool): Replace
2728         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2729
2730 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2731
2732         * convert.c (convert_to_real): Disable function transformation for
2733         now.
2734
2735 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2736
2737         * gcc.c (handle_braces): Allow '@' as a switch name.
2738
2739 2002-12-16  Jason Merrill  <jason@redhat.com>
2740
2741         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2742         with special struct-return ABIs.
2743
2744         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2745         doesn't match the begin SCOPE_STMT in partialness.
2746
2747 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2748
2749         * genmultilib: Create temporary files in unique subdirectory.
2750
2751         * gcc.c (validate_switches): Allow '@' as a switch name.
2752
2753 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2754
2755         * Makefile.in (gcov-iov.h): Improve portability.
2756
2757 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2758
2759         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2760         gas
2761         * mips.md (tablejump insn): Likewise.
2762
2763 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2764
2765         * doc/include/gcc-common.texi: Change version number to 3.4.
2766
2767 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2768
2769         * fixinc/fixlib.h: add: #include <signal.h>
2770         * fixinc/fixincl.c: remove: #include <signal.h>
2771
2772 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2773
2774         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2775         (EXTRA_CONSTRAINT): Use it.
2776         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2777
2778 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
2779
2780         * config.gcc (need_64bit_hwint): New variable.
2781         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2782         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2783         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2784         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2785         Set it.
2786         (powerpc*-*-darwin*): Unset it.
2787         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2788         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2789         deleted/nonexistent xm-*.h headers.
2790         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2791         target set need_64bit_hwint in config.gcc.
2792         * configure, config.in: Regenerate.
2793
2794         * hwint.h: Overhaul.  Don't bother trying int for
2795         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
2796         decision to force 64-bit HOST_WIDE_INT on
2797         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
2798         not visible at this point.  Don't allow prior definition of
2799         any macro defined by this file.
2800
2801         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
2802         HOST_BITS_PER_WIDE_INT.
2803         * config/c4x/c4x.h: Adjust redefinition of
2804         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
2805         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
2806         config/i386/xm-i386-interix.h: Delete file.
2807
2808 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
2809             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2810
2811         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
2812         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2813
2814 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2815
2816         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
2817
2818 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2819
2820         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
2821         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
2822         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
2823         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
2824         config/v850/t-v850:  Correct dependencies and normalize
2825         compilation commands for files that include coretypes.h and tm.h.
2826
2827         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
2828         not config.h and system.h.
2829
2830 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2831
2832         * i386.c (flags_reg_operand):  New function.
2833         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
2834         * i386.md (cmov splitter, movqicc): Use new predicate.
2835
2836 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2837
2838         * i386.md (movqicc splitter): Fix template.
2839
2840 2002-12-13  Jason Merrill  <jason@redhat.com>
2841
2842         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
2843         * calls.c (expand_call): Handle it.
2844         * tree-inline.c (struct inline_data): Remove target_exprs field.
2845         (optimize_inline_calls): Don't initialize it.
2846         (expand_call_inline): Don't modify it.  Handle
2847         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
2848         (declare_return_variable): Take return slot addr.
2849         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
2850         to return_slot_addr.
2851         * langhooks-def.h, langhooks.c: Adjust.
2852         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
2853         a decl with no DECL_INITIAL.
2854
2855         * expr.c (expand_expr): Don't discard the target of a call which
2856         returns in memory.
2857
2858 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
2859
2860         * cppinit.c (path_include): Take an environment variable name.
2861         Tidy up.
2862         (init_standard_includes): Simplify environment handling, and
2863         move to ...
2864         (cpp_read_main_file): ...here as -nostdinc should not affect
2865         environment variable paths.
2866
2867 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2868
2869         * pa.c (output_millicode_call): Correct typo.
2870         (output_call): Likewise.
2871
2872 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
2873
2874         * config/mn10300/mn10300.c (print_operand) <case N>: Check
2875         operand's range.  Print value directly, without aid from
2876         output_address.
2877         <case U>: New.
2878         <case S>: Make sure argument to fprintf has the right type.
2879         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
2880         (EXTRA_CONSTRAINT): Adjust.
2881         * config/mn10300/mn10300.md: Add new all-QImode pattern for
2882         bclr.  Use %U for immediate operands of bset and bclr.
2883         (iorqi3): New expand, with insns for AM33 and mn10300.
2884
2885 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
2886
2887         * sh.c (sh_register_operand): New function.
2888         (prepare_move_operands): Use it.
2889         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
2890         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
2891         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
2892         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
2893         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
2894         (movv2si_i): Likewise.
2895
2896 2002-12-13  Jim Wilson  <wilson@redhat.com>
2897
2898         * doc/extend.texi (Complex Numbers): Update info on debug info.
2899
2900 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
2901
2902         * config/h8300/h8300.md (addhi3_h8300): Remove the last
2903         alternative.
2904
2905 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2906
2907         * hooks.h (hook_tree_tree_bool_false): Declare
2908         hook_bool_tree_tree_false instead.
2909
2910 2002-12-12  Devang Patel  <dpatel@apple.com>
2911
2912         * doc/invoke.texi: Document Darwin linker options, -bundle
2913         -bind_at_load, -all_load and -arch_errors_fatal
2914
2915 2002-12-12  Jim Wilson  <wilson@redhat.com>
2916
2917         * dbxout.c (dbxout_fptype_value): New.
2918         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
2919
2920 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
2921
2922         * c-decl.c: Fix a comment typo.
2923         * cfg.c: Likewise.
2924         * cfgcleanup.c: Likewise.
2925         * cfglayout.c: Likewise.
2926         * cfgrtl.c: Likewise.
2927         * c-typeck.c: Likewise.
2928         * dominance.c: Likewise.
2929         * dwarf2asm.c: Likewise.
2930         * dwarfout.c: Likewise.
2931         * expmed.c: Likewise.
2932         * expr.c: Likewise.
2933         * final.c: Likewise.
2934         * flow.c: Likewise.
2935         * function.c: Likewise.
2936         * gcc.c: Likewise.
2937         * genautomata.c: Likewise.
2938         * integrate.c: Likewise.
2939         * loop.c: Likewise.
2940         * loop.h: Likewise.
2941         * output.h: Likewise.
2942         * profile.c: Likewise.
2943         * ra.h: Likewise.
2944         * reload1.c: Likewise.
2945         * reload.c: Likewise.
2946         * sched-rgn.c: Likewise.
2947         * stmt.c: Likewise.
2948         * tree.h: Likewise.
2949         * vmsdbgout.c: Likewise.
2950
2951 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
2952
2953         * config/h8300/h8300.md: Add a new peephole2.
2954
2955 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
2956
2957         * config/h8300/h8300.md (a peephole2): Accept a constant
2958         that's accepted by CONST_OK_FOR_J.
2959
2960 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
2961
2962         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
2963         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
2964         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
2965         (*addhi_h8300hs): Likewise.
2966
2967 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
2968
2969         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
2970         (sh_register_move_cost): Add clause for SImode fp-fp moves.
2971         Increase cost for moves involving multiple general purpose registers.
2972         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
2973         TARGET_FMOVD.
2974         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
2975         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
2976         (enum reg_class reg_class_from_letter): No longer const.
2977         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
2978         REGCLASS_HAS_GENERAL_REG.
2979         Handle SImode moves from/to fp registers.
2980         ! TARGET_SHMEDIA && TARGET_FMOVD.
2981         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
2982         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
2983
2984 2002-12-12  Andreas Schwab  <schwab@suse.de>
2985
2986         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
2987         change and some warnings.
2988
2989 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
2990
2991         * doc/md.texi (pushm): Fix a typo.
2992
2993 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2994
2995         * config/mips/mips.c (mips_output_conditional_branch): Support
2996         PIC-safe out-of-range branch and branch-likely.
2997         * config/mips/mips.md (attr length): PIC-safe out-of-range
2998         branches are longer.
2999         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3000         unused code to support indirect jumps.
3001
3002 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3003
3004         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3005         $(tm_file_list).
3006
3007 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3008
3009         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3010
3011 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3012
3013         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3014
3015 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3016
3017         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3018         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3019         BIGGEST_ALIGNMENT.
3020         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3021         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3022
3023 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3024
3025         * doc/invoke.texi: Correct dump file names.
3026
3027 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3028
3029         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3030         name to globalize_label or assemble_name.
3031
3032 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3033
3034         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3035         if not TARGET_SHMEDIA.
3036
3037 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3038
3039         * sh.h (REG_CLASS_HAS_FP_REG): New.
3040         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3041         move it into:
3042         * sh.c (sh_register_move_cost).
3043         * sh-protos.h (sh_register_move_cost): Declare.
3044
3045         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3046         (sh_adjust_cost): Always return a value.
3047
3048 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3049
3050         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3051         (REGISTER_MOVE_COST): Use it.
3052
3053 2002-12-11  Richard Henderson  <rth@redhat.com>
3054
3055         * tree.h (MODULE_LOCAL_P): Kill.
3056         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3057
3058 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3059
3060         * config/h8300/h8300.md (two define_peephole2): New.
3061
3062 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3063
3064         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3065         (CONST_OK_FOR_K): Likewise.
3066         (CONST_OK_FOR_M): Likewise.
3067         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3068
3069 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3070
3071         * c-common.c (builtin_define_type_max): Handle unsigned
3072         types too.
3073
3074 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3075
3076         * haifa-sched.c (rank_for_schedule): Correct style.
3077
3078 2002-12-10  Per Bothner  <pbothner@apple.com>
3079
3080         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3081         directive_index into an unsigned field and a new is_directive field.
3082         * cppinit.c (mark_named_operators):  Update to set new fields.
3083         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3084         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3085         No longer need to subtract 1 from directive_index.
3086         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3087         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3088
3089 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3090
3091         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3092         check for evaluating sqrt of a constant at compile time.
3093         * simplify-rtx.c (simplify_unary_operation): Likewise.
3094
3095 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3096
3097         PR other/8882
3098         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3099
3100 2002-12-10  Devang Patel  <dpatel@appple.com>
3101
3102         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3103         * doc/invoke.texi: Add new "Darwin Options" section.
3104
3105 2002-12-10  Jim Wilson  <wilson@redhat.com>
3106
3107         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3108         memory.
3109
3110 2002-12-10  Andrew Haley  <aph@redhat.com>
3111
3112         * cse.c (cse_insn): Don't cse past a basic block boundary.
3113
3114 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3115
3116         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3117         -shared.
3118         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3119         * config/alpha/linux.h (LIB_SPEC): Likewise.
3120         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3121         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3122         * config/sparc/linux.h (LIB_SPEC): Likewise.
3123         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3124
3125 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3126
3127         * doc/invoke.texi: Document UltraSparc III option.
3128
3129 2002-12-09  Richard Henderson  <rth@redhat.com>
3130
3131         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3132         __tune_pentium2__ and __tune_pentium3__ as necessary.
3133
3134 2002-12-09  Richard Henderson  <rth@redhat.com>
3135
3136         * target.h (gcc_target): Add cannot_force_const_mem.
3137         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3138         (TARGET_INITIALIZER): Add it.
3139         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3140         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3141         * reload1.c (reload): Likewise.
3142         * hooks.c (hook_bool_rtx_false): New.
3143         * hooks.h: Declare it.
3144
3145         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3146         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3147         (ix86_expand_move): Remove de-const-pooling hack.
3148
3149 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3150
3151         * toplev.c (dump_file): Fix order to match reality.
3152
3153 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3154
3155         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3156         (store_multiple): Likewise.
3157
3158 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3159
3160         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3161         function pointers in page 0.
3162
3163 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3164
3165         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3166         definition
3167         (MEMBER_TYPE_FORCES_BLK): Move.
3168         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3169         aggregate arguments.
3170         (ia64_function_value): Use PARALLEL to return aggregate values.
3171
3172 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3173
3174         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3175         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3176         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3177         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3178         * stmt.c (expand_return): Ditto.
3179         * expr.c (move_block_from_reg): Ditto.
3180         (copy_blkmode_from_reg): Ditto.
3181         * expmed.c (store_bit_field): Ditto.
3182
3183 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3184
3185         * config.gcc: Added tic4x-* target as an alias to c4x-*
3186
3187 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3188
3189         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3190         constructing insn directly.
3191
3192 2002-12-06  Per Bothner  <pbothner@apple.com>
3193
3194         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3195         char to an int bit-field, for hosts where char is unsigned.
3196
3197 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3198             Richard Henderson <rth@redhat.com>
3199
3200         * real.c (ieee_extended_motorola_format,
3201         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3202         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3203         Provide appropriate values for new signbit field.
3204
3205 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3206
3207         * real.h (real_format): Add signbit field.
3208         * real.c (ieee_single_format, ieee_double_format,
3209         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3210         ieee_extended_intel_128_format, ibm_extended_format,
3211         ieee_quad_format, vax_f_format, vax_d_format,
3212         vax_g_format, i370_single_format, i370_double_format,
3213         c4x_single_format, c4x_extended_format, real_internal_format):
3214         Provide suitable signbit value, or -1 to avoid bit twiddling.
3215
3216         * optabs.c (expand_unop): Try implementing negation of
3217         floating point modes by flipping the sign bit.
3218         (expand_abs): Try implementing abs of floating point modes
3219         by clearing the sign bit.
3220
3221 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3222
3223         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3224         of constructing insn directly.
3225
3226 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3227
3228         * config/h8300/h8300.md (*iorhi_shift_8): New.
3229
3230 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3231
3232         * doc/invoke.texi: Document FRV port options.
3233         * doc/md.texi: Document FRV register classes.
3234
3235 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3236
3237         * doc/install.texi (Configuration): Improve description of cases
3238         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3239
3240 2002-12-06  Per Bothner  <pbothner@apple.com>
3241
3242         * cpplib.h (NODE_MACRO_ARG):  New flag.
3243         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3244         Remove value.operator field.  Move arg_index field to value union.
3245         (directive_index):  Make signed, since also used for C++ operators.
3246         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3247         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3248         Save node->value, and set node->value.arg_index.
3249         (_cpp_create_definition):  For each paramater, restore node->value.
3250         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3251         * cpptrad.c (scan_out_logical_line): Likewise.
3252         (scan_out_logical_line): Check for directive > 0.
3253         * cpplib.c (cpp_handle_directive):  Likewise.
3254         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3255         by negative of directive_index.
3256         * cppinit.c (mark_named_operators):  Likewise.
3257
3258         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3259
3260 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3261
3262         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3263         FPU.
3264         (push): Generate push_fpscr.
3265         (pop): Generate pop_fpscr.
3266         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3267         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3268
3269 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3270
3271         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3272         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3273
3274 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3275
3276         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3277
3278 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3279         Merged from basic improvements branch (excerpt):
3280
3281         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3282         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3283
3284 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3285
3286         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3287
3288 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3289
3290         * i386.md (dimode peep2s): Re-add "&& 1".
3291
3292 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3293
3294         * i386.c (ix86_expand_prologue):  Add comment, do not use
3295         fast prologues for cold and normal functions.
3296
3297 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3298
3299         * i386.c (x86_rep_movl_optimal): New variable.
3300         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3301         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3302
3303         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3304         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3305         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3306         generate unnecesary subregs.
3307
3308 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3309
3310         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3311         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3312
3313 2002-12-05  Dale Johannesen  <dalej@apple.com>
3314
3315         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3316
3317 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3318
3319         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3320         PROFILE_HOOK.
3321         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3322
3323 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3324
3325         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3326         (__ev_mwlufia): Remove.
3327         (__ev_mwlumfaaw): Remove.
3328         (__ev_mwlusfaaw): Remove.
3329         (__ev_mwlumfanw): Remove.
3330         (__ev_mwlusfanw): Remove.
3331
3332 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3333
3334         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3335
3336 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3337
3338         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3339         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3340         (get_shift_alg): Return optimal assembly instructions for the
3341         shifts mentioned above.
3342
3343 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3344
3345         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3346         condtiional moves.
3347
3348 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3349
3350         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3351         implement ashiftrt:HI by 13 bits on H8S.
3352
3353 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3354
3355         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3356         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3357         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3358         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3359         CTOR_LIST_BEGIN): New defines.
3360         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3361         (fptr.c): Add make rules.
3362
3363 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3364
3365         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3366         * doc/md.texi (Insn Canonicalizations): Document new
3367         canonicalizations for multiply/add combinations.
3368         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3369         patterns to ensure they're used whenever they can be.
3370
3371 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3372
3373         * config/h8300/h8300.c: Update the comments related to shifts.
3374
3375 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3376
3377         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3378
3379 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3380
3381         * config/h8300/h8300.md (*extzv_8_8): New.
3382         (*extzv_8_16): Likewise.
3383
3384 2002-12-04  Jason Merrill  <jason@redhat.com>
3385
3386         PR c++/8461, c++/8625
3387         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3388         references.
3389         * tree-inline.c (initialize_inlined_parameters): Likewise.
3390
3391         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3392
3393 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3394
3395         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3396         macro instruction in a branch delay slot, to avoid assembler
3397         warnings.
3398
3399 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3400
3401         PR c/7622
3402         * c-semantics (genrtl_scope_stmt): Do not output inlined
3403         nested functions that contain no code.
3404
3405 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3406
3407         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3408         to be forced into nonfallthru.
3409
3410 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3411
3412         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3413
3414 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3415
3416         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3417
3418 2002-12-03  Richard Henderson  <rth@redhat.com>
3419
3420         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3421
3422 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3423
3424         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3425         Initialize tmp.using_obstack to 0.
3426
3427 2002-12-03  Andreas Schwab  <schwab@suse.de>
3428
3429         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3430         (EH_RETURN_STACKADJ_RTX): Define.
3431         (EH_RETURN_HANDLER_RTX): Define.
3432         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3433         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3434         registers and don't save fixed registers.
3435         (m68k_output_function_prologue): Use it.
3436         (use_return_insn): Likewise.
3437         (m68k_output_function_epilogue): Likewise.
3438
3439 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3440
3441         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3442         (single_zero_operand): Likewise.
3443
3444 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3445
3446         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3447         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3448         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3449         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3450         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3451         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3452         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3453         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3454         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3455
3456 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3457
3458         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3459         (ffsdi): Likewise.
3460         (cntlzw2, cntlzd2): New patterns.
3461
3462 2002-12-02  H.J. Lu <hjl@gnu.org>
3463
3464         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3465         (mips*-*-linux*): Remove mips/t-linux.
3466
3467 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3468
3469         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3470
3471 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3472
3473         * config/h8300/h8300.c (dosize): Replace argument op with
3474         sign.
3475         (h8300_output_function_prologue): Update the call to dosize.
3476         (h8300_output_function_epilogue): Likewise.
3477
3478 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3479
3480         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3481
3482 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3483
3484         * configure.in: Use "missing" script to generate warning if
3485         flex or bison programs not found, instead of invoking "false".
3486         * configure: Rebuilt.
3487
3488 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3489
3490         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3491
3492 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3493
3494         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3495
3496 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3497
3498         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3499         (push): Likewise.
3500         (pop): Likewise.
3501         (h8300_output_function_prologue): Likewise.
3502         (h8300_output_function_epilogue): Likewise.
3503
3504 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3505
3506         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3507         corresponding mode of non-integer mode, unless it is VOIDmode.
3508
3509 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3510
3511         * config/h8300/h8300.md (stm_h8300s_2): New.
3512         (stm_h8300s_3): Likewise.
3513         (stm_h8300s_4): Likewise.
3514         (five define_peephole2): Likewise.
3515
3516 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3517
3518         * ra-build.c: Fix a comment typo.
3519
3520 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3521
3522         * i386.c (ix86_expand_int_movcc): fix
3523         reversed BRANCH_COST test; be curefull about infinite recursion.
3524
3525 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3526
3527         * config/h8300/h8300.c (h8300_output_function_prologue):
3528         Remove variable idx.
3529         (h8300_output_function_epilogue): Likewise.
3530
3531 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3532
3533         * config/frv/xm-frv.h: Delete, unnecessary.
3534
3535 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3536
3537         * config/h8300/h8300.md: Add comments for define_peephole2.
3538
3539 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3540
3541         * builtin-types.def (BT_SIZE): Use size_type_node.
3542         * builtins.c (fold_builtin): Make the builtin strlen returns a
3543         size_t, not a sizetype.
3544         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3545         c_size_type_node.
3546         (c_alignof_expr): Likewise.
3547         (c_common_nodes_and_builtins): Likewise.
3548         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3549         (c_size_type_node): Likewise.
3550         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3551         * tree.h (TI_SIZE_TYPE): New enumeral.
3552         (size_type_node): Likewise.
3553
3554 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3555
3556         * configure.in: Don't put ${tm_file} into host_xm_file,
3557         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3558         Take location of tm-preds.h into account when calculating
3559         tm_p_file_list.
3560         * configure: Regenerate.
3561         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3562         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3563         Remove special case code for tm_p.h and *config.h; add new
3564         special case code for tm.h and tconfig.h. Clean up a bit.
3565
3566         * Makefile.in (tm_file, tm_file_list): New variables set from
3567         @-substitutions.
3568         (GCONFIG_H): Deleted.
3569         (GTM_H, TM_H): New.
3570         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3571         (TM_P_H): Move up with the other mkconfig.sh-generated
3572         headers; don't mention tm-preds.h explicitly.
3573         (tm.h, cs-tm.h): New rule.
3574         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3575         invocations of mkconfig.sh for changes to that program.
3576         (mostlyclean): Delete print-rtl1.c.
3577         (clean): Delete tm.h.
3578         Update dependencies for the files listed below.
3579
3580         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3581
3582         * coretypes.h: New file.
3583         * system.h: #define malloc to xmalloc and realloc to xrealloc
3584         when FLEX_SCANNER or YYBISON is defined, independent of the
3585         value of GCC_VERSION.
3586         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3587         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3588         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3589         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3590         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3591         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3592         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3593         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3594         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3595         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3596         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3597         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3598         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3599         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3600         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3601         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3602         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3603         genconstants.c, genemit.c, genextract.c, genflags.c,
3604         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3605         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3606         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3607         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3608         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3609         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3610         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3611         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3612         print-tree.c, profile.c, protoize.c, ra-build.c,
3613         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3614         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3615         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3616         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3617         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3618         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3619         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3620         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3621         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3622         xcoffout.c, config/darwin-c.c, config/darwin.c,
3623         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3624         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3625         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3626         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3627         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3628         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3629         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3630         config/i960/i960-c.c, config/i960/i960.c,
3631         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3632         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3633         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3634         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3635         config/mmix/mmix.c, config/mn10200/mn10200.c,
3636         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3637         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3638         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3639         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3640         config/sparc/sparc.c, config/stormy16/stormy16.c,
3641         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3642         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3643         Include coretypes.h and tm.h.
3644
3645         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3646         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3647         genrecog.c: Include coretypes.h and tm.h from the file
3648         generated by this program.
3649
3650         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3651         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3652         coretypes.h and tm.h, and tsystem.h when not already included.
3653         No need to include stddef.h nor stdlib.h.
3654
3655         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3656         include auto-host.h or ansidecl.h/
3657         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3658         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3659         include auto-host.h, ansidecl.h, or system.h.
3660         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3661         and do not redefine volatile.
3662
3663 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3664
3665         * i386.md (movdf_integer):  Always enable in 64bit.
3666         (movdf_nointeger): Always disable in 64bit.
3667
3668 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3669
3670         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3671         pseudo register number plus 1.
3672
3673 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3674
3675         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3676         corresponding mode of non-integer mode, unless it is VOIDmode.
3677
3678 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3679
3680         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3681
3682         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3683
3684 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3685
3686         * config/s390/t-crtstuff: New target makefile fragment.
3687         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3688
3689 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3690
3691         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3692         alternatives to correct the length when the memory operand is
3693         either pre_dec or post_inc.
3694
3695 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3696
3697         * config/h8300/h8300.md (an anonymous pattern): Give an
3698         internal name *tst_extzv_bitqi_1_n.
3699         Accept bit_operand instead of bit_memory_operand.
3700         Do not accept bit tests with the MSB.
3701         (*tst_extzv_memqi_1_n): New.
3702
3703 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3704
3705         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3706         sharing when operand is SUBREG.
3707
3708 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3709
3710         * athlon.md (athlon-decodev): New reservation unit.
3711         (athlon-direct0): New reservation.
3712         (athlon-vector): New use athlon-decodev.
3713         (athlon-double, athlon-direct): Better model.
3714         (athlon_imul_k8): Use athlon-direct0.
3715         (athlon_movlpd_load): New insn reservation.
3716
3717 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3718
3719         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3720         Fix a comment typo.
3721         (h8300_tiny_constant_address_p): Likewise.
3722
3723 2002-11-28  Michael Matz  <matz@suse.de>
3724
3725         * doc/passes.texi: Mention the other register allocator.
3726
3727 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3728
3729         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3730
3731 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3732
3733         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3734         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3735         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3736
3737 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3738
3739         * config/h8300/h8300.c (h8300_and_costs): New.
3740         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3741         * config/h8300/h8300-protos.h: Add a prototype for
3742         h8300_and_costs.
3743
3744 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3745
3746         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3747         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3748         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3749         * i386.md (truncdfsf patterns and splitters): Use
3750         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3751
3752 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3753
3754         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3755         pointer argument in the prototypes of the following builtins
3756         be (const TYPE *) rather than (TYPE *):
3757          + __builtin_altivec_ld_internal_4sf
3758          + __builtin_altivec_ld_internal_4si
3759          + __builtin_altivec_ld_internal_8hi
3760          + __builtin_altivec_ld_internal_16qi
3761          + __builtin_altivec_lvsl
3762          + __builtin_altivec_lvsr
3763          + __builtin_altivec_lvebx
3764          + __builtin_altivec_lvehx
3765          + __builtin_altivec_lvewx
3766          + __builtin_altivec_lvxl
3767          + __builtin_altivec_lvx
3768          + __builtin_altivec_dst
3769          + __builtin_altivec_dstt
3770          + __builtin_altivec_dstst
3771          + __builtin_altivec_dststt
3772
3773 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3774
3775         * except.c (default_exception_section): Move variable into the
3776         scope where it is used.
3777
3778 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
3779
3780         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3781         correct version.
3782
3783 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3784
3785         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3786
3787 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3788
3789         * config/h8300/h8300.c (h8300_shift_costs): New.
3790         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3791         * config/h8300/h8300-protos.h: Add a prototype for
3792         h8300_shift_costs.
3793
3794 2002-11-27  Jim Wilson  <wilson@redhat.com>
3795
3796         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
3797         in output template.
3798
3799 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3800
3801         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
3802         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
3803         DLL_IMPORT_EXPORT_PREFIX, not '@'.
3804         (i386_pe_dllimport_name_p): Likewise.
3805         (i386_pe_mark_dllexport): Likewise.
3806         (i386_pe_mark_dllimport): Likewise.
3807         (i386_pe_encode_section_info): Likewise.
3808         (i386_pe_strip_name_encoding): Likewise.
3809
3810 2002-11-27  Richard Henderson  <rth@redhat.com>
3811
3812         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
3813         (nm && NF == 3): Set sawsymbol true.
3814         (END): Exit if no symbols seen.
3815         (output): Fix map syntax error if no globals for the version.
3816
3817 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3818
3819         * builtins.def (DEF_C99_BUILTIN): Fix.
3820
3821 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
3822
3823         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
3824         (all): Add .size and .type information.
3825
3826 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3827
3828         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
3829         partial_reg_stall target.
3830
3831 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3832
3833         * i386.md (movhicc): Allow general operand.
3834         (movqicc): New expander.
3835         (movqicc_noc): New pattern.
3836         * i386.c (ix86_expand_carry_flag_compare): New function.
3837         (ix86_expand_int_movcc): Optimize harder using sbb; support more
3838         HImode conversion; support QImode conditional moves
3839
3840 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
3841
3842         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
3843         (ix86_expand_prologue): Multiply the count by amount of registers to be
3844         pushed.
3845
3846 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
3847
3848         * i386.c (override_options): Error about wrong -mcpu on x86-64
3849         compilation.
3850
3851 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
3852
3853         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
3854
3855 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
3856
3857         * i386-protos.h (x86_extended_QIreg_mentioned_p,
3858         x86_extended_reg_mentioned_p): Declare.
3859         * i386.c (extended_reg_mentioned_1): New static function.
3860         (x86_extended_QIreg_mentioned_p,
3861         x86_extended_reg_mentioned_p): New global functions.
3862         * i386.h (REX_SSE_REGNO_P): New macro.
3863         * i386.md (prefix_rex): New attribute.
3864         (length attribute): Add rex.
3865
3866 2002-11-26  Andrew Haley  <aph@redhat.com>
3867
3868         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
3869         from_Unwind_Find_Enclosing_Function.
3870         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
3871         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
3872         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
3873         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
3874         * unwind.h (_Unwind_FindEnclosingFunction): Add.
3875
3876 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
3877
3878         * config/s390/s390.c (390_output_constant_pool): Set alignment
3879         before label in 64 bit mode, behind otherwise.
3880
3881 2002-11-26  Richard Henderson  <rth@redhat.com>
3882
3883         * c-common.c (handle_visibility_attribute): Accept "default".
3884         * tree.h (enum symbol_visibility): New.
3885         (decl_visibility): Declare.
3886         * target.h (gcc_target.visibility): Take visibility arg as integer.
3887         * varasm.c (default_assemble_visibility): Likewise.
3888         (decl_visibility): New.
3889         (maybe_assemble_visibility): Use it.
3890         * output.h (default_assemble_visibility): Update prototype.
3891         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
3892         visibility arg as integer.
3893         * doc/extend.texi: Document default visibility.
3894
3895 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3896
3897         * config/h8300/h8300.c: Adjust spacing.
3898         * config/h8300/h8300.h: Likewise.
3899
3900 2002-11-26  Richard Henderson  <rth@redhat.com>
3901
3902         * hooks.c (hook_bool_void_false, hook_void_tree_int,
3903         hook_void_FILEptr_constcharptr): Rename so that the return
3904         type is first.
3905         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
3906         hook_bool_tree_false): New.
3907         * hooks.h: Update.
3908         * langhooks-def.h: Update for renames.
3909         * target-def.h: Likewise.
3910         * tree.c (default_comp_type_attributes,
3911         default_set_default_type_attributes, default_insert_attributes,
3912         default_function_attribute_inlinable_p,
3913         default_ms_bitfield_layout_p): Remove.
3914         * tree.h: Update.
3915
3916 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3917
3918         * pa-protos.h (function_value): New prototype.
3919         * pa.c (function_value): Use a PARALLEL to return small aggregates on
3920         TARGET_64BIT.
3921         * pa.h (FUNCTION_VALUE): Use function_value.
3922         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
3923         call_value_internal_reg, sibcall_value_internal_symref,
3924         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
3925         value.
3926
3927 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3928
3929         * expr.c (gen_group_rtx, emit_group_move): New functions.
3930         * expr.h (gen_group_rtx, emit_group_move): Prototype.
3931         * function.c (expand_function_start): Use gen_group_rtx to create a
3932         PARALLEL rtx to hold the return value when the real return rtx is a
3933         PARALLEL.
3934         (expand_function_end): Use emit_group_move to move the return value
3935         from a PARALLEL to the real return registers.
3936         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
3937         in PARALLELs.
3938
3939 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
3940
3941         * config/t-libc-ok: Fix typo.
3942
3943 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
3944
3945         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
3946         before AC_PROG_CC.
3947         * configure: Rebuilt.
3948
3949 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
3950
3951         * c-decl.c: (start_struct): Commonize flag setting.
3952
3953 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
3954
3955         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
3956         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
3957         RS6000_CPU_CPP_ENDIAN_BUILTINS.
3958         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
3959
3960 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
3961
3962         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
3963         insns.
3964         * config/s390/s390.c (struct machine_function): Introduction of
3965         struct machine_function.
3966         (s390_output_symbolic_const): Use of cfun.
3967         (s390_optimize_prolog): Likewise.
3968         (s390_fixup_clobbered_return_reg): Likewise.
3969         (s390_frame_info): Likewise.
3970         (s390_emit_prologue, s390_emit_epilogue): Likewise.
3971         (s390_init_machine_status): New function.
3972         (override_options): call s390_init_machine_status.
3973         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
3974         prototype.
3975
3976 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
3977
3978         * varasm.c (output_constant_pool): For pool constants in mergeable
3979         section ensure each constant is padded to multiple of entity size.
3980
3981 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
3982
3983         * varasm.c (default_exception_section): Move to...
3984         * except.c (default_exception_section): ... here. Make
3985         .gcc_except_table read-only if it is not expected to have any
3986         dynamic relocations and linker handles it.
3987         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
3988         if it is not expected to have any dynamic relocations and linker
3989         handles it.
3990         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
3991         when linking read-only and read-write sections together.
3992         * configure, config.in: Rebuilt.
3993         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
3994         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
3995
3996 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3997
3998         * i386.md (pushsf_rex64): Fix typo.
3999
4000 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4001
4002         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4003         new function.
4004         (__ev_create_ufix32_fs): Same.
4005         (__ev_get_sfix32_fs_internal): New.
4006         (__ev_get_sfix32_fs): Define to use function.
4007         (__ev_get_ufix32_fs_internal): New.
4008         (__ev_get_ufix32_fs): Define to use function.
4009         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4010         (__ev_get_lower_ufix32_fs): Same.
4011         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4012         (__ev_get_lower_sfix32_fs): Same.
4013         (__ev_set_sfix32_fs_internal): New.
4014         (__ev_set_ufix32_fs_internal): New.
4015         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4016         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4017         (__ev_set_upper_sfix32_fs): Call function.
4018         (__ev_set_lower_sfix32_fs): Same.
4019         (__ev_set_upper_ufix32_fs): Same.
4020         (__ev_set_lower_ufix32_fs): Same.
4021
4022 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4023
4024         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4025
4026 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4027
4028         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4029         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4030         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4031         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4032         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4033         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4034         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4035         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4036         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4037         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4038         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4039         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4040         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4041         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4042         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4043         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4044         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4045         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4046         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4047         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4048         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4049         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4050         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4051         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4052         defining.
4053         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4054         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4055
4056 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4057
4058         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4059
4060 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4061
4062         * config/h8300/h8300.md (an anonymous pattern): New.
4063
4064 2002-11-25  Richard Henderson  <rth@redhat.com>
4065
4066         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4067         (copying_arguments): Make boolean.
4068
4069 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4070
4071         * gcc.c (static_spec_functions): Add if-exists-else spec
4072         function.
4073         (if_exists_else_spec_function): New function.
4074         * doc/invoke.texi: Document the if-exists-else spec function.
4075
4076         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4077         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4078
4079 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4080
4081         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4082         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4083         "${tmake_file} rs6000/t-netbsd".
4084         * config/rs6000/netbsd.h: Rewrite.
4085         * config/rs6000/t-netbsd: New file.
4086
4087 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4088
4089         * config/h8300/h8300.md (an anonymous pattern): Relax the
4090         condition for the pattern.
4091
4092 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4093
4094         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4095         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4096         evmwlssfanw, evmwlsmfanw.
4097
4098         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4099
4100         * config/rs6000/spe.md: Same for patterns.
4101
4102 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4103
4104         PR c/8639
4105         * fold-const.c (extract_muldiv): Don't propagate division unless
4106         both arguments are multiples of C.
4107
4108 2002-11-25  Andrew Haley  <aph@redhat.com>
4109
4110         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4111         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4112         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4113         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4114
4115 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4116
4117         * i386.c (x86_use_ffreep): New global variable.
4118         * i386.h (x86_use_frfeep): Declare
4119         (TARGET_USE_FFREEP): New macro
4120         * i386.md  (movs?f*): Use freep when asked for.
4121         (push?f): Remove dead code.
4122
4123 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4124
4125         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4126         target help message.
4127
4128 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4129
4130         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4131         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4132         crtbeginT.o".
4133         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4134         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4135         to "" for a.out configurations.
4136         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4137
4138 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4139
4140         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4141         NETBSD_CPP_SPEC directly.
4142         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4143         netbsd_endfile_spec.
4144         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4145
4146 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4147
4148         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4149         NETBSD_STARTFILE_SPEC.
4150         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4151         (ENDFILE_SPEC): Likewise.
4152         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4153
4154 2002-11-24  Andreas Schwab  <schwab@suse.de>
4155
4156         * Makefile.in (install-driver): Remove versioned link before
4157         trying to create it.
4158
4159         * config/m68k/m68k.c: Fix typo in last change defining
4160         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4161
4162 2002-11-23  H.J. Lu <hjl@gnu.org>
4163
4164         * aclocal.m4: Include ../config/accross.m4.
4165         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4166         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4167         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4168         instead of $ac_cv_c_compile_endian.
4169
4170         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4171         AC_COMPILE_CHECK_SIZEOF.
4172         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4173         * configure: Rebuild.
4174
4175 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4176
4177         * config/h8300/h8300.c (print_operand): Update the use of
4178         h8300_tiny_constant_address_p.
4179         (h8300_adjust_insn_length): Likewise.
4180         (h8300_tiny_constant_address_p): Check if the given rtx is a
4181         variable declared with __attribute__ ((tiny_data)).
4182
4183 2002-11-22  Dale Johannesen  <dalej@apple.com>
4184
4185         * toplev.c (rest_of_compilation):  Fix comments.
4186
4187 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4188
4189         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4190         allow mmap from /dev/zero.  Don't make decisions for the host
4191         based on presence or absence of /dev/zero on the build machine.
4192         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4193         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4194         * configure: Regenerate.
4195
4196 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4197
4198         * gcc.c (make_relative_prefix, split_directories)
4199         (free_split_directories): Removed.
4200
4201 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4202
4203         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4204         * configure: Regenerated.
4205
4206 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4207
4208         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4209         length computation when xor.l is output.
4210
4211 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4212
4213         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4214         (call_vms_1, call_value_vms_1): Cleanup syntax.
4215
4216 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4217
4218         * athlon.md (define_atuomaton): Add athlon_load.
4219         (athlon-double): New reservation.
4220         (athlon-ieu0): New CPU unit.
4221         (athlon-load?): Use athlon_load automaton.
4222         (*_k8 reservations): New.
4223         (other insn revervations): Activate for K8.
4224
4225 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4226
4227         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4228
4229 2002-11-21  Jim Wilson  <wilson@redhat.com>
4230
4231         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4232         vectors to SI.
4233
4234 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4235
4236         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4237         * config/xtensa/xtensa.c (struct machine_function): Add
4238         incoming_a7_copied flag.
4239         (xtensa_copy_incoming_a7): Define.
4240         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4241         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4242
4243 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4244
4245         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4246         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4247         x86_64_nonmemory_operand, x86_64_movabs_operand,
4248         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4249         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4250         (local_symbolic_operand): Do not care the 64bit limits.
4251         (x86_64_sign_extended_value): Remove allow_rip support.
4252         (legitimate_pic_address_disp_p): Handle all cases allowed
4253         with RIP addressing.
4254         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4255         (legitimize_pic_address): Reorganize.
4256         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4257
4258 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4259
4260         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4261         * config/arm/netbsd-elf.h: New file.
4262
4263 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4264
4265         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4266         subtarget_asm_float_spec.
4267         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4268         defaults from...
4269         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4270
4271 2002-11-21  Nick Clifton  <nickc@redhat.com>
4272
4273         * config/fr30/fr30.md (movsf_constant_store): Move code to
4274         detect 0.0 into fr30.c.
4275         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4276         Prototype.
4277         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4278         function.  Return true if the rtx is 0.0.
4279
4280 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4281
4282         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4283         if -mlittle-endian is specified.
4284
4285 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4286
4287         PR optimization/2903
4288         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4289         (anddi_notsesidi_di): Likewise.
4290
4291 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4292
4293         * config/h8300/h8300.c (print_operand): Use
4294         h8300_eightbit_constant_address_p and
4295         h8300_tiny_constant_address_p.
4296         (h8300_adjust_insn_length): Likewise.
4297         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4298         (TINY_CONSTANT_ADDRESS_P): Likewise.
4299         (OK_FOR_U): Use eightbit_constant_address_p.
4300
4301 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4302
4303         * config/s390/libgcc-libc.ver: Add multilib support.
4304         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4305         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4306         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4307         EXTRA_MULTILIB_PARTS): Define.
4308
4309 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4310
4311         * arm.c (arm_get_frame_size): A leaf function does not need its
4312         stack padding to an aligned boundary if it has no frame.
4313         (thumb_get_frame_size): Likewise.
4314
4315 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4316
4317         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4318         (override_options): Likewise.
4319
4320 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4321
4322         * config.gcc: Add k8 target alias support
4323         * i386.c (_cost): Declare costs for various variants of divides and
4324         multiplies.
4325         (k8_cost): New.
4326         (m_K8, m_ATHLON_K8): New macros.
4327         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4328         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4329         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4330         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4331         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4332         x86_prologue_using_move, x86_epilogue_using_move,
4333         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4334         x86_sse_typeless_stores): Set for K8
4335         (override_options): Add k8 support; fix athlon alignment;
4336         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4337         (ix86_issue_rate): Set for K8.
4338         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4339         x86_machine_dependent_reorg): Handle K8 like
4340         * i386.h
4341         (x86_costs):  Change mult_init and divide into array.
4342         (TARGET_K8, TARGET_ATHLON): New macros.
4343         (MODE_INDEX): New macro.
4344         (RTX_COST): Use new costs.
4345         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4346         (TARGET_CPU_DEFAULT_NAMES): Add k8
4347         (TARGET_CPU_DEFAULT_k8): New constant
4348         (enum processor_type): Add PROCESSOR_K8.
4349         * i386.md (cpu attribute): Add k8.
4350
4351         * invoke.texi: Document -march=k8.
4352
4353         * i386.md (type attribute): Add leave
4354         (mode attribute): Remove unknownfp.
4355         (length_immediate, modrm, memory attributes): Handle leave correctly.
4356         (fp comparison patterns): Determine FP mode.
4357         (leave, leave_rex64): Remove special cases.
4358         * ppro.md (ppro_uops, ppro_p2): Add leave
4359         * pentiun.md (pent_pop): Handle leave too.
4360         * k6.md (k6_load): Handle leave.
4361         * athlon.md (athlon_leave, athlon_pop): Fix.
4362         (athlon_decode): Handle leave.
4363
4364 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4365
4366         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4367         to component type using GET_MODE_INNER.
4368         * expr.c (emit_move_insn_1): Ditto.
4369         * optabs.c (expand_binop): Ditto.
4370         (expand_unop): Ditto.
4371         (expand_complex_abs): Ditto.
4372
4373 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4374
4375         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4376
4377 2002-11-20  DJ Delorie  <dj@redhat.com>
4378
4379         * config/stormy16/stormy16.c (s16builtins,
4380         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4381         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4382
4383 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4384
4385         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4386         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4387         (executing gencheck, genconfigs, genconditions, genflags,
4388         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4389         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4390         gengtype, genprotos): Prepend $(RUN_GEN).
4391         * configure.in: Move host compiler tests before --enable-checking
4392         tests.
4393         (--enable-checking=valgrind): New.
4394         * config.in, configure: Regenerate.
4395         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4396         Define as empty.
4397         (read_include_file): When doing the mmap+1 trick,
4398         valgrind-annotate the byte after the mmap:ed area as readable.
4399         (purge_cache): Remove above annotation.
4400         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4401         VALGRIND_PATH -q to each command.
4402
4403         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4404         Define as empty.
4405         (ggc_realloc): Update valgrind annotations.
4406         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4407         Define as empty.
4408         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4409         valgrind-annotate memory.
4410
4411 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4412
4413         * recog.c (constrain_operands): Prefer exact match over reloadable
4414         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4415
4416         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4417         operands in Pmode.
4418
4419 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4420
4421         PR c/8518
4422         * c-decl.c (duplicate_decls): Outline the second definition
4423         of an extern inline function in all cases.
4424
4425 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4426
4427         * stor-layout.c (place_field): Update rli->offset as well as
4428         rli->bitpos.
4429
4430 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4431
4432         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4433
4434 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4435
4436         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4437         into a libcall block.
4438         (divsi3): Likewise divsi3_i4_media.
4439
4440 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4441
4442         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4443         out another register.
4444
4445 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4446
4447         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4448         (not just mask) are set in C.
4449
4450 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4451
4452         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4453
4454 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4455
4456         * profile.c (index_counts_file): Fix obvious mistake.
4457
4458 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4459
4460         * Makefile.in (profile.o): Add hashtab.h dependency.
4461         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4462         * profile.c: Include hashtab.h.
4463         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4464         cleanup_counts_index, index_counts_file, struct section_reference,
4465         struct da_index_entry, counts_file_name, counts_file_index): New.
4466         (get_exec_counts, init_branch_prob): Modified.
4467
4468 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4469
4470         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4471         to tmake_file. Remove setting gas and gnu_ld here.
4472         * config/sh/libgcc-glibc.ver: New file.
4473         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4474         (SHLIB_MAPFILES): New.
4475         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4476         (MD_STARTFILE_PREFIX): Likewise.
4477         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4478         (DWARF2_UNWIND_INFO): Redefine.
4479         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4480         (LINK_EH_SPEC): Redefine.
4481         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4482         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4483         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4484         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4485         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4486         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4487         SH_DWARF_FRAME_FPSCR): Likewise.
4488         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4489         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4490         registers if the current function calls EH return.
4491         (sh_expand_epilogue): Handle EH stack adjustments.
4492         (sh_set_return_address): New function.
4493         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4494         Don't abort even if the number is mapped to -1.
4495         (EH_RETURN_DATA_REGNO): Define.
4496         (EH_RETURN_STACKADJ_RTX): Define.
4497         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4498         (eh_return): New pattern.
4499         (eh_set_ra_di, eh_set_ra_si): Likewise.
4500         Add splitter to perform EH return after reload.
4501
4502 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4503
4504         * stor-layout.c (excess_unit_span): New function.
4505         (place_field): Use it.
4506
4507 2002-11-19  Andreas Schwab  <schwab@suse.de>
4508
4509         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4510         not valid in C++.
4511
4512 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4513
4514         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4515         * configure: Regenerate.
4516
4517 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4518
4519         * convert.c (strip_float_extensions): New function.
4520         (convert_to_real): Optimize some cases.
4521
4522 2002-11-19  Andreas Jaeger  <aj@suse.de>
4523
4524         * loop.c (record_giv): Initialize not_replaceable.
4525         (check_final_value): Likewise.
4526
4527 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4528
4529         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4530         MASK_H8300S.
4531
4532 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4533
4534         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4535         only if -mh or -ms present.
4536         (h8300_eightbit_constant_address_p): Support the normal mode.
4537         (h8300_tiny_constant_address_p): Likewise.
4538         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4539         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4540         (Pmode): Evaluate to HImode for the normal mode.
4541         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4542         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4543         (ASM_WORD_OP): Evaluate to word for the normal mode.
4544         * config/h8300/h8300.md (tablejump_normal_mode): New.
4545         (indirect_jump_normal_mode): New.
4546         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4547         directory.
4548         (MULTILIB_DIRNAMES): Create target dependent directory
4549         'normal'.
4550         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4551         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4552
4553 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4554
4555         * i386.md (length_immediate): Do not refer to insn address.
4556         (jcc*, jmp patterns):  Compute length explicitly.
4557
4558 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4559
4560         PR c/8588
4561         * optabs.c (expand_binop): Convert CONST_INTs in shift
4562         operations too.
4563
4564 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4565
4566         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4567
4568 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4569
4570         * config/h8300/h8300.md (an anonymous pattern): Relax the
4571         condition to accept the same operands and/or subregs.
4572
4573 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4574
4575         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4576         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4577         reload_completed.
4578
4579 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4580
4581         * config/h8300/h8300.c (print_operand): Update the use of
4582         EIGHTBIT_CONSTANT_ADDRESS_P.
4583         (h8300_adjust_insn_length): Likewise.
4584         (h8300_eightbit_constant_address_p): Check if the given rtx is
4585         a variable with __attribute__((eightbit_data)).
4586         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4587         EIGHTBIT_CONSTANT_ADDRESS_P.
4588
4589 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4590
4591         * doc/contrib.texi (Contributors): Add self as second contact in
4592         addition to Jeff Law.
4593
4594 2002-11-19  Andreas Jaeger  <aj@suse.de>
4595
4596         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4597         find_alloca_call to right place.
4598
4599 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4600
4601         * cppfiles.c: Fix formatting.
4602
4603 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4604
4605         * gcc.c (The Specs Language): Document spec functions.
4606         (static_spec_functions, lookup_spec_function)
4607         (eval_spec_function, handle_spec_function)
4608         (if_exists_spec_function, alloc_args): New.
4609         (execute): Abort if processing_spec_function is true.
4610         (do_spec_1): Hand off spec to handle_spec_function if %:
4611         is encountered.  If processing_spec_function is true,
4612         end any pending argument when the end of the string is reached.
4613         (main): Use alloc_args to allocate the initial argument vector.
4614         * gcc.h (struct spec_function): New.
4615         (lang_specific_spec_functions): New extern.
4616
4617         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4618         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4619         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4620
4621         * doc/invoke.texi: Document spec functions.
4622
4623         * cppspec.c (lang_specific_spec_functions): New.
4624         * gccspec.c: Likewise.
4625
4626 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4627
4628         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4629         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4630         (fixunstfsi_libfunc): Change.
4631         (fixunstfdi_libfunc): Change.
4632         (sdiv_optab): Don't zero out SImode handler.
4633         (udiv_optab): Don't zero out SImode handler.
4634         (smod_optab): Don't zero out SImode handler.
4635         (umod_optab): Don't zero out SImode handler.
4636
4637 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4638
4639         PR preprocessor/8524
4640         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4641         Add a new one in its place, which hopefully works.
4642         (skip_rest_of_line): Change test for bottom-of-context-stack.
4643
4644 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4645
4646         * i386.md (addqi_1_slp): Fix output template.
4647         (subqi_1_slp): Fix type.
4648
4649 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4650
4651         * calls.c (alloca_call_p): New global function.
4652         * tree.h (alloca_call_p): New.
4653         * tree-inline.c (inlinable_function_p):  Do not inline when
4654         function calls alloca.
4655         (find_alloca_call, find_alloca_call_1): New functions.
4656
4657 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4658
4659         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4660         bst.  Update the insn length.
4661         (*andorhi3): Likewise.
4662         (*andorsi3): Likewise.
4663
4664 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4665
4666         * config/sh/sh-protos.h (sh_mark_label): Declare.
4667         * config/sh/sh.c (sh_mark_label): New function, taken from
4668         movdi_const, but fixing the case when the address has an addend.
4669         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4670
4671 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4672
4673         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4674         (add_constant): Set it.
4675         (dump_table): Don't reorder a constant if part_of_sequence_p.
4676         (machine_dependent_reorg): Assume that float constants will
4677         stay in their original order if used as a sequence.
4678
4679 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4680
4681         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4682         in compact code.
4683
4684 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4685
4686         * config/sh/sh.md (initialize_trampoline): Do not force the
4687         trampoline address into R0_REGS here.
4688
4689 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4690
4691         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4692         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4693         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4694         generate unnecesary subregs.
4695
4696 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4697
4698         * df.c: Fix formatting.
4699
4700 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4701
4702         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4703         lengths.
4704
4705 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4706
4707         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4708         is not an arith_reg_operand.
4709
4710 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4711
4712         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4713         is smaller than representation.
4714
4715 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4716
4717         * builtins.c: Fix formatting.
4718
4719 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4720
4721         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4722         floats?dff2_i387):
4723         Work around regclass stupidity.
4724         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4725
4726 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4727
4728         * i386.md (fop_df_6): New pattern.
4729         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4730         (fop_xf_6): Rewrite
4731         (fop_xf_7): Delete.
4732         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4733         (fop_tf_6): Rewrite
4734         (fop_tf_7): Delete.
4735
4736 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4737
4738         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4739
4740 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4741
4742         * config/h8300/h8300.md: Fix formatting.
4743
4744 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4745
4746         * config/h8300/h8300.md: Replace spaces with tabs.
4747         * config/h8300/t-h8300: Remove a trailing empty line.
4748
4749 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4750
4751         * tlink.c: Fix formatting.
4752
4753 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
4754
4755         PR 8362
4756         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4757         * config/rs6000/rs6000.md (movti_string): Remove output modifier
4758         when scratch register never needed.
4759         (ldmsi[3-8]): New patterns.
4760
4761 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4762
4763         * hard-reg-set.h: Follow spelling conventions.
4764         * real.c: Likewise.
4765         * target.h: Likewise.
4766
4767 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
4768
4769         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
4770
4771 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4772
4773         * optabs.c: Fix formatting.
4774
4775 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
4776
4777         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
4778         * i386.md (attribute type): Add type shift1 and rotate1.
4779         (*_slp): Rewrite to have just two operands to avoid reload problems.
4780
4781 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
4782
4783         * config/h8300/h8300.md (4 anonymous patterns): New.
4784
4785 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4786
4787         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
4788         * doc/invoke.texi: Correct description of what needs to be done to
4789         force collection at every ggc_collect call.
4790
4791 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4792
4793         * config/s390/s390.c (optimization_options): Set
4794         flag_asynchronous_unwind_tables to 1 by default.
4795
4796 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
4797
4798         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4799
4800 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4801
4802         * i386-protos.h (x86_function_profiler): New function
4803         * i386.h (MCOUNT_NAME): New.
4804         (PROFILE_COUNT_REGISTER): New.
4805         (FUNCTION_PROFILER): Move offline to ...
4806         * i386.c (x86_function_profiler) ... here; fix 64bit support
4807         * beos-elf.h (FUNCTION_PROFILER): Kill.
4808         (MCOUNT_NAME): New.
4809         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
4810         (MCOUNT_NAME): New.
4811         (PROFILE_COUNT_REGISTER): New.
4812         * linux.h (FUNCTION_PROFILER): Kill.
4813         (MCOUNT_NAME): New.
4814         * x86-64.h (FUNCTION_PROFILER): Kill.
4815         (MCOUNT_NAME): New.
4816         * freebsd.h (FUNCTION_PROFILER): Kill.
4817         (MCOUNT_NAME): New.
4818
4819 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
4820
4821         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
4822         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
4823         * config/arm/arm.c (arm_va_arg,
4824         arm_function_arg_pass_by_reference): New.
4825         * config/arm/arm-protos.h: Add prototypes.
4826
4827 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4828
4829         * gthr-single.h: Fix formatting.
4830
4831 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
4832
4833         * tree.c (tree_vec_elt_check_failed): New function.
4834         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
4835         (TREE_VEC_ELT): Use it.
4836
4837         * tree-inline.c (optimize_inline_calls): Don't copy a
4838         zero-length vector.
4839
4840 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4841
4842         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
4843
4844 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
4845
4846         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
4847         both operands contain local relocations.
4848         (categorize_decl_for_section): Don't use mergeable sections if
4849         initializer has any relocations.
4850
4851 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
4852
4853         * gthr-vxworks.h: Fix formatting.
4854
4855 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
4856
4857         * doc/install.texi (Testing): Document extra Java testing.
4858         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
4859
4860 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4861
4862         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
4863         beginning of the spec.
4864         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
4865         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
4866         regarding problems with global constructors when using GNU ld.
4867
4868 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4869
4870         * gthr-solaris.h: Fix formatting.
4871
4872 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
4873
4874         * gthr-posix.h: Fix formatting.
4875
4876 2002-11-12  Devang Patel <dpatel@apple.com>
4877         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
4878         (process_command): Same.
4879         * doc/invoke.texi: Info about these two new options.
4880
4881 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4882
4883         * config/h8300/h8300.md (*andorsi3): New.
4884
4885 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4886
4887         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
4888
4889 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4890
4891         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
4892         expressions appropriately.
4893
4894 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4895
4896         * gthr-win32.h: Fix formatting.
4897
4898 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
4899
4900         * config/h8300/h8300.c (single_one_operand): Correctly compute
4901         mask when mode is SImode.
4902         (single_zero_operand): Likewise.
4903         * config/h8300/h8300.md (two new anonymous insns): New.
4904
4905 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4906
4907         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
4908         to that entire project.
4909
4910 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4911
4912         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
4913         directories.
4914
4915 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
4916
4917         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
4918         * doc/invoke.texi: Document them.
4919
4920         * ggc-page.c: Include params.h.  Remove definitions of
4921         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
4922         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
4923         (init_gcc): Don't set G.allocated_last_gc here.
4924         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
4925         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
4926         perform collection.
4927         * ggc-simple.c: Similarly.
4928         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
4929         dependencies.
4930
4931 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
4932
4933         * gthr-dce.h: Fix formatting.
4934
4935 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4936
4937         PR c/8467
4938         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
4939         mode of DECL_RTL case.
4940
4941 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
4942
4943         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
4944
4945 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
4946
4947         * i386.c (construct_container): Fix handling of SSE_CLASS.
4948
4949 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
4950
4951         * config/m68k/t-crtstuff (crti.o): Use this...
4952         ($(T)crti.o): ... instead.
4953         (crtn.o): Use this...
4954         ($(T)crtn.o): ... instead.
4955
4956 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
4957
4958         PR c/8439
4959         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
4960         if there is something new to be simplified.
4961
4962 2002-11-10  H.J. Lu <hjl@gnu.org>
4963
4964         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
4965         * expr.c (PUSH_ARGS_REVERSED): Likewise.
4966
4967         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
4968
4969 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
4970
4971         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
4972         * config/rs6000/linux.h, config/rs6000/linux64.h,
4973         config/rs6000/windiss.h: ... not here.
4974
4975 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
4976
4977         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
4978         __ABICALLS__ if TARGET_ABICALLS.
4979
4980 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
4981
4982         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
4983
4984 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
4985
4986         * c-decl.c (grokdeclarator): Make error for duplicate type
4987         qualifiers into a pedwarn, disabled for C99.
4988
4989 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
4990
4991         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
4992         as FUNCTION_ARG_PASS_BY_REFERENCE.
4993
4994 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
4995
4996         * doc/install.texi: Add *-*-vxworks* specific installation
4997         instructions.
4998
4999         * config/vxlib.c: Rewrite using generation numbers to identify
5000         valid TSD keys.
5001
5002 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5003
5004         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5005
5006 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5007
5008         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5009
5010         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5011         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5012         * pa.c (output_millicode_call): Use symbol difference rather than
5013         $PIC_pcrel$0 when using HP assembler.
5014         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5015         not elfos.h (i.e., gas) is being used.
5016         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5017         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5018         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5019         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5020         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5021         using elfos.h.
5022         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5023         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5024         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5025         using elfos.h.
5026         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5027         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5028         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5029         Don't define when not using elfos.h.
5030         (ASM_DECLARE_RESULT): Don't define.
5031         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5032         doesn't work on hppa64-hp-hpux11.
5033         (hppa*-hp-hpux11): Update.
5034
5035 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5036
5037         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5038         to the assembler if -mno-abicalls was specified.
5039
5040 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5041
5042         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5043         ASM_OUTPUT_DEF): Delete.
5044
5045 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5046
5047         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5048
5049 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5050
5051         * real.c (real_sqrt): Update comment with bibliographic reference.
5052
5053 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5054
5055         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5056
5057 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5058
5059         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5060
5061 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5062
5063         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5064         (expand_builtin): Likewise.
5065         * builtins.def: Add
5066         __builtin_floor, __builtin_floorf, __builtin_floorl
5067         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5068         __builtin_round, __builtin_roundf, __builtin_roundl
5069         __builtin_trunc, __builtin_truncf, __builtin_truncl
5070         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5071         * genopinit.c (optabs): Initialize the new optabs.
5072         * optab.c (init_optabs): Likewise.
5073         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5074         OTI_round, OTI_nearbyint.
5075         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5076         * doc/md.texi: Document new named patterns.
5077         * doc/extend.texi (builtin functions)  Document
5078         floor, floorf, floorl, ceil, ceilf,
5079         ceill, round, roundf, roundl, trunc,
5080         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5081
5082 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5083
5084         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5085
5086 2002-11-08  Dale Johannesen  <dalej@apple.com>
5087
5088         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5089
5090 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5091
5092         PR preprocessor/8497
5093         PR preprocessor/8501
5094         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5095         start a directive.  In assembler, #NUM is not a line directive.
5096
5097 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5098
5099         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5100         buffers.
5101
5102 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * config/h8300/h8300.md (two anonymous test insns): New.
5105
5106 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5107
5108         * jump.c (mark_jump_label): Handle subregs of label_refs.
5109
5110 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5111
5112         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5113         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5114
5115 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5116
5117         * config/ia64/crtend.asm: Include "auto-host.h".
5118         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5119         * config/ia64/crtbegin.asm: Similarly.
5120         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5121         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5122
5123         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5124         * configure.in: Use it if --enable-initfini-array not specified.
5125         * doc/install.texi (Configuration): Document --enable-initfini-array.
5126         * configure, config.in: Rebuild.
5127
5128 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5129
5130         * config/arm/arm-protos.h (arm_get_frame_size)
5131         (thumb_get_frame_size): New prototypes.
5132         * config/arm/arm.c (arm_get_frame_size)
5133         (thumb_get_frame_size): New functions.
5134         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5135         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5136         arm_get_frame_size.
5137         (thumb_expand_prologue, thumb_expand_epilogue): Use
5138         thumb_get_frame_size.
5139         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5140         (machine_function): Add frame_size member.
5141         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5142
5143 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5144
5145         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5146         Adjust code to use portable unsigned bit manipulation.
5147         (insn_flags, tune_flags): Change type to unsigned.
5148         (struct processors): Make flags unsigned long.
5149         (arm_override_options): Change type of count and current_bit_count
5150         to unsigned.
5151
5152 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5153
5154         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5155
5156 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5157
5158         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5159
5160 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5161
5162         * reg-stack.c (compensate_edge): Fix sanity check.
5163
5164 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5165
5166         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5167         crt2.o.  Rearrange t-darwin makefiles.
5168         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5169         * unwind-dw2-fde-darwin.c: New.
5170         * unwind-dw2-fde-glibc.c: Correct comment.
5171         * unwind-dw2-fde.c (__register_frame_info_bases)
5172         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5173         (classify_object_over_fdes): Use last_fde.
5174         (add_fdes): Likewise.
5175         (linear_search_fdes): Likewise.
5176         * unwind-dw2-fde.h (struct object)
5177         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5178         (last_fde): New.
5179         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5180         (ENDFILE_SPEC): No crtend.o.
5181         * config/t-darwin: New.
5182         * config/i386/t-darwin: Delete.
5183         * config/darwin-crt2.c: New.
5184         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5185         or config/t-darwin.
5186
5187 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5188
5189         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5190         MASK_MS_BITFIELD_LAYOUT
5191         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5192         MS bitfields for Objective-C.
5193         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5194         defines.
5195
5196         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5197         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5198         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5199
5200         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5201         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5202         (TARGET_SWITCHES): Add above mask.
5203
5204         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5205         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5206         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5207         flags for interix.
5208
5209 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5210
5211         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5212         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5213         assembler.
5214         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5215         before jump on ABI_N32 too.
5216         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5217         length to match.
5218
5219 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5220
5221         * i386.md (negsf splitter): Accept memory operand in second register.
5222         (abssf/absdf splitters): Simplify
5223         (sse_loadss, sse_loadsd): Turn into expander.
5224
5225 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5226
5227         PR target/8480
5228         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5229         FPR to FPR moves.
5230
5231 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5232
5233         * doc/contrib.texi: Merge in the list from the Java web pages.
5234
5235 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5236
5237         * config/sparc/freebsd: Fix typo.
5238
5239 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5240
5241         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5242
5243 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5244
5245         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5246         non-SImode addresses.
5247
5248 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5249
5250         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5251         stack register.
5252         (float SSE splitters): Reorder conditional.
5253
5254 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5255
5256         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5257
5258 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5259
5260         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5261         (STARTFILE_SPEC): Remove p and pg options.
5262
5263 2002-11-05  Andrew Haley  <aph@redhat.com>
5264
5265         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5266         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5267
5268 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5269
5270         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5271         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5272
5273 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5274
5275         * gthr-vxworks.h: Rewritten from scratch.
5276         * config/vxlib.c: New file.
5277         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5278         * config/rs6000/t-vxworks: Add config/vxlib.c to
5279         LIB2FUNCS_EXTRA here too, because of clash with
5280         config/rs6000/t-ppccomm.
5281
5282 2002-11-04  Dale Johannesen  <dalej@apple.com>
5283
5284         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5285         for unrolled loops.
5286         * loop.c (loop_invariant_p):  Support calling from unroller.
5287
5288 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5289
5290         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5291         for comparison.
5292
5293 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5294
5295         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5296
5297         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5298         (CLASS_CANNOT_CHANGE_MODE): Remove.
5299         (CANNOT_CHANGE_MODE_CLASS): New.
5300
5301         * config/alpha/alpha.h: Same.
5302
5303         * config/ia64/ia64.h: Same.
5304
5305         * config/mips/mips.h: Same.
5306
5307         * config/s390/s390.h: Same.
5308
5309         * config/sh/sh.h: Same.
5310
5311         * config/pa/pa64-regs.h: Same.
5312
5313         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5314
5315         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5316
5317         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5318         prototype.
5319
5320         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5321
5322         * doc/tm.texi (Register Classes): Remove
5323         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5324         Document CANNOT_CHANGE_MODE_CLASS.
5325
5326         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5327         (push_reload): Same.
5328
5329         * simplify-rtx.c (simplify_subreg): Same.
5330
5331         * reload1.c (choose_reload_regs): Same.
5332
5333         * recog.c (register_operand): Same.
5334
5335         * regrename.c (mode_change_ok): Change to use new
5336         CANNOT_CHANGE_MODE_CLASS infrastructure.
5337
5338         * regclass.c (cannot_change_mode_set_regs): New.
5339         Declare subregs_of_mode.
5340         (regclass): Use subregs_of_mode.
5341         Remove references to reg_changes_mode.
5342         (init_reg_sets_1): Remove class_can_change_mode and
5343         reg_changes_mode code.
5344         (invalid_mode_change_p): New.
5345         (dump_regclass): Use invalid_mode_change_p instead of
5346         class_can_change_mode.
5347         (regclass): Same.
5348         (record_operand_costs): Do not set reg_changes_mode.
5349
5350         * local-alloc.c (struct qty): Remove changes_mode field.
5351         (alloc_qty): Remove changes_mode initialization.
5352         (update_qty_class): Remove set of changes_mode.
5353         (find_free_reg): Use subregs_of_mode.
5354
5355         * global.c (find_reg): Use subregs_of_mode info.
5356
5357         * rtl.h (cannot_change_mode_set_regs): New prototype.
5358         (invalid_mode_change_p): Same.
5359         (REG_CANNOT_CHANGE_MODE_P): New macro.
5360
5361         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5362         REG_CHANGES_MODE.
5363         (life_analysis): Clear subregs_of_mode.
5364
5365         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5366         Remove use of CLASS_CANNOT_CHANGE_MODE.
5367         (simplify_set): Same.
5368         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5369         REG_CHANGES_MODE.
5370
5371         * regs.h: Add extern for subregs_of_mode;
5372         Include hard-reg-set and basic-block.
5373         (REG_CHANGES_MODE): Delete.
5374
5375 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5376
5377         * real.c (real_sqrt): New function to calculate square roots.
5378         * real.h (real_sqrt): Add function prototype.
5379         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5380         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5381         of constant argument.
5382
5383 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5384
5385         * jump.c (never_reached_warning): Don't set contains_insn until the
5386         first line note is seen.
5387
5388 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5389
5390         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5391
5392 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5393
5394         PR c/7128
5395         * c-typeck.c (c_expand_asm_operands): Defend against
5396         error_mark_nodes in the output argument to avoid ICE.
5397
5398 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5399
5400         PR middle-end/8408
5401         * genrecog.c (preds): Handle ADDRESSOF.
5402         (validate_pattern): Mark it as an lvalue.
5403
5404 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5405
5406         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5407         instructions when optimizing for size.
5408
5409 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5410
5411         * config/h8300/h8300.h: Fix comment typos.
5412         * config/h8300/h8300.md: Likewise.
5413         * config/h8300/lib1funcs.asm: Likewise.
5414
5415 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5416
5417         Revert this change:
5418
5419         *doc/install.texi (Installing GCC: Configuration): Clarify
5420         the only supported ways to configure gcc.
5421
5422 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5423
5424         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5425         instead of 'O' for the constraint for the second operand.
5426
5427 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5428
5429         PR c++/8391
5430         * toplev.c (rest_of_compilation): Do not refuse to output code for
5431         an inline function in a local class.
5432
5433 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5434
5435         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5436         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5437         Add comment.
5438
5439 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5440
5441         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5442
5443 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5444
5445         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5446
5447 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5448
5449         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5450         (MASK_INLINE_DIV_THR): Remove.
5451         (TARGET_INLINE_DIV_LAT): Remove.
5452         (TARGET_INLINE_DIV_THR): Remove.
5453         (TARGET_INLINE_DIV): Remove.
5454         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5455         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5456         (MASK_INLINE_INT_DIV_LAT): New macro.
5457         (MASK_INLINE_INT_DIV_THR): New macro.
5458         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5459         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5460         (TARGET_INLINE_INT_DIV_LAT): New macro.
5461         (TARGET_INLINE_INT_DIV_THR): New macro.
5462         (TARGET_INLINE_FLOAT_DIV): New macro.
5463         (TARGET_INLINE_INT_DIV): New macro.
5464         * config/ia64/ia64.md (divsi3): Change to use new macros.
5465         (modsi3): Ditto.
5466         (udivsi3): Ditto.
5467         (umodsi3): Ditto.
5468         (divsi3_internal): Ditto.
5469         (divdi3): Ditto.
5470         (moddi3): Ditto.
5471         (udivdi3): Ditto.
5472         (umoddi3): Ditto.
5473         (divdi3_internal_lat): Ditto.
5474         (divdi3_internal_thr): Ditto.
5475         (divsf3): Ditto.
5476         (divsf3_internal_lat): Ditto.
5477         (divsf3_internal_thr): Ditto.
5478         (divdf3): Ditto.
5479         (divdf3_internal_lat): Ditto.
5480         (divdf3_internal_thr): Ditto.
5481         (divtf3): Ditto.
5482         (divtf3_internal_lat): Ditto.
5483         (divtf3_internal_thr): Ditto.
5484         * config/ia64/ia64.c (ia64_override_options): Change
5485         to check new macros for conflicts in settings.
5486         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5487         (-minline-divide-max-throughput): Remove.
5488         (-minline-float-divide-min-latency): New.
5489         (-minline-float-divide-max-throughput): New.
5490         (-minline-int-divide-min-latency): New.
5491         (-minline-int-divide-max-throughput): New.
5492
5493 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5494
5495         PR target/7856
5496         * arm.c (use_return_insn): Don't use a return insn if there are
5497         saved integer regs, but LR is not one of them.
5498
5499 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5500
5501         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5502         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5503
5504 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5505
5506         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5507         (movps, movpd splitters): Use canonical form.
5508         (movv2di): Fix merge problem.
5509
5510 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5511
5512         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5513
5514 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5515
5516         PR optimization/6162
5517         * doc/md.texi: Document restriction on commutative operand
5518         specification.
5519
5520 2002-10-31  Eric Christopher  <echristo@redhat.com>
5521
5522         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5523
5524 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5525
5526         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5527
5528 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5529
5530         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5531
5532 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5533
5534         * config/rs6000/darwin.h:  Correct formatting in previous.
5535
5536 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5537
5538         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5539
5540 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5541
5542         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5543         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5544         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5545         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5546         Do not clear -momit-leaf-frame-pointer when profiling.
5547         (ix86_frame_pointer_required): Frame pointer is always required when
5548         profiling.
5549
5550 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5551
5552         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5553
5554 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5555
5556         * sh.h (binary_logical_operator): Declare.
5557         * sh.c (binary_logical_operator): New function.
5558         * sh.md (xordi3+1): New combiner splitter pattern.
5559
5560 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5561
5562         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5563         __enable_execute_stack function.
5564
5565 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5566
5567         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5568         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5569         * unwind-sjlj.c (fc_key_dtor): Delete.
5570         (fc_key_init): Adjust __gthread_key_create call to match.
5571
5572 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5573
5574         * c-common.c: Add GTY to vector_type_node_list.
5575
5576 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5577
5578         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5579         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5580         pa_init_machine_status): Declare new global functions.
5581         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5582         implement new functions.
5583         (attr_length_millicode_call, attr_length_call): Implement.
5584         (total_code_bytes): Change type to long.
5585         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5586         Reset counter if flag_function_sections.
5587         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5588         (output_cbranch): Move call to gen_label_rtx.
5589         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5590         delay slot in all variants, shorten pc-relative calls.
5591         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5592         slot usage and exposure, various new call variants, and shortened
5593         sequences for some variants on TARGET_PA_20.
5594         Miscellaneous format changes.
5595         * pa.h (total_code_bytes): Change type to long.
5596         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5597         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5598         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5599         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5600         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5601         stores on TARGET_ELF32.
5602         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5603         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5604         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5605         attr_length_millicode_call().
5606         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5607         Calculate attribute length using attr_length_call().
5608         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5609         to delay slot.
5610         (sibcall, sibcall_value): Rewrite.
5611         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5612         register 1.  Use attr_length_call().
5613         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5614         New patterns.
5615         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5616         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5617         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5618         * doc/invoke.texi (mlong-calls): Document.
5619
5620 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5621
5622         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5623         handling of cases where one or both branches of the conditional
5624         have void type, i.e. throw an exception or don't return.
5625         (fold): Only apply (and undo) type conversion to the non-void
5626         branches of a COND_EXPR.
5627
5628 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5629
5630         PR c++/8333
5631         * varasm.c (asm_output_aligned_bss): Do not call
5632         ASM_GLOBALIZE_LABEL.
5633
5634 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5635             Torbjorn Granlund  <tege@swox.com>
5636
5637         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5638         for addressibility.
5639         (load_toc_v4_PIC_1b): Same.
5640
5641 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5642
5643         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5644         Truncate the addresses for H8/300 using HImode.
5645
5646 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5647
5648         * i386.md (negdf splitter): Fix construction of the constant.
5649
5650 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5651
5652         * i386.md (negsf, negdf): Reorganize to use vector modes
5653         for SSE variants.
5654         (abssf, absdf): Use force_reg.
5655         (movv4sf, movv2df): New splitters.
5656         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5657         * i386.c (zero_extended_scalar_load_operand
5658
5659         * i386-protos.h (ix86_expand_call): Update prototype.
5660         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5661         (ix86_expand_call): Use r11 for indirect sibcalls.
5662         * i386.md (call, call_value, untyped_call, call_value_pop):
5663         update x86_expand_call call.
5664         (sibcall, sibcall_value): new patterns
5665         (call_rex64, call_value_rex64): Do not accept sibcalls.
5666         (sibcall_rex64, sibcall_value_rex64,
5667         sibcall_rex64_v, sibcall_value_rex64_v): New.
5668
5669 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5670
5671         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5672         before final pass.
5673
5674 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5675
5676         * toplev.c (rest_of_type_compilation): Return early in case of
5677         errors.
5678         (check_global_declarations): Don't call debug_hooks->global_decl
5679         in case of errors.
5680
5681 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5682
5683         * doc/c-tree.texi (Tree overview): Fix typos.
5684
5685 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5686
5687         * Makefile.in (gnucompare*):  Only record bad comparisons
5688         if there really was a bad comparison.
5689
5690 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5691
5692         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5693         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5694         * md.texi (machine dependent constraints): Document 'C'
5695
5696         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5697
5698         * i386.c (ix86_expand_vector_move): Fix.
5699
5700         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5701         * i386.md (sse2_maskmovdqu_rex64): New pattern
5702
5703         PR target/8322
5704         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5705         (ix86_init_mmx_sse_builtins): Fix type.
5706
5707 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5708
5709         * gthr-posix.h: Include <unistd.h> for feature tests.
5710         (sched_get_priority_max, sched_get_priority_min)
5711         (pthread_getschedparam, pthread_setschedparam): Only use
5712         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5713         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5714         returns from sched_get_priority_max and sched_get_priority_min
5715         as an error.
5716
5717 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5718
5719         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5720         MASK_QUICKCALL.
5721
5722 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5723
5724         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5725         (h8300_tiny_constant_address_p): Likewise.
5726         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5727         h8300_eightbit_constant_address_p.
5728         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5729         * config/h8300/h8300-protos.h: Add the prototypes for the two
5730         new functions.
5731
5732 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5733
5734         * reload1.c (update_eliminables): Unconditionally check if
5735         frame_pointer_needed has changed.
5736
5737 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5738
5739         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5740         before final pass.
5741
5742 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5743
5744         PR optimization/8334
5745         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5746         check for zero operands explicitly.
5747
5748 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
5749
5750         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5751         memory after adjusting to BLKmode.
5752
5753 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5754
5755         * config/h8300/h8300.h (MASK_*): New.
5756         (TARGET_*): Use MASK_*.
5757
5758 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
5759
5760         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5761         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5762         config/rs6000/vxworks.h: New files.
5763         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5764
5765         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5766         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5767         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5768         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5769         sparc-*-vxsim*): Delete stanzas.
5770         * gthr-vxworks.h: Rip out all substantive code and just
5771         include gthr-single.h.
5772
5773         * config/alpha/vxworks.h, config/arm/vxarm.h,
5774         config/i386/vxi386.h, config/i960/t-vxworks960,
5775         config/i960/vx960-coff.h, config/i960/vx960.h,
5776         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
5777         config/mips/vxworks.h, config/rs6000/vxppc.h,
5778         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
5779         config/sparc/vxsim.h, config/sparc/vxsparc.h,
5780         config/sparc/vxsparc64.h: Delete files.
5781
5782 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
5783
5784         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
5785         tm_defines if pthreads are enabled.
5786         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
5787         if NETBSD_ENABLE_PTHREADS is defined.
5788
5789 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
5790
5791         * ChangeLog.1: Fix typos.
5792         * cse.c: Fix a comment typo.
5793         * reload1.c: Likewise.
5794
5795 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
5796
5797         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
5798         * fixinc/tests/base/_G_config.h: New file.
5799
5800 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5801
5802         * combine.c: Fix comment formatting.
5803         * loop.c: Likewise.
5804         * real.c: Likewise.
5805         * regclass.c: Likewise.
5806         * regmove.c: Likewise.
5807         * regrename.c: Likewise.
5808         * reg-stack.c: Likewise.
5809         * reload1.c: Likewise.
5810         * reload.c: Likewise.
5811         * reload.h: Likewise.
5812         * unroll.c: Likewise.
5813
5814 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
5815
5816         * reload1.c (reload): Fix a comment typo.
5817
5818 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
5819
5820         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
5821
5822 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5823
5824         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
5825         * dwarf2out.c: Include hashtab.h.
5826         (is_main_source): New static variable.
5827         (attr_checksum, die_checksum): Modified to handle die references.
5828         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
5829         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
5830         record_comdat_symbol_number): New static functions.
5831         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
5832         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
5833         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
5834         declarations added.
5835
5836 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
5837
5838         * config/h8300/h8300.c (initial_offset): Change to
5839         h8300_initial_elimination_offset.
5840         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
5841         h8300_initial_elimination_offset.
5842         * config/h8300/h8300-protos.h: Update the prototype.
5843
5844 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
5845
5846         * config/mmix/mmix.h (LIBCALL_VALUE): Use
5847         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
5848         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
5849         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
5850         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
5851         and RTX_CODE.
5852         (mmix_function_value_regno_p): Declare.
5853
5854         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
5855         invalid for floating point mode result, with fix.
5856
5857 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
5858
5859         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
5860         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
5861         (stage1_build): Likewise.
5862
5863 2002-10-25  Mike Stump  <mrs@apple.com>
5864
5865         Fixes gcc.dg/warn-1.c.
5866         * c-typeck.c (warn_for_assignment): Don't print argument number,
5867         if zero.
5868
5869 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
5870
5871         * toplev.c (dump_file_index): Add DFI_ce3.
5872         (dump_file_info): Likewise.
5873         (rest_of_compilation): Run first ifcvt pass before tracer.
5874
5875 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
5876
5877         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
5878
5879 2002-10-25  Richard Henderson  <rth@redhat.com>
5880
5881         * real.c (real_to_decimal): If the >1 tens reduction loop results
5882         in a negative exponent, fall into the <1 pten computation.
5883
5884 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
5885
5886         PR middle-end/6994
5887         * c-objc-common.c (inline_forbidden_p): Can not inline
5888         functions containing structures or unions containing VLAs.
5889         * tree-inline.c (walk_tree): For all class 't' nodes, walk
5890         TYPE_SIZE and TYPE_SIZE_UNIT.
5891         (copy_tree_r): Copy types if they are variably modified.
5892
5893 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5894
5895         * config/s390/s390.md: Remove old-style peepholes.
5896
5897 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
5898
5899         * config/s390/s390.c (s390_decompose_address): Do not range check the
5900         displacement if base or index is the argument pointer register.
5901
5902 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
5903
5904         PR other/3337
5905         PR bootstrap/6763
5906         PR bootstrap/8122
5907         * fixinc/inclhack.def (libc1_G_va_list): New fix.
5908         * fixinc/fixincl.x: Regenerate.
5909         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
5910         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
5911         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
5912         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
5913         * config.in, configure: Regenerate.
5914
5915 2002-10-24  Igor Shevlyakov <igor@microunity.com>
5916
5917         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
5918
5919 2002-10-24  Richard Henderson  <rth@redhat.com>
5920
5921         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
5922
5923 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
5924
5925         * config/h8300/h8300.c (initial_offset): Simplify by using
5926         round_frame_size.
5927
5928 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
5929
5930         * doc/install.texi (avr): Update required binutils version.
5931
5932 2002-10-24  Theodore A. Roth  <troth@openavr.org>
5933
5934         * doc/install.texi: Point avr users at more up-to-date information.
5935
5936 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
5937
5938         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
5939         to pull operands out of the literal pool where possible.
5940
5941 2002-10-24  Denis Chertykov  <denisc@overta.ru>
5942
5943         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
5944
5945 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
5946
5947         * expr.c (convert_move): If unsignedp is less then zero there
5948         is no equivalent code.
5949
5950 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
5951
5952         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
5953
5954 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
5955
5956         * config/s390/s390.h: Rework comments; re-sort target macro definitions
5957         according to the sequence they are defined in the manual.
5958         (POINTER_BOUNDARY): Remove.
5959
5960 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
5961
5962         * config/h8300/h8300.c (round_frame_size): Replace 8 with
5963         BITS_PER_UNIT.
5964
5965 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
5966
5967         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
5968         64-bit safe.
5969         (TINY_CONSTANT_ADDRESS_P): Likewise.
5970
5971 2002-10-24  Richard Henderson  <rth@redhat.com>
5972
5973         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
5974         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
5975         vcall offset.
5976
5977 2002-10-24  Richard Henderson  <rth@redhat.com>
5978
5979         PR opt/7944
5980         * reload.c (find_reloads_toplev): Mode of X is not important
5981         when simplifying subregs of constants.
5982
5983 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
5984
5985         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
5986         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
5987         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
5988         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
5989         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
5990
5991 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
5992
5993         * optabs.c (expand_binop): Don't reuse the shift target in the
5994         middle of shift sequences.
5995
5996 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
5997
5998         * i386.md (abs splitters): Do not produce nested subregs.
5999
6000 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6001
6002         * i386.md (movti_rex64): Fix constraints.
6003
6004 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6005
6006         * i386.md (abssf,absdf): Use vector operands for SSE
6007         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6008         vector operand.
6009
6010 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6011
6012         * objc/objc-act.c (get_static_reference): Remove unneeded
6013         TYPE_BINFO initialization.
6014         (get_object-reference): Likewise.
6015         (build_constructor): Tighten precondition check.
6016         (finish_message_expr): Likewise.
6017
6018 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6019
6020         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6021         after CONST test.
6022
6023 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6024
6025         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6026         in HFAs.
6027
6028 2002-10-23  Richard Henderson  <rth@redhat.com>
6029
6030         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6031         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6032
6033 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6034
6035         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6036         var_mod_type_p.
6037         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6038         hook_tree_bool_false.
6039
6040         * tree.c (variably_modified_type_p): Moved here from
6041         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6042         language-specific cases.  Due to this, must weaken some 'if
6043         and only if' checks to merely 'if'.
6044         * tree.h: Prototype variably_modified_type_p.
6045
6046         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6047
6048 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6049
6050         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6051         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6052
6053         * config/s390/s390-protos.h (fp_operand): Remove.
6054         * config/s390/s390.c (fp_operand): Remove.
6055         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6056         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6057         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6058         (movdi_31, movdf_31 splitters): Likewise.
6059
6060         * config/s390/s390.h (IEEE_FLOAT): Remove.
6061         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6062         (INT_REGNO_P): Rename to ...
6063         (GENERAL_REGNO_P): ... this.
6064         (FLOAT_REGNO_P): Rename to ...
6065         (FP_REGNO_P): ... this.
6066         (ADDR_REGNO_P): New macro.
6067         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6068         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6069         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6070         (HARD_REGNO_NREGS): Adapt to macro renaming.
6071         (HARD_REGNO_MODE_OK): Likewise.
6072
6073 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6074             Geoff Keating  <geoffk@apple.com>
6075
6076         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6077         (rs6000_memory_move_cost): New function.
6078         * config/rs6000/rs6000-protos.h: Declare them.
6079         * config/rs6000/rs6000.h: Use them.
6080
6081 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6082
6083         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6084         inlining it into other libgcc2 routines.
6085         (__udivmoddi4): Likewise.
6086
6087 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6088
6089         * doc/sourcebuild.texi (Test Suites): Improve.
6090
6091 2002-10-22  Stan Shebs  <shebs@apple.com>
6092
6093         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6094         case for Darwin.
6095
6096 2002-10-22  Jim Wilson  <wilson@redhat.com>
6097
6098         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6099
6100 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6101
6102         PR other/8289
6103         * xmmintrin.h: Add const to the argument of loads.
6104
6105         * i386.md (pushv2di): New pattern.
6106         PR target/6890
6107         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6108
6109 2002-10-22  Richard Henderson  <rth@redhat.com>
6110
6111         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6112         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6113         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6114         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6115         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6116         (TARGET_ASM_OUT): Update.
6117         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6118         (hook_bool_tree_hwi_hwi_tree_true): New.
6119         (default_can_output_mi_thunk_no_vcall): New.
6120         * hooks.h: Declare them.
6121         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6122
6123         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6124         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6125         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6126         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6127         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6128         config/stormy16/stormy16.c: Similarly.
6129
6130         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6131         Handle 64-bit properly.  Streamline.
6132         (x86_output_mi_vcall_thunk): Remove.
6133         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6134         (x86_can_output_mi_thunk): New.
6135         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6136         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6137         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6138
6139         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6140         output_mi_thunk; make static; always use function_section.
6141         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6142         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6143         (rs6000_ra_ever_killed): Test no_new_pseudos not
6144         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6145         * config/rs6000/rs6000-protos.h: Update.
6146         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6147         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6148         xcoffout_declare_function when using rs6000_output_mi_thunk.
6149
6150         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6151         s390_output_mi_vcall_thunk.
6152         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6153         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6154
6155         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6156         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6157         * config/vax/vax-protos.h: Update.
6158         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6159
6160 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6161
6162         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6163         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6164         * i386.md (movti_internal): Use 'C'
6165
6166         * xmmintrin.h (_mm_cmplt_epi*): New.
6167
6168 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6169
6170         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6171         ("*movdf_64"): Likewise.
6172         ("*lshrdi3_64"): Likewise.
6173         ("blockage"): Add length attribute.
6174         ("lit"): Likewise.
6175
6176 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6177
6178         * i386.md: FIx typo.
6179         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6180         (sse2_umulv2siv2di3): Fix predicate.
6181         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6182         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6183         * xmmintrin.h (_mm_mul_epu16): Rename to...
6184         (_mm_mul_epu32): This one.
6185         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6186
6187         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6188
6189 2002-10-22  Eric Christopher  <echristo@redhat.com>
6190
6191         * config/sparc/sparc.h: Add #error.
6192
6193 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6194
6195         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6196         [s390x-*-linux*]: Likewise.
6197         * config/s390/t-linux: Remove.
6198         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6199
6200 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6201
6202         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6203         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6204         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6205         * i386.md (mmx_punpck?dq): Simplify.
6206         (sse2_pubpcklqdq): Fix.
6207         (sse2_pubpckhqdq): New.
6208         * xmmintrin.h (_mm_unpackhi_epi32): New.
6209
6210         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6211         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6212
6213 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6214
6215         PR c++/7209
6216         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6217         build compound_expr if we used save_expr.
6218
6219 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6220
6221         * output.h (SECTION_NOTYPE): Define.
6222         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6223         init array sections.
6224         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6225         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6226         merge TLS support.
6227
6228 2002-10-21  Richard Henderson  <rth@redhat.com>
6229
6230         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6231         the function type, not the return type.
6232
6233 2002-10-21  Richard Henderson  <rth@redhat.com>
6234
6235         * real.c (sticky_rshift_significand): Return inexact, don't
6236         or it in immediately.
6237         (sub_significands): Accept incomming carry.
6238         (div_significands, rtd_divmod): Update for sub_significands change.
6239         (round_for_format): Update for sticky_rshift_significand change.
6240         (do_add): Don't involve the inexact bit in addition, do give the
6241         inexact bit as the subtraction carry-in.
6242         (encode_internal, decode_internal, real_internal_format): New.
6243         * real.h (real_internal_format): Declare.
6244
6245 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6246
6247         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6248         don't define sdiv_qrnnd.
6249
6250 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6251
6252         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6253         using IN_RANGE.
6254         (TINY_CONSTANT_ADDRESS_P): Likewise.
6255
6256 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6257
6258         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6259         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6260         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6261         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6262         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6263         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6264         __builtin_ia32_setzero128.
6265         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6266         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6267         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6268         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6269         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6270         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6271         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6272         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6273         sse2_movq): New patterns.
6274         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6275         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6276         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6277         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6278         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6279         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6280         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6281         (_mm_insert_epi16): Fix.
6282
6283 2002-10-21  Dale Johannesen  <dalej@apple.com>
6284
6285         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6286             unsafe math reversals correctly for RTL generation.
6287           (output_cbranch):  Replace rs6000_reverse_condition call
6288             by its former definition.
6289
6290 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6291
6292         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6293         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6294         from constant pool or LABEL_REFs as sign extended if allow_rip.
6295         Change all +-1GB limits to +-16MB.
6296         (x86_64_general_operand, x86_64_szext_general_operand,
6297         x86_64_nonmemory_operand, x86_64_movabs_operand,
6298         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6299         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6300         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6301         in CM_SMALL_PIC model.
6302         (legitimate_pic_address_disp_p): Don't check offsets before
6303         calling local_symbolic_operand.
6304         (legitimize_pic_address): Force offsets bigger than +-16MB into
6305         register.
6306         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6307         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6308         prototype.
6309
6310         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6311         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6312         * configure: Rebuilt.
6313         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6314         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6315         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6316         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6317         -fpic.
6318         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6319         non-pic code if TARGET_64BIT.
6320         (legitimize_address): Generate 64-bit TLS sequences.
6321         (output_pic_addr_const): Support x86-64 TLS operators.
6322         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6323         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6324         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6325         (output_addr_const_extra): Support x86-64 TLS operators.
6326         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6327         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6328         unconditionally.
6329         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6330         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6331         (*tls_global_dynamic_sun): Renamed to...
6332         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6333         (tls_global_dynamic): Renamed to...
6334         (tls_global_dynamic_32): ... this.
6335         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6336         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6337         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6338         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6339         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6340         (tls_local_dynamic_base_dynamic): Renamed to...
6341         (tls_local_dynamic_base_dynamic_32): ... this.
6342         (tls_local_dynamic_base_dynamic_64,
6343         *tls_local_dynamic_base_dynamic_64): New.
6344         (*tls_local_dynamic_once): Renamed to...
6345         (*tls_local_dynamic_32_once): ... this.
6346
6347 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6348
6349         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6350         __divdi3, __umoddi3, or __moddi3.
6351
6352 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6353
6354         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6355         instead of just opt_index as switch expression.
6356
6357         * calls.c (store_one_arg): Change type of 'excess_align'
6358         to unsigned int.
6359
6360         * profile.c (output_gcov_string): Change type of 'temp'
6361         to size_t.
6362
6363 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6364
6365         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6366         (__fixunssfdi, __fixsfdi): Likewise.
6367         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6368         (s390_single_qi): Likewise.
6369         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6370         unsigned comparison warning.
6371         (s390_return_addr_rtx): New function.
6372         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6373         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6374         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6375
6376 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6377
6378         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6379         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6380         (s390_output_mi_thunk): Remove.
6381         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6382
6383 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6384
6385         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6386
6387 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6388
6389         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6390         inverted test in the conditional determining the possibility
6391         of sibcalls in PIC mode.
6392
6393 2002-10-20  Richard Henderson  <rth@redhat.com>
6394
6395         * target.h (struct gcc_target): Line wrap.
6396
6397         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6398         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6399         * config/alpha/alpha.h: ... not here.
6400         * config/alpha/alpha-protos.h: Update.
6401
6402         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6403         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6404         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6405         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6406         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6407         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6408         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6409         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6410         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6411         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6412         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6413         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6414         config/sparc/sparc.c, config/sparc/sparc.h,
6415         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6416         config/stormy16/stormy16.h: Similarly.
6417
6418         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6419         selection logic from call patterns.
6420
6421 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6422
6423         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6424
6425 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6426
6427         PR other/8202
6428         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6429         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6430         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6431         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6432
6433 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6434
6435         PR c/761
6436         * toplev.c (flag_unsafe_profile_arcs): Remove.
6437         (flag_bounded_pointers): Remove.
6438         (flag_bounds_check): Correct comments.
6439         (lang_independent_options): Remove -funsafe-profile-arcs and
6440         -fbounded-pointers.  Correct -fbounds-check comments.
6441
6442         * flags.h: Correct flag_schedule_interblock comments.
6443         (flag_bounded_pointers): Remove prototype.
6444         (flag_bounds_check): Correct comments.
6445
6446         * c-opts.c (c_common_init_options): No need to mark
6447         flag_bounds_check as unspecified.
6448         (c_common_post_options): And no need to set it from
6449         flag_bounded_pointers if its still unspecified.
6450
6451         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6452         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6453         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6454         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6455
6456 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6457         Angela Marie Thomas  <angela@releasedominatrix.com>
6458         Brendan Kehoe  <brendan@zen.org>
6459         Nick Clifton  <nickc@redhat.com>
6460         Andrew Haley  <aph@redhat.com>
6461
6462         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6463         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6464         and CROSS_SYSTEM_HEADER_DIR.
6465         * configure: Rebuilt.
6466         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6467         (TARGET_SYSTEM_ROOT): New.
6468         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6469         CROSS_SYSTEM_HEADER_DIR.
6470         (install-gcc-tooldir): New target.
6471         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6472         if SYSTEM_HEADER_DIR does not exist and it's not the default
6473         sys-include directory.
6474         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6475         (install-mkheaders): Likewise.
6476         * gcc.c (target_system_root): New variable.
6477         (add_sysrooted_prefix): New function.
6478         (process_command): Recompute run-time target_system_root from
6479         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6480         does not exist.
6481         (do_spec_1): Process 'R' spec.
6482         (main): Add md_exec_prefix to exec_prefixes regardless of
6483         startfile_prefix_spec.  Use add_sysrooted_prefix for
6484         startfile_prefixes, and don't skip the default ones when cross
6485         compiling with sysroot enabled.  Removed unused case of
6486         non-absolute standard_startfile_prefix.
6487         * config/interix.h: Remove the only potential, yet disabled,
6488         occurrence of non-absolute (empty) standard_startfile_prefix.
6489         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6490         linking.
6491         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6492         * doc/install.texi (--with-sysroot): Document.
6493         (--with-headers, --with-libs): Deprecate.
6494
6495 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6496             Mark Mitchell  <mark@codesourcery.com>
6497
6498         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6499         match target.h.
6500         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6501         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6502         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6503         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6504         x86_output_mi_thunk): Likewise.
6505         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6506         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6507         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6508         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6509         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6510         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6511         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6512         Likewise.
6513         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6514
6515         * target.h (gcc_target): Update output_mi_thunk and
6516         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6517         vcall_index.
6518
6519         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6520         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6521         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6522         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6523         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6524         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6525         signature.
6526         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6527         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6528         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6529         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6530         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6531         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6532         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6533         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6534         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6535
6536         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6537         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6538
6539 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6540
6541         * real.c (do_add): Fix 0+0 sign corner case.
6542         (do_divide): Fix Inf/0 corner case.
6543
6544 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6545
6546         * i386.c (classify_argument): Pass MMX arguments in memory
6547         (ix86_expand_builtin): Expand proper address mode for cflush.
6548         * i386.md (movdqa): Fix typo.
6549         (sse2_cflush): Accept DImode addresses.
6550
6551         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6552         (_mm_max_sd): Fix pasto.
6553         (_mm_storeh_pd, _mm_storel_pd): Fix.
6554
6555         * i386.c (bdesc_comi): Fix to match specification.
6556         (ix86_expand_sse_comi): Emit the comparison properly.
6557         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6558         Do not use comparison operator.
6559         (vnmaskcmp): Fix template.
6560
6561         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6562
6563 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6564
6565         * dependence.c : Removed.
6566         * Makefile.in : Remove dependence.o.
6567
6568 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6569
6570         * mmintrin.h (__m64): typedef it to v2si.
6571         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6572         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6573         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6574         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6575         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6576         * xmmintrin.h (_mm_setzero_si64): Likewise.
6577
6578         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6579         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6580
6581         PR target/7693
6582         Patch by Shawn Wagner
6583         * mmintrin.h: Replace pi64 by si64.
6584
6585 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6586
6587         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6588         Use length of 4 not *.
6589         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6590         (movdf_softfloat64): Likewise.
6591         (movdi_internal32): Use length of 4 not *.
6592         (movti_power): Same.
6593         (ctrsi, ctrdi): Same.
6594
6595 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6596
6597         * c-decl.c (start_decl): Point users of the old initialized-
6598         typedef extension at __typeof__.
6599
6600 2002-10-18  Richard Henderson  <rth@redhat.com>
6601
6602         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6603         (real_to_decimal): Re-implement using the logic from the
6604         gcc 3.2 etoasc.  Comment heavily.
6605         (div_significands): Simplify loop startup and comparison logic.
6606
6607 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6608
6609         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6610         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6611         (TARGET_ASM_OUT): Add them.
6612         * target.h (asm_out): Add output_mi_thunk and
6613         output_mi_vcall_thunk.
6614         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6615         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6616         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6617         * config/arm/arm.c (arm_output_mi_thunk): Define.
6618         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6619         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6620         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6621         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6622         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6623         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6624         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6625         prototype.
6626         (x86_output_mi_vcall_thunk): Declare.
6627         * config/i386/i386.c (override_options): Clear
6628         output_mi_vcall_thunk in 64-bit mode.
6629         (ix86_fntype_regparm): New function.
6630         (ix86_return_pops_args): Use it.
6631         (ia32_this_parameter): New function.
6632         (x86_output_mi_vcall_thunk): New function.
6633         (x86_output_mi_thunk): Use it
6634         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6635         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6636         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6637         * config/i960/i960.c (i960_output_mi_thunk): New function.
6638         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6639         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6640         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6641         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6642         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6643         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6644         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6645         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6646         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6647         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6648         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6649         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6650         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6651         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6652         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6653         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6654         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6655         * config/s390/s390.c (s390_output_mi_thunk): Define.
6656         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6657         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6658         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6659         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6660         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6661         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6662         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6663         * config/vax/vax.c (vax_output_mi_thunk): Define.
6664         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6665         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6666         * doc/tm.texi: Adjust documentation.
6667
6668 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6669
6670         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6671         __enable_execute_stack function.
6672         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6673         as NETBSD_ENABLE_EXECUTE_STACK.
6674         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6675         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6676         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6677         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6678         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6679
6680 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6681
6682         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6683         to __enable_execute_stack with the address of the trampoline
6684         if TRANSFER_FROM_TRAMPOLINE is defined.
6685         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6686         constant if building libgcc2.
6687
6688 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6689
6690         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6691         (ix86_memory_move_cost): Fix for 64bit compilation.
6692
6693 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6694
6695         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6696
6697 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6698
6699         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6700         in CTR/LR/MQ.
6701         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6702         to/from CTR/LR/MQ.
6703         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6704         (movsf_softfloat): Likewise.
6705
6706 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6707
6708         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6709
6710 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6711
6712         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6713         tramp, not addr, to pass the trampoline address to
6714         __enable_execute_stack.
6715
6716 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6717
6718         * mmintrin.h: Guard by __MMX__
6719         * xmmintrin.h: Guard by __SSE__
6720
6721         PR other/8062
6722         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6723         (_mm_load*_?d): New functions.
6724         (_mm_set*_?d): New functions.
6725         (_mm_store*_?d): New functions.
6726
6727 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6728
6729         Really commit patch announced at Oct 14
6730         PR c/7344
6731         * predict.c (can_predict_insn_p): New function.
6732         (estimate_probability): Avoid unnecesary work.
6733         (process_note_prediction): Likewise.
6734         * toplev.c (rest_of_compilation): Account early branch prediction pass
6735         as TV_BRANCH_PROB.
6736
6737         PR other/8048
6738         Found by Ian Ollmann
6739         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6740         (_mm_load?_pd): Likewise.
6741         (_mm_store?_pd): Likewise.
6742
6743         PR target/7386
6744         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6745         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6746         swapped alternative.
6747
6748         PR opt/7630
6749         * reload1.c (reload_inner_reg_of_subreg): New argument output;
6750         (push_reload): Update call.
6751
6752 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
6753
6754         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6755         if using mips/elf.h or mips/elf64.h.
6756         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6757         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6758
6759 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
6760
6761         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6762         SI.
6763
6764 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
6765
6766         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6767         (LPREFIX): Likewise.
6768         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6769         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
6770         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
6771         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
6772         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
6773
6774         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
6775         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
6776         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6777         BSS_SECTION_ASM_OP): Move from linux.h.
6778         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6779         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6780
6781         * config/s390/s390.c (s390_function_profiler): Use
6782         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6783
6784 2002-10-15  Eric Christopher  <echristo@redhat.com>
6785
6786         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
6787         * java/parse.y (obtain_incomplete_type): Make pointer
6788         ptr_mode.
6789
6790 2002-10-15  Richard Henderson  <rth@redhat.com>
6791
6792         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
6793         as arguments.  Bound DIGITS by the available buffer size.
6794         (real_to_hexadecimal): Likewise.
6795         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
6796         (REAL_VALUE_TO_DECIMAL): Remove.
6797         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
6798         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
6799         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
6800         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6801         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
6802         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
6803         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
6804         use real_to_decimal directly, and with the proper arguments.
6805         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
6806
6807 2002-10-15  Jim Wilson  <wilson@redhat.com>
6808
6809         * reload1.c (merge_assigned_reloads): After converting overlapping
6810         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
6811
6812         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
6813
6814 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6815
6816         * expr.c (do_tablejump): Fix typo in my previous commit.
6817
6818 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
6819
6820         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
6821
6822 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6823
6824         * config/s390/s390.c (s390_split_branches): Add return
6825         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
6826
6827         (find_base_register_in_addr): New function.
6828         (find_base_register_ref): New function.
6829         (replace_base_register_ref): New function.
6830
6831         (struct constant_pool): Add members pool_insn, insns, and anchor.
6832         Remove member last_insn.
6833         (s390_start_pool): Initialize them.
6834         (s390_end_pool): Emit pool placeholder insn.
6835         (s390_add_pool_insn): New function.
6836         (s390_find_pool): Use insns bitmap instead of addresses.
6837         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
6838         Replace unspec 104 by local-pool-relative references.
6839         (s390_output_constant_pool): Output anchor label if required.
6840         (s390_output_symbolic_const): Handle unspec 104 and 105.
6841         (s390_add_pool): Remove, replace by ...
6842         (s390_add_constant, s390_find_constant): ... these new functions.
6843         (s390_add_anchor): New function.
6844
6845         (s390_chunkify_pool): Delete, replace by ...
6846         (s390_chunkify_start, s390_chunkify_finish,
6847         s390_chunkify_cancel): ... these new functions.
6848         (s390_optimize_prolog): Add parameter TEMP_REGNO.
6849         Recompute register live data for special registers.
6850         (s390_fixup_clobbered_return_reg): New function.
6851         (s390_machine_dependent_reorg): Rewrite to use new
6852         s390_chunkify_... routines.
6853
6854         config/s390/s390.md ("reload_base"): Rename to ...
6855         ("reload_base_31"): ... this.
6856         ("reload_base_64"): New insn.
6857         ("reload_base2"): Remove.
6858         ("reload_anchor"): New insn.
6859         ("pool"): New insn.
6860
6861         s390.c (s390_pool_overflow): Remove.
6862         s390.h (s390_pool_overflow): Likewise.
6863         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
6864
6865 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6866
6867         * sh.md (movv8qi_i+2): Don't split if source is -1.
6868
6869 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
6870
6871         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
6872
6873 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
6874
6875         PR opt/7409
6876         * loop.c (loop_regs_scan): Mark registers used for function
6877         argument passing as MAY_NOT_OPTIMIZE.
6878
6879 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
6880
6881         * gcov-io.h (gcov_info): Fix type.
6882         * profile.c (create_profiler): Fix type mismatch.
6883
6884 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
6885
6886         * i386.md (movv2di_internal): New pattern.
6887         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
6888         (movv2di): New expander.
6889         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
6890
6891         * i386.c (ix86_expand_timode_binop_builtin): Delete.
6892         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
6893         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
6894         (ix86_expand_builtin): Likewise.
6895         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6896         sse_andti3,
6897         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6898         sse_andnti3,
6899         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
6900         sse_orti3,
6901         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
6902         sse_xorti3): Kill.
6903         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
6904          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
6905         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
6906          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6907         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
6908          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6909
6910         * xmmintrin.h (__m128i): Define as __v2di.
6911
6912         PR c++/6419
6913         (expand_expr): Use DECL_RTL_SET_P.
6914
6915 2002-10-14  Roger Sayle  <roger@eyesopen.com>
6916
6917         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
6918
6919 2002-10-14  Roger Sayle  <roger@eyesopen.com>
6920             Zack Weinberg <zack@codesourcery.com>
6921
6922         * config/i386/i386.c (k6_cost): Correct typo.
6923
6924 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
6925
6926         PR optimization/6631
6927         * alias.c (objects_must_conflict_p): Check honor_readonly when
6928         examining TYPE_READONLY.
6929         * function.c (assign_stack_temp_for_type): Likewise.
6930
6931 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
6932
6933         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
6934         Swap zero extension arguments.
6935         (umaxhi3): Fix instruction class.
6936         PR target/7211
6937         (prefetch): Fix prefetch instructions.
6938         PR target/7238
6939         (pkwb): Fix output constraint.
6940
6941 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
6942
6943         * config/mips/mips.c (print_operand): Increase buffer size for
6944         real numbers.
6945
6946 2002-10-14  Richard Henderson  <rth@redhat.com>
6947
6948         PR opt/8165
6949         * gcse.c (adjust_libcall_notes): Revert last change.
6950         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
6951
6952 2002-10-14  Andrew Haley  <aph@redhat.com>
6953
6954         * tree-inline.c (remap_block): All local class initialization
6955         flags go in the outermost scope.
6956         (expand_call_inline): Call java_inlining_map_static_initializers.
6957         (expand_call_inline): Call java_inlining_merge_static_initializers.
6958         * java/lang.c (merge_init_test_initialization): New.
6959         (java_inlining_merge_static_initializers): New.
6960         (inline_init_test_initialization): New.
6961         (java_inlining_map_static_initializers): New.
6962
6963         * tree-inline.c (expand_call_inline): Convert retvar to expected
6964         type.
6965
6966 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
6967
6968         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
6969
6970 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
6971
6972         * stmt.c: Fix typo in comment.
6973
6974 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
6975
6976         * c-common.c (c_common_type_for_mode): Add V2HImode case.
6977         * tree.c (build_common_tree_nodes_2): Initialize
6978         unsigned_V2HI_type_node and V2HI_type_node.
6979         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
6980         (unsigned_V2HI_type_node, V2HI_type_node): Define.
6981
6982 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
6983
6984         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
6985         Handle TARGET_64BIT.
6986
6987 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
6988
6989         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
6990         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
6991         (MULTILIB_DIRNAMES): Remove long32.
6992         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
6993         (MULTILIB_REDUNDANT_DIRS): Remove.
6994
6995 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
6996
6997         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
6998         * gcc.c (driver_self_specs): New variable.
6999         (do_self_spec): New function.
7000         (main): Use it to process driver_self_specs.
7001
7002 2002-10-13  Richard Henderson  <rth@redhat.com>
7003
7004         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7005         indirect sibcalls when regparm >= 3.
7006
7007         * config/i386/i386.c (sibcall_insn_operand): New.
7008         * config/i386/i386.h (PREDICATE_CODES): Update.
7009         * config/i386/i386-protos.h: Update.
7010         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7011
7012         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7013
7014 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7015
7016         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7017         arithmetic right shifts of ~0 during RTL simplifications.
7018
7019 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7020
7021         PR preprocessor/7862
7022         PR preprocessor/8190
7023         * gcc.c (cpp_unique_options): Don't delete .d files.
7024         Remove stray whitespace.
7025
7026 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7027
7028         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7029         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7030         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7031         (pdp11_output_function_epilogue, output_ascii): Likewise.
7032         (output_addr_const_pdp11): Likewise.
7033         * pdp11.md (movdi): Use offsetable memory for floating store.
7034         (lshrsi3, negsi2): Delete irrelevant comment.
7035
7036 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7037
7038         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7039         indirect calls to be sibcall optimized.
7040         * config/i386/i386.md (sibcall_1): New.
7041         (call_1): Add no-sibcalls condition.
7042         (sibcall_value_1): New.
7043         (call_value_1): Add no-sibcalls condition.
7044
7045 2002-10-11  Eric Christopher  <echristo@redhat.com>
7046
7047        * output.h (default_valid_pointer_mode): Declare.
7048        * varasm.c (default_valid_pointer_mode): Define.
7049        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7050        * target.h: Ditto.
7051        * tree.c (build_pointer_type_for_mode): New function.
7052        (build_pointer_type): Use.
7053        (build_reference_type_for_mode): New function.
7054        (build_reference_type): Use.
7055        * tree.h: Declare new functions.
7056        * c-common.c (handle_mode_attribute): Use new functions, check
7057        for type.
7058        * stor-layout.c (layout_type): Depend on machine mode for
7059        REFERENCE_TYPE and POINTER_TYPE.
7060        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7061        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7062        and REFERENCE_TYPE.
7063        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7064        (TARGET_VALID_POINTER_MODE): Use and define.
7065        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7066
7067 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7068
7069         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7070         not the address of the REG.
7071         (struct cse_reg_info): Make subreg_ticked unsigned.
7072
7073 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7074
7075         * doc/compat.texi: Add info about C++ libraries.
7076
7077 2002-10-11  Richard Henderson  <rth@redhat.com>
7078
7079         PR opt/8165
7080         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7081
7082 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7083
7084         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7085         * genautomata.c (output_insn_code_cases): Likewise.
7086         * real.c (real_format): Likewise.
7087         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7088         ensure value is promoted before doing subtraction.
7089
7090 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7091
7092         * calls.c (expand_call): Simplify noreturn call.
7093
7094         PR c/7344
7095         * cfgbuild.c (make_edges): Create edge cache when we do have
7096         large jumptable.
7097         * expr.c (do_tablejump): Note size of maximal jumptable.
7098         * function.c (prepare_function_start): Zero out size.
7099         * function.h (function): Add max_jumptable_ents.
7100
7101         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7102
7103 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7104
7105         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7106         register for mperm_w operation.
7107
7108 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7109
7110         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7111         an integer, use simplify_gen_subreg.
7112
7113 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7114
7115         * calls.c (flags_from_decl_or_type): Make extern.
7116         (ECF_*): Move ...
7117         * rtl.h (ECF_*): ... here.
7118         (flags_from_decl_or_type): Declare.
7119
7120 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7121             Nathan Sidwell <nathan@codesourcery.com>
7122
7123         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7124         shifts of the form -1 >> x.
7125
7126 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7127
7128         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7129
7130 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7131
7132         * extend.texi (Vector Extensions): Remove comment about single
7133         element vectors.
7134
7135 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7136
7137         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7138         * function.c (insns_for_mem_hash): Likewise.
7139         * varasm.c (STRHASH): Likewise.
7140
7141 2002-10-10  Stuart Hastings  <stuart@apple.com>
7142
7143         * cse.c (struct cse_reg_info): Add subreg_ticked.
7144         (SUBREG_TICKED): New.
7145         (get_cse_reg_info): Initialize SUBREG_TICKED.
7146         (mention_regs): Use it.
7147         (invalidate): Set SUBREG_TICKED.
7148         (invalidate_for_call): Likewise.
7149         (addr_affects_sp_p): Likewise.
7150
7151 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7152
7153         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7154         into proper operand.
7155
7156 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7157
7158         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7159         deallocation.
7160         * config/ip2k/libgcc.S: Combine routines used by function
7161         epilogue.
7162
7163 2002-10-10  Jim Wilson  <wilson@redhat.com>
7164
7165         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7166         UDIV.
7167
7168 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7169
7170         * config/rs6000/aix52.h: New file.
7171         * config/rs6000/t-aix52: New File.
7172         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7173         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7174
7175 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7176
7177         PR target/5610
7178         * invoke.texi (-msse-math): Kill
7179         (-msse): Add note to mfpmath=sse.
7180
7181 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7182
7183         PR target/7723
7184         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7185
7186 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7187
7188         PR preprocessor/8179
7189         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7190         as cc1_options.
7191         (default_compilers): Pass debug options when preprocessing
7192         stdin.
7193
7194 2002-10-06  Richard Henderson  <rth@redhat.com>
7195
7196         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7197
7198 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7199
7200         * i386.c (*_cost): Add branch costs.
7201         (override_options): set ix86_branch_cost.
7202         (ix86_expand_int_movcc): Use BRANCH_COST.
7203         * i386.h (costs): Add branch_cost.
7204
7205 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7206
7207         PR c/7353
7208         * c-decl.c (start_decl): Unconditionally issue error for
7209         'typedef foo = bar'.
7210         (finish_decl): Remove special case for TYPE_DECL with initializer.
7211
7212         * doc/extend.texi: Delete "Naming Types" section.  Change all
7213         cross-references to that section to refer to "Typeof" instead.
7214         Add the useful safe-max()-macro example from "Naming Types" to
7215         "Typeof", rewritten using that extension.  Add some compatibility
7216         notes to "Typeof."
7217
7218 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7219
7220         * loop.c: Revert 2002-08-15 change.
7221         (LOOP_REGNO_NREGS): Ensure type is int.
7222
7223 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7224
7225         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7226         which copies first FPR and clears second.
7227         (extendsftf2): Same.
7228         (floatditf2): Fix typo.
7229         (floatsitf2): Same.
7230         (fix_trunctfdi2): Same.
7231         (fix_trunctfsi2): Same.
7232
7233 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7234
7235         * conflict.c (arc_hash): Change return type to hashval_t.
7236         * cselib.c (get_value_hash): Likewise.
7237         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7238         state_hash, automata_list_hash): Likewise.
7239         * read-rtl.c (def_hash): Likewise.
7240         * tree.c (type_hash_hash): Likewise.
7241
7242 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7243
7244         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7245         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7246
7247 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7248
7249         * sh.md (ffssi2): Fix emitted code.
7250
7251 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7252
7253         * cse.c (insn_live_p): Pass insn pattern, not full insn
7254         to may_trap_p.
7255
7256 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7257
7258         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7259
7260 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7261
7262         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7263         64-bit hosts.
7264         (movtf_internal): Reference correct displacement for second value
7265         in memory.
7266         (movtf splitter): Correct generation of constants in 64-bit mode.
7267
7268 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7269
7270         * libgcc2.c (__floatdisf): Properly cure double rounding.
7271
7272 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7273
7274         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7275         * doc/cpp.texi (Common Predefined Macros): Document.
7276
7277 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7278
7279         PR doc/7484
7280         * doc/invoke.texi (Option Summary): List
7281         -Wmissing-declarations as a C only option.
7282
7283 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7284
7285         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7286         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7287         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7288
7289 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7290
7291         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7292         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7293         variables.
7294         (safe_vector_operand): Update sse_clrv4sf call.
7295         (ix86_expand_buildin): Likewise
7296         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7297         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7298         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7299         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7300         macros.
7301         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7302         movv4si):  Obey the new flags.
7303         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7304         reformating penalty.
7305         (anddf, cmov patterns): Avoid reformating by first converting.
7306         (sse_cvtsd2ss): Fix predicate.
7307         (sse2_clrti): Fix mode,
7308         (sse_clrv4sf): Avoid unspec.
7309
7310 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7311
7312         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7313         mno-app-regs|mcmodel=medany.
7314         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7315         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7316         (CRTSTUFF_T_CFLAGS): Define.
7317
7318 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7319
7320         PR target/8087
7321         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7322         pool references that are constructed using LO_SUM.
7323
7324 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7325
7326         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7327         -Wall.
7328         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7329         message.
7330         * flags.h (warn_strict_aliasing): Declare.
7331         * toplev.c (warn_strict_aliasing): Define.
7332         (lang_independent_options): Add it.
7333         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7334
7335 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7336
7337         * system.h (GCCBUGURL): Delete.
7338         * version.c (bug_report_url): New.  Add commentary about
7339         modifying both these strings in modified distributions.
7340         * version.h: Declare bug_report_url.
7341
7342         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7343         bug_report_url.
7344
7345 2002-10-08  Nick Clifton  <nickc@redhat.com>
7346
7347         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7348         convert uint64_t into __ev64_opaque__.
7349         (__ev_set_acc_s64): Likewise, but using signed types.
7350
7351 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7352
7353         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7354         ("*doloop_di_long"): Likewise.
7355
7356 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7357
7358         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7359
7360 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7361
7362         * config/mips/mips.md (define_attr cpu): Add r4111.
7363
7364 2002-10-08  Anthony Green  <green@redhat.com>
7365
7366         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7367
7368 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7369
7370         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7371         for REAL_VALUE_TO_DECIMAL output.
7372
7373 2002-10-07  Richard Henderson  <rth@redhat.com>
7374
7375         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7376         function; cleanup PLUS case by using recursion.  Update all users.
7377         (NONZERO_BASE_PLUS_P): Remove.
7378         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7379         (fold_rtx): Use nonzero_address_p.
7380         * rtl.h (nonzero_address_p): Declare.
7381         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7382         (rtx_addr_can_trap_p): Likewise.
7383         (nonzero_address_p): New.
7384         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7385         (simplify_relational_operation): Use nonzero_address_p.
7386
7387 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7388
7389         * config/rs6000/rs6000.c (rs6000_override_options): Set
7390         real_format_for_mode for IBM extended format, if enabled.
7391         (easy_fp_constant): Add TFmode.
7392         (rs6000_legitimize_address): Add TFmode.
7393         (rs6000_legitimate_address): Same.
7394         (function_arg_advance): TFmode uses two FPRs.
7395         (rs6000_emit_prologue): Fix warning.
7396         (rs6000_output_function_epilogue): Add TFmode.
7397         (output_toc): Add TFmode.
7398         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7399         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7400         * rs6000.md (movtf splitter): Load TFmode constant.
7401
7402 2002-10-07  Dale Johannesen  <dalej@apple.com>
7403
7404         * rtl.h:  Add NOTE_PRECONDITIONED.
7405         * unroll.c:  Set it.
7406         * loop.c:  Set loop_info->preconditioned from it.
7407         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7408
7409 2002-10-07  Richard Henderson  <rth@redhat.com>
7410
7411         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7412         new rtx for comparing the argument pointer against zero.
7413         (i960_va_start): Similarly.
7414
7415 2002-10-07  Richard Henderson  <rth@redhat.com>
7416
7417         * config/i960/i960.md (*): Use TFmode, not XFmode.
7418         * config/i960/i960.c (*): Likewise.
7419         (i960_arg_size_and_align): Remove XFmode alignment hack.
7420         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7421         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7422         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7423         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7424
7425 2002-10-07  Richard Henderson  <rth@redhat.com>
7426
7427         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7428         entry points; use void return value and argument list.
7429
7430 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7431
7432         * calls.c (expand_call): Fix function-is-volatile check.
7433
7434 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7435
7436         * t-pdp11: Add MULTILIB support for msoft-float.
7437         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7438
7439         * t-pdp11: Add LIB2FUNCS_EXTRA.
7440         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7441         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7442         'fldd' to 'ldd', rename 'fstd' to 'std'.
7443         (pdp11_output_function_epilogue): Likewise.
7444         (output_move_quad): Make the comment gas compatible.
7445         (output_ascii): Add preceding 0 to the octal constant.
7446         (print_operand_address): Add pre_modify, post_modify.
7447         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7448         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7449         with the indication of Paul Koning.
7450         (PRINT_OPERAND): Fix floating constant.
7451         * pdp11.md (movdi): Restrict matching pattern.
7452         (movqi): Generalize the matching pattern.
7453         (movdf): Restrict matching pattern.
7454         (zero_extendqihi2): Change constant representation.
7455         (floatsidf2): Fix wrong operands.
7456         (addqi3): Fix wrong instruction name.
7457         (subqi3): Fix wrong instruction name.
7458         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7459         (xorsi3): Fix wrong insn.
7460         (one_cmplqi2): Add two operand pattern.
7461         (lsrsi3): New.
7462         (negsi2): New.
7463         (call): Add register indirect case.
7464         (mod): Fix wrong subreg.
7465
7466 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7467             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7468
7469         PR c/7411
7470         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7471         have been expanded in EXPAND_NORMAL mode.
7472
7473 2002-10-06  Richard Henderson  <rth@redhat.com>
7474
7475         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7476
7477 2002-10-06  Richard Henderson  <rth@redhat.com>
7478
7479         PR optimization/2960
7480         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7481         optimize_size.
7482
7483 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7484
7485         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7486         previously definitions.
7487
7488 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7489
7490         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7491         * c-opts.c (find_opt): Similarly.
7492
7493 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7494
7495         * athlon.md: rewrite to DFA.
7496         * i386 (ix86_adjust_cost): Drop memory latency code.
7497         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7498
7499 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7500
7501         * gcc.c (set_multilib_dir): Don't access *end.
7502         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7503         (print_multilib_info): Don't show paths starting with ".:".
7504         * genmultilib: Add new option, "yes" if multilibs are enabled.
7505         Update comments.  If multilibs not enabled, print .:${osdirout}
7506         for each directory.  If multilibs are enabled, always print
7507         ${dirout}:${osdirout}, even if the two are the same.
7508         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7509         Pass all MULTILIB_* variables to genmultilib even if
7510         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7511
7512 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7513
7514         * gcc.c (process_command): Set .validated for -pipe.  Correct
7515         grammar in comment.
7516
7517 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7518
7519         * fixinc/inclhack.def(hpux11_abs):  use format fix
7520         * fixinc/fixincl.x: regenerate
7521         * fixinc/tests/base/stdlib.h: accommodate new fix test
7522
7523 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7524
7525         * c-common.c (cb_register_builtins):  Use really_no_inline.
7526
7527 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7528
7529         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7530         copied instruction if the note is not loop invariant.
7531
7532 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7533
7534         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7535
7536 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7537
7538         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7539         and -mhp-ld options to list of options.  Add -mgnu-ld
7540         and -mhp-ld option descriptions.
7541
7542 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7543
7544         * fixinc/inclhack.def (hpux11_abs):  New.
7545         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7546         * fixinc/fixincl.x: Rebuild.
7547
7548 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7549
7550         * config/i386/i386.h (processor_costs): Add new fields fadd,
7551         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7552         (RTX_COSTS): Use these fields to determine the RTX costs
7553         of floating point addition/subtraction, multiplication,
7554         division, fabs, negation and square root respectively.
7555         * config/i386/i386.c (size_cost): Provide instruction sizes
7556         for these new fields.
7557         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7558         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7559         counts for these new fields for all x86 processor variants.
7560
7561 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7562
7563         * mips.c (mips_const_double_ok): Delete unused variable.
7564
7565         * gengtype.c (rtx_next): Change type to int.
7566
7567 2002-10-04  Andreas Jaeger  <aj@suse.de>
7568
7569         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7570
7571 2002-10-04  Richard Henderson  <rth@redhat.com>
7572
7573         * real.h (SIGNIFICAND_BITS): Add one more word.
7574         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7575         * real.c (times_pten): New.
7576         (real_to_decimal, real_from_string): Use it.
7577         (sticky_rshift_significand): Use & to find modulus.
7578         (rshift_significand, lshift_significand): Likewise.
7579         (do_divide): Apply sticky bit after normalization.
7580         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7581
7582 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7583
7584         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7585         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7586
7587 2002-10-03  Andreas Jaeger  <aj@suse.de>
7588
7589         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7590         to unsigned long, adjust printf format string.
7591         (output_mangled_typename): Likewise.
7592
7593 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7594
7595         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7596         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7597         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7598         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7599         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7600         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7601         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7602         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7603
7604 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7605
7606         * doc/invoke.texi (-Wabi): Document mangling bug.
7607
7608 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7609
7610         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7611         name for the tbtab label that depends on the function asm name.
7612         Don't output tbtab label unless optional_tbtab.
7613         (output_mi_thunk): Formatting.
7614
7615 2002-10-03  Richard Henderson  <rth@redhat.com>
7616
7617         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7618         * config/m68k/m68k.c (override_options): ... here.
7619         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7620         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7621         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7622         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7623
7624 2002-10-03  Richard Henderson  <rth@redhat.com>
7625
7626         * real.h (struct real_value): Use ENUM_BITFIELD.
7627
7628 2002-10-03  Richard Henderson  <rth@redhat.com>
7629
7630         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7631
7632 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7633
7634         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7635
7636 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7637
7638         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7639         * config/pa/pa.h (MASK_GNU_LD): New.
7640         (TARGET_GNU_LD): New.
7641         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7642         on gnu-ld and MASK_GNU_LD.
7643         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7644
7645 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7646
7647         * i386.c (athlon_cost): Fix the move costs.
7648
7649 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7650
7651         * final.c (final): Use symbol name as function name for profiling.
7652         * profile.c (get_exec_counts): Likewise.
7653         (branch_prob): Likewise.
7654
7655 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7656
7657         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7658
7659 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7660
7661         * gcc.c (print_multi_os_directory): New variable.
7662         (option_map): Support --print-multi-os-directory.
7663         (struct prefix_list): Add os_multilib field.
7664         (multilib_os_dir): New variable.
7665         (static_specs): Add multilib_options.
7666         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7667         subdirs if nonzero.
7668         (read_specs, execute): Update callers.
7669         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7670         pass 1 as multilib option.
7671         (display_help): Include --print-multi-os-directory.
7672         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7673         (process_command): Update callers.  Handle --print-multi-os-directory.
7674         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7675         set.
7676         (main): Update find_a_file and add_prefix callers.
7677         Handle print_multi_os_directory.
7678         (struct mdswitchstr): New.
7679         (mdswitches, n_mdswitches): New variables.
7680         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7681         present on the command line nor their mutually incompatible
7682         switches.
7683         (default_arg): Optimize.
7684         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7685         array.
7686         (print_multilib_info): Only print GCC multilib dir name, not OS
7687         multilib dirname.
7688         * genmultilib: Add osdirnames parameter.  Output multilib_options
7689         variable.  If osdirnames is specified, output dirnames as
7690         dirname:osdirname.
7691         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7692         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7693         to compute libgcc_s soname and install path.
7694         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7695         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7696         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7697         argument.
7698
7699         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7700         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7701         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7702         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7703         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7704         and -m64.
7705         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7706         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7707         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7708         (STARTFILE_ARCH_SPEC): Remove.
7709         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7710         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7711         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7712         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7713         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7714
7715 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7716
7717         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7718
7719 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7720
7721         * i386.md (lea to mul peep2): Fix condition.
7722
7723 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7724
7725         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7726         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7727
7728 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7729
7730         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7731         attribute "unused".
7732
7733         * config/t-libunwind: Mention unwind-sjlj.c.
7734         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7735         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7736
7737         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7738         before inclusion of config.gcc, but after configuring the compiler etc.
7739         Determine default value for --enable-libunwind-exceptions based on
7740         whether the host has a libunwind library (not guaranteed to be correct,
7741         but it's a reasonable first guess and can always be overridden with an
7742         explicit --enable/disable-libunwind-exceptions.
7743         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7744         tmake_file when $use_libunwind_exceptions is enabled.
7745         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7746         ia64 (e.g., config/t-linux also updates it).
7747         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7748         along with the shared version of libgcc since the latter requires
7749         the former.
7750         * unwind-libunwind.c: New file.
7751         * config/t-libunwind: Ditto.
7752
7753 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7754
7755         * config.gcc: Remove support for vax-*-vms*.
7756         * config/vax/vms.h: Remove.
7757         * config/vax/xm-vms.h: Remove.
7758         * config/vax/vax-protos.h: Remove VMS-specific code.
7759         * config/vax/vax.c: Remove VMS-specific code.
7760
7761 2002-10-02  Richard Henderson  <rth@redhat.com>
7762
7763         PR opt/7124
7764         * config/i386/i386.c (ix86_register_move_cost): Increase cost
7765         for secondary_memory_needed pairs.
7766
7767 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7768
7769         * doc/vms.texi: Blow away false include file section.
7770
7771 2002-10-02  Roger Sayle  <roger@eyesopen.com>
7772
7773         PR optimization/6627
7774         * toplev.c (force_align_functions_log): New global variable.
7775         * flags.h (force_align_functions_log): Add extern prototype.
7776         * varasm.c (assemble_start_function): Use it to force minimum
7777         function alignment.
7778         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
7779         minimum function alignment to one byte.
7780         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
7781         the least significant bit of vtable member function pointers.
7782         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
7783         here from cp/cp-tree.h.
7784
7785 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7786
7787         * i386.c (print_operand_address): Use RIP addressing for offsetted
7788         label refs too.
7789
7790 2002-09-30  David S. Miller  <davem@redhat.com>
7791
7792         PR middle-end/7151
7793         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
7794         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
7795
7796 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
7797
7798         * calls.c (expand_call): Remove the `no indirect check'
7799         for sibcall optimization; use function_ok_for_sibcall
7800         target hook; refine check for `function is volatile'.
7801         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
7802         * hooks.c (hook_tree_tree_bool_false): New.
7803         * hooks.h (hook_tree_tree_bool_false): Declare.
7804         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7805         (TARGET_INITIALIZER): Add it.
7806         * target.h (struct gcc_target): Add function_ok_for_sibcall.
7807         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
7808         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7809         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7810         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
7811         Remove function declaration.
7812         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
7813         function static and accept another argument of type `tree'.
7814         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7815         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7816         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7817         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
7818         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7819         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7820         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7821         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
7822         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
7823         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7824         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7825         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
7826         Remove function declaration.
7827         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
7828         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
7829         rename first argument to `decl'; accept another argument
7830         of type `tree'; make static.
7831         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7832         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7833         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
7834         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7835         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7836         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
7837         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7838         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7839         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7840
7841 2002-10-01  Roger Sayle  <roger@eyesopen.com>
7842
7843         * unroll.c (loop_iterations): Revert 2002-09-08 change.
7844
7845 2002-10-01  Richard Henderson  <rth@redhat.com>
7846
7847         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
7848         (real_to_hexadecimal): Likewise.
7849         * print-rtl.c (print_rtx): If we are linked with real.c, don't
7850         dump the XWINT fields of a floating point CONST_DOUBLE.
7851
7852 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
7853
7854         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
7855
7856 2002-10-01  Richard Henderson  <rth@redhat.com>
7857
7858         * calls.c (precompute_register_parameters): Force non-legitimate
7859         constants into pseudos.
7860
7861 2002-10-01  Nick Clifton  <nickc@redhat.com>
7862
7863         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
7864         to assembler template.
7865
7866 2002-10-01  Richard Henderson  <rth@redhat.com>
7867
7868         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
7869         for TLS debug info to !DECL_EXTERNAL.
7870
7871 2002-10-01  Matt Thomas  <matt@3am-software.com>
7872             Jason Thorpe  <thorpej@wasabisystems.com>
7873
7874         * config.gcc (vax-*-netbsdelf*): Enable configuration.
7875         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
7876         if not already defined.
7877         * config/vax/elf.h: New file.
7878         * config/vax/netbsd-elf.h: New file.
7879         * config/vax/vax.c: Include "debug.h".
7880         (vax_output_function_prologue): Add dwarf2 support.  Use
7881         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
7882         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
7883         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
7884         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
7885         (VAX_ISTREAM_SYNC): Remove.
7886         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
7887         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7888         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
7889         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
7890         and assemble_name.
7891         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7892         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
7893         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
7894         (INCOMING_RETURN_ADDR_RTX): Define.
7895         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
7896         (VUNSPEC_SYNC_ISTREAM): Define.
7897         (blockage): Use VUNSPEC_BLOCKAGE.
7898         (sync_istream): New insn.
7899
7900 2002-10-01  Richard Henderson  <rth@redhat.com>
7901
7902         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
7903         (*call_value_pop, call, call_value): Add dwarf2 EH support.
7904         (*call): New insn.
7905
7906 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
7907
7908         PR c/8083
7909         * c-typeck.c (build_c_cast): Warn about type punning which breaks
7910         type based aliasing.
7911
7912 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
7913
7914         * stor-layout.c (update_alignment_for_field): New function.
7915         (place_union_field): Use it.
7916         (place_field): Likewise.
7917
7918 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
7919
7920         PR other/8077
7921         * gcc.c (cc1_options): Add space on -auxbase-strip.
7922
7923 2002-10-01  Jim Wilson  <wilson@redhat.com>
7924
7925         * config/v850/v850.h (EPILOGUE_USES): Define.
7926
7927 2002-09-30  Andrew Haley  <aph@redhat.com>
7928
7929         * flow.c (insn_dead_p): When using non-call-exceptions, don't
7930         eliminate insns that may trap.
7931         * cse.c (insn_live_p): Likewise.
7932
7933 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
7934
7935         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
7936         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
7937         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
7938         * config/mips/mips.md: Apply same renaming here.
7939
7940 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
7941
7942         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
7943         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
7944         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
7945         * config/mips/mips.md (define_attr cpu): Remove r4320.
7946         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
7947
7948 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
7949
7950         * config/mips/mips.c (mips16_strings): New variable.
7951         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
7952         symbol in mips16_strings.  Free the list.
7953         (mips_encode_section_info): Keep track of local strings.
7954
7955 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
7956
7957         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
7958         (sordered_df, sordered_sf): Remove.
7959         * config/mips/mips.c (get_float_compare_codes): New fn.
7960         (gen_int_relational, gen_conditional_move): Use it.
7961
7962 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
7963
7964         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
7965         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
7966         * config/mips/mips.c (fcc_register_operand): New function.
7967         (mips_emit_fcc_reload): New function, extracted from reload_incc.
7968         (override_options): Allow TFmode values in float registers
7969         if ISA_HAS_8CC.
7970         * cnfig/mips/mips.md (reload_incc): Change destination prediate
7971         to fcc_register_operand.  Remove misleading source constraint.
7972         Use mips_emit_fcc_reload.
7973         (reload_outcc): Duplicate reload_incc.
7974
7975 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
7976
7977         * gcc.c (validate_switches): Handle all new forms of spec
7978         syntax introduced recently.  Now returns a char *.
7979         (validate_all_switches): Repetitive logic broken out to...
7980         (validate_switches_from_spec): ...here.
7981         * mklibgcc.in: Don't @-flag commands to generate .oS files.
7982
7983 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
7984
7985         * longlong.h: Partially synchronize with GMP-4.1 version:
7986         Use i370 definitions also for s390.
7987         Add generic definition of umul_ppmm in terms of smul_ppmm.
7988         [s390] (umul_ppmm): Remove.
7989         [s390] (smul_ppmm): Fix incorrect assembler constraints.
7990         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
7991
7992 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
7993
7994         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
7995         Add new RL_REGS register class.
7996         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
7997         Call xtensa_preferred_reload_class for both input and output reloads.
7998         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
7999         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8000         instead of either AR_REGS or GR_REGS classes.
8001         (xtensa_secondary_reload_class): Use new RL_REGS class.
8002         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8003
8004 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8005
8006         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8007         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8008         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8009         there is a '*' prefix in NAME.
8010
8011 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8012
8013         * reload.c (push_reload): Handle subregs and secondary memory.
8014         * reload1.c (gen_reload): Likewise.
8015
8016         * jump.c (reg_or_subregno): New function.
8017         * rtl.h (reg_or_subregno): Declare
8018         * unroll.c (find_splittable_givs): Handle subregs.
8019
8020 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8021
8022         * store-layout.c (finish_record_layout): Add free_p parameter.
8023         (layout_type): Pass it.
8024         * tree.h (finish_record_layout): Update prototype.
8025
8026 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8027
8028         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8029
8030         * gcse.c (cprop_jump): Check that the register has not
8031         been modified
8032         (cprop_jump): Likewise.
8033
8034 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8035
8036         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8037         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8038         that we have a SImode access, and only then if reload hasn't completed;
8039         for all other cases, use LO_REGS.
8040
8041 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8042
8043         * openbsd.h: Fix typo in last change.
8044
8045 2002-09-29  Richard Henderson  <rth@redhat.com>
8046
8047         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8048
8049 2002-09-29  Richard Henderson  <rth@redhat.com>
8050
8051         PR c/8002
8052         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8053         for CONST_INT.
8054
8055 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8056
8057         * real.h (ibm_extended_format): Declare.
8058         * real.c (encode_ibm_extended, decode_ibm_extended): New
8059         functions.
8060
8061 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8062
8063         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8064
8065         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8066
8067 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8068
8069         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8070
8071 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8072
8073         * builtins.def: Fix comment formatting.
8074         * c-common.def: Likewise.
8075         * cfgcleanup.c: Likewise.
8076         * combine.c: Likewise.
8077         * gengtype.c: Likewise.
8078         * params.def: Likewise.
8079         * predict.def: Likewise.
8080         * rtl.def: Likewise.
8081         * stab.def: Likewise.
8082         * stor-layout.c: Likewise.
8083         * tree.def: Likewise.
8084         * config/darwin.c: Likewise.
8085         * config/darwin.h: Likewise.
8086         * config/dbxcoff.h: Likewise.
8087         * config/elfos.h: Likewise.
8088         * config/fp-bit.c: Likewise.
8089         * config/freebsd-spec.h: Likewise.
8090         * config/interix.h: Likewise.
8091         * config/libgloss.h: Likewise.
8092         * config/linux-aout.h: Likewise.
8093         * config/linux.h: Likewise.
8094         * config/lynx-ng.h: Likewise.
8095         * config/lynx.h: Likewise.
8096         * config/netbsd-aout.h: Likewise.
8097         * config/netbsd.h: Likewise.
8098         * config/netware.h: Likewise.
8099         * config/psos.h: Likewise.
8100         * config/ptx4.h: Likewise.
8101
8102 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8103
8104         * ChangeLog.4: Fix typos.
8105         * ChangeLog.6: Likewise.
8106         * FSFChangeLog.10: Likewise.
8107         * genattrtab.c: Fix comment typos.
8108         * haifa-sched.c: Likewise.
8109         * real.c: Likewise.
8110         * tree.h: Likewise.
8111         * config/arm/arm.c: Likewise.
8112         * config/arm/crti.asm: Likewise.
8113         * config/arm/crtn.asm: Likewise.
8114         * config/frv/frv.c: Likewise.
8115         * config/frv/frv.md: Likewise.
8116         * config/h8300/h8300.md: Likewise.
8117         * config/i386/rtemself.h: Likewise.
8118         * config/ia64/unwind-ia64.c: Likewise.
8119         * config/ip2k/ip2k.h: Likewise.
8120         * config/m88k/m88k.c: Likewise.
8121         * config/m88k/m88k.md: Likewise.
8122         * config/mips/sr71k.md: Likewise.
8123         * config/mmix/mmix.c: Likewise.
8124         * config/rs6000/rs6000.c: Likewise.
8125         * config/sh/sh.md: Likewise.
8126
8127 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8128
8129         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8130         * config/avr/avr.md: Ditto.
8131
8132 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8133
8134         PR preprocessor/8055
8135         * cppmacro.c (stringify_arg): Do not overflow the buffer
8136         with the terminating NUL when the argument to be stringified
8137         has no tokens.
8138
8139 2002-09-27  Richard Henderson  <rth@redhat.com>
8140
8141         * unroll.c (simplify_cmp_and_jump_insns): New.
8142         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8143         instead of expand_simple_foo.
8144
8145 2002-09-27  Richard Henderson  <rth@redhat.com>
8146
8147         PR optimization/7520
8148         * cfganal.c (flow_active_insn_p): New.
8149         (forwarder_block_p): Use it.
8150
8151 2002-09-27  Richard Henderson  <rth@redhat.com>
8152
8153         * emit-rtl.c (active_insn_p): Revert last change.
8154
8155 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8156
8157         * doc/extend.texi (tls_model): Document.
8158         * varasm.c (decl_tls_model): New.
8159         * c-common.c (handle_tls_model_attribute): New.
8160         (c_common_attribute_table): Add tls_model.
8161         * config/alpha/alpha.c (alpha_encode_section_info): Use
8162         decl_tls_model.
8163         * flags.h (enum tls_model, flag_tls_default): Move...
8164         * tree.h (enum tls_model, flag_tls_default): ...here.
8165         (decl_tls_model): New prototype.
8166         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8167         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8168         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8169         Allow !flag_pic.
8170
8171 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8172
8173         * LANGUAGES: Follow spelling conventions.
8174         * rtl.def: Likewise.
8175         * sbitmap.c: Likewise.
8176         * sched-int.h: Likewise.
8177         * sched-rgn.c: Likewise.
8178         * sibcall.c: Likewise.
8179         * simplify-rtx.c: Likewise.
8180         * ssa.c: Likewise.
8181         * stab.def: Likewise.
8182         * stmt.c: Likewise.
8183         * stor-layout.c: Likewise.
8184         * target.h: Likewise.
8185         * timevar.c: Likewise.
8186         * toplev.c: Likewise.
8187         * tree-dump.c: Likewise.
8188         * tree-inline.c: Likewise.
8189         * tree.c: Likewise.
8190         * tree.def: Likewise.
8191         * tree.h: Likewise.
8192         * unroll.c: Likewise.
8193         * varasm.c: Likewise.
8194         * vmsdbgout.c: Likewise.
8195         * treelang/treelang.texi: Likewise.
8196         * treelang/treetree.c: Likewise.
8197
8198 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8199
8200         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8201         instead of a hard register number.
8202         (get_shift_alg): Use an enumerated type instead of numbers.
8203         (h8300_shift_needs_scratch_p): Likewise.
8204
8205 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8206
8207         * varasm.c (force_data_section): Remove.
8208         (assemble_constant_align): Likewise.
8209         * output.h: Remove corresponding prototypes.
8210
8211 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8212
8213         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8214         jump, if the loop to exit is the top of the current nesting stack.
8215
8216 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8217
8218         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8219         arithmetic.
8220
8221 2002-09-26  David S. Miller  <davem@redhat.com>
8222
8223         PR optimization/7335
8224         * calls.c (emit_library_call_value_1): Passing args by reference
8225         converts a CONST function into a PURE one.
8226
8227 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8228
8229         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8230         text_section.
8231         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8232         text section.
8233         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8234         function-sections and data-sections functionality on AIX.
8235
8236 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8237             Dale Johannesen  <dalej@apple.com>
8238
8239         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8240         in RTL for sub-word loads from memory.
8241
8242 2002-09-26  Richard Henderson  <rth@redhat.com>
8243
8244         PR c/7160
8245         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8246         on call insns.
8247
8248 2002-09-26  Richard Henderson  <rth@redhat.com>
8249
8250         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8251
8252 2002-09-26  Chris Lattner  <sabre@nondot.org>
8253
8254         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8255         handling undefined values.
8256
8257 2002-09-26  Richard Henderson  <rth@redhat.com>
8258
8259         PR opt/7520
8260         * emit-rtl.c (active_insn_p): Consider a clobber of the
8261         function return value to be active even after reload.
8262
8263 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8264
8265         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8266         by absolute loop increment, not loop increment.
8267
8268 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8269
8270         * c-common.h: Follow spelling conventions.
8271         * cpplex.c: Likewise.
8272         * cpplib.h: Likewise.
8273         * gthr-dce.h: Likewise.
8274         * gthr-posix.h: Likewise.
8275         * optabs.c: Likewise.
8276         * output.h: Likewise.
8277         * profile.c: Likewise.
8278         * protoize.c: Likewise.
8279         * ra-rewrite.c: Likewise.
8280         * real.c: Likewise.
8281         * recog.c: Likewise.
8282         * reg-stack.c: Likewise.
8283         * regclass.c: Likewise.
8284         * regmove.c: Likewise.
8285         * reload.c: Likewise.
8286         * reload.h: Likewise.
8287         * reload1.c: Likewise.
8288         * reorg.c: Likewise.
8289         * resource.c: Likewise.
8290         * rtl.h: Likewise.
8291         * rtlanal.c: Likewise.
8292
8293 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8294
8295         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8296         for symbol address.
8297
8298 2002-09-24  Eric Christopher  <echristo@redhat.com>
8299
8300         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8301         * config/mips/elf64.h: Ditto.
8302
8303 2002-09-24  Eric Christopher  <echristo@redhat.com>
8304
8305         * except.c (expand_builtin_extract_return_address): Handle case
8306         where Pmode != ptr_mode.
8307
8308 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8309
8310         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8311
8312 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8313
8314         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8315
8316 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8317
8318         * combine.c (simplify_set): Don't call to force_to_mode if size
8319         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8320
8321 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8322
8323         * Makefile.in (qmtest-g++): Fix file path.
8324
8325 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8326
8327         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8328         A + (-const) on RTX level, even for unsigned types.
8329
8330 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8331
8332         * reload.c (dup_replacements): New function.
8333         (find_reloads): Use it to duplicate replacements at the top level
8334         of match_dup operands.
8335
8336 2002-09-26  Miles Bader  <miles@gnu.org>
8337
8338         * v850.md ("length"): Change default value to 4.
8339
8340 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8341
8342         * ChangeLog.1: Follow spelling conventions.
8343         * ChangeLog.4: Likewise.
8344         * ChangeLog.6: Likewise.
8345         * FSFChangeLog.11: Likewise.
8346         * doc/cpp.texi: Likewise.
8347         * doc/invoke.texi: Likewise.
8348         * doc/tm.texi: Likewise.
8349
8350 2002-09-26  Nick Clifton  <nickc@redhat.com>
8351
8352         * config.gcc: Add x prefix to v850e case for handling
8353         --with-cpu=v850e.
8354
8355 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8356
8357         * gcc.c (input_suffix_matches, switch_matches,
8358         mark_matching_switches, process_marked_switches,
8359         process_brace_body): New functions - split from handle_braces.
8360         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8361         and ignore whitespace in more places.
8362         (specs documentation comment): Document %{S:X;T:Y;:D}.
8363         Clarify other %{...} docs.
8364         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8365         %{...} docs.
8366
8367         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8368         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8369
8370 2002-09-25  David S. Miller  <davem@redhat.com>
8371
8372         PR target/7842
8373         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8374         extend.
8375
8376 2002-09-25  Richard Henderson  <rth@redhat.com>
8377
8378         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8379         fp CONST_DOUBLE; use real_identical.
8380
8381 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8382
8383         * doc/invoke.texi: Add more -Wabi examples.
8384
8385 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8386
8387         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8388
8389 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8390
8391         * profile.c (end_branch_prob): Only look for __gcov_init on
8392         weak-enabled native compilers.
8393
8394 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8395
8396         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8397         cases of optimizing "add sp,w" to "inc sp".
8398
8399 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8400
8401         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8402         epilogue for naked functions.
8403
8404 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8405             Nick Clifton  <nickc@redhat.com>
8406
8407         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8408         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8409         is defined.
8410
8411 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8412
8413         * config/s390/s390.c (preferred_la_operand_p): New function.
8414         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8415         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8416         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8417         ("*la_31"): Deactivate for TARGET_64BIT.
8418         ("*la_31_and", "*la_31_and_cc"): New.
8419
8420 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8421
8422         * real.h (real_value): Make `exp' explicitly signed.
8423
8424 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8425
8426         * config/elfos.h: Follow spelling conventions.
8427         * config/alpha/alpha.h: Likewise.
8428         * config/arc/arc.h: Likewise.
8429         * config/arm/arm.md: Likewise.
8430         * config/avr/avr.h: Likewise.
8431         * config/cris/cris.md: Likewise.
8432         * config/d30v/d30v.h: Likewise.
8433         * config/frv/frv.c: Likewise.
8434         * config/frv/frv.h: Likewise.
8435         * config/h8300/h8300.c: Likewise.
8436         * config/h8300/h8300.h: Likewise.
8437         * config/h8300/h8300.md: Likewise.
8438         * config/i386/cygwin.h: Likewise.
8439         * config/i386/i386.h: Likewise.
8440         * config/i386/sysv3.h: Likewise.
8441         * config/i960/i960.h: Likewise.
8442         * config/ia64/ia64.h: Likewise.
8443         * config/ia64/ia64.md: Likewise.
8444         * config/ip2k/ip2k.h: Likewise.
8445         * config/m32r/m32r.h: Likewise.
8446         * config/m68k/m68k.h: Likewise.
8447         * config/m88k/m88k.h: Likewise.
8448         * config/mcore/mcore.c: Likewise.
8449         * config/mcore/mcore.h: Likewise.
8450         * config/mcore/mcore.md: Likewise.
8451         * config/mips/mips.h: Likewise.
8452         * config/mmix/mmix.h: Likewise.
8453         * config/mmix/mmix.md: Likewise.
8454         * config/ns32k/netbsd.h: Likewise.
8455         * config/ns32k/ns32k.h: Likewise.
8456         * config/ns32k/ns32k.md: Likewise.
8457         * config/pa/pa.h: Likewise.
8458         * config/romp/romp.h: Likewise.
8459         * config/rs6000/rs6000.h: Likewise.
8460         * config/rs6000/rs6000.md: Likewise.
8461         * config/sparc/sparc.h: Likewise.
8462         * config/stormy16/stormy-abi: Likewise.
8463         * config/stormy16/stormy16.h: Likewise.
8464         * config/vax/vax.h: Likewise.
8465
8466 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8467
8468         * config/alpha/alpha.h: Remove commented-out macro
8469         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8470         * config/avr/avr.h: Likewise.
8471         * config/d30v/d30v.h: Likewise.
8472         * config/dsp16xx/dsp16xx.h: Likewise.
8473         * config/i370/i370.h: Likewise.
8474         * config/i386/i386.h: Likewise.
8475         * config/i960/i960.h: Likewise.
8476         * config/m68k/m68k.h: Likewise.
8477         * config/m88k/m88k.h: Likewise.
8478         * config/mips/mips.h: Likewise.
8479         * config/ns32k/ns32k.h: Likewise.
8480         * config/pdp11/pdp11.h: Likewise.
8481         * config/romp/romp.h: Likewise.
8482         * config/rs6000/rs6000.h: Likewise.
8483         * config/s390/s390.h: Likewise.
8484         * config/sh/sh.h: Likewise.
8485         * config/sparc/sparc.h: Likewise.
8486         * config/stormy16/stormy16.h: Likewise.
8487         * config/vax/vax.h: Likewise.
8488
8489 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8490
8491         * function.c (push_temp_slots_for_block): Remove.
8492         (push_temp_slots_for_target): Likewise.
8493         (get_target_temp_slot_level): Likewise.
8494         (set_target_temp_slot_level): Likewise.
8495         (get_first_block_beg): Likewise.
8496         * function.h: Remove corresponding prototypes.
8497
8498 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8499
8500         * version.c (version_string): Now const char[].
8501         * version.h: Update to match.
8502
8503 2002-09-23  Richard Henderson  <rth@redhat.com>
8504
8505         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8506         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8507         (TARGET_SWITCHES): Don't reference them.
8508         * config/i386/i386.c (override_options): Use target_flags_explicit
8509         to examine bits set by the user.
8510
8511 2002-09-23  Dale Johannesen  <dalej@apple.com>
8512
8513         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8514         passed on stack by invisible reference.
8515
8516 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8517
8518         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8519         at least one byte of space.
8520
8521 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8522
8523         * c-common.h (flag_abi_version): Fix typo in comment.
8524         * doc/invoke.texi (flag_abi_version): Document default value.
8525
8526 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8527
8528         * doc/extend.texi (Extended Asm): Clarify that overlap between
8529         asm-declared register variables used in an asm and the asm clobber
8530         list is not allowed.
8531         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8532         (expand_asm_operands): Keep track of clobbered registers.  Call
8533         decl_conflicts_with_clobbers_p for each input and output operand.
8534         If no conflicts found before, also do conflict sanity check when
8535         emitting clobbers.
8536
8537 2002-09-23  Richard Henderson  <rth@redhat.com>
8538
8539         * c-common.c (cpp_define_data_format): Remove.
8540         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8541         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8542         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8543         * doc/cpp.texi: Don't document them either.
8544         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8545         __LONG_LONG_MAX__): Document.
8546         (__TARGET_FLOAT_FORMAT__): Remove.
8547
8548 2002-09-23  Richard Henderson  <rth@redhat.com>
8549
8550         * real.c (do_multiply): Normalize U before addition.
8551
8552 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8553
8554         * c-common.c (flag_abi_version): New variable.
8555         * c-common.h (flag_abi_version): Declare it.
8556         * c-opts.c (missing_arg): Add -fabi-version.
8557         (c_common_decode_option): Process -fabi-version.
8558         * doc/invoke.texi (-fabi-version): Document it.
8559         (-Wabi): Add information about bit-fields in unions.
8560
8561 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8562
8563         * expr.c (STORE_BY_PIECES_P): New target macro.
8564         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8565         instead of MOVE_BY_PIECES_P.
8566         * doc/tm.texi: Document this new macro.
8567
8568 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8569
8570         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8571         unless -fno-pic or -fno-PIC is specified.
8572
8573 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8574
8575         * c-common.c (preprocessing_trad_p): Define.
8576         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8577         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8578         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8579         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8580         * pa-linux.h (CPP_PREDEFINES): Delete.
8581         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8582         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8583         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8584         (TARGET_OS_CPP_BUILTINS): Define.
8585         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8586         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8587         (SUBTARGET_SWITCHES): Provide default definition.
8588         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8589         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8590         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8591         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8592         (TARGET_CPU_CPP_BUILTINS): Define.
8593         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8594         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8595         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8596         preprocessing_trad_p().
8597
8598 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8599
8600         * doc/install.texi: Document behavior of --with-headers and
8601         --with-libs when arguments are omitted.
8602
8603 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8604
8605         * dbxout.c: Follow spelling conventions.
8606         * defaults.h: Likewise.
8607         * df.c: Likewise.
8608         * diagnostic.h: Likewise.
8609         * doloop.c: Likewise.
8610         * dwarf2out.c: Likewise.
8611         * dwarfout.c: Likewise.
8612         * emit-rtl.c: Likewise.
8613         * except.c: Likewise.
8614         * explow.c: Likewise.
8615         * expmed.c: Likewise.
8616         * expr.c: Likewise.
8617         * expr.h: Likewise.
8618         * flags.h: Likewise.
8619         * flow.c: Likewise.
8620         * fold-const.c: Likewise.
8621         * function.c: Likewise.
8622         * function.h: Likewise.
8623         * gcc.c: Likewise.
8624         * gcov-io.h: Likewise.
8625         * gcov.c: Likewise.
8626         * gcse.c: Likewise.
8627         * genattrtab.c: Likewise.
8628         * genconfig.c: Likewise.
8629         * genrecog.c: Likewise.
8630         * ggc-page.c: Likewise.
8631         * ggc.h: Likewise.
8632         * global.c: Likewise.
8633         * gthr-win32.h: Likewise.
8634         * integrate.c: Likewise.
8635         * jump.c: Likewise.
8636         * langhooks.c: Likewise.
8637         * langhooks.h: Likewise.
8638         * line-map.h: Likewise.
8639         * local-alloc.c: Likewise.
8640         * longlong.h: Likewise.
8641         * loop.c: Likewise.
8642         * loop.h: Likewise.
8643
8644 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8645
8646         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8647
8648 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8649
8650         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8651         for -Os/TARGET_64BIT too.
8652
8653 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8654
8655         * ChangeLog: Follow spelling conventions.
8656         * ChangeLog.0: Likewise.
8657         * ChangeLog.1: Likewise.
8658         * ChangeLog.2: Likewise.
8659         * ChangeLog.3: Likewise.
8660         * ChangeLog.4: Likewise.
8661         * ChangeLog.5: Likewise.
8662         * ChangeLog.6: Likewise.
8663         * FSFChangeLog.10: Likewise.
8664         * FSFChangeLog.11: Likewise.
8665         * alias.c: Likewise.
8666         * basic-block.h: Likewise.
8667         * c-aux-info.c: Likewise.
8668         * c-common.c: Likewise.
8669         * c-common.h: Likewise.
8670         * c-decl.c: Likewise.
8671         * c-format.c: Likewise.
8672         * c-semantics.c: Likewise.
8673         * c-typeck.c: Likewise.
8674         * calls.c: Likewise.
8675         * cfganal.c: Likewise.
8676         * cfgloop.c: Likewise.
8677         * collect2.c: Likewise.
8678         * combine.c: Likewise.
8679         * conflict.c: Likewise.
8680         * cppexp.c: Likewise.
8681         * cppfiles.c: Likewise.
8682         * cpphash.h: Likewise.
8683         * cppinit.c: Likewise.
8684         * cpplex.c: Likewise.
8685         * cpplib.c: Likewise.
8686         * cpplib.h: Likewise.
8687         * cppmacro.c: Likewise.
8688         * cse.c: Likewise.
8689
8690 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8691
8692         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8693         LINK_SPEC.
8694         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8695         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8696         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8697
8698 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8699
8700         PR opt/7930
8701         * cse.c (fold_rtx): Calculate old_cost before we fold each
8702         operand.
8703
8704 2002-09-21  Richard Henderson  <rth@redhat.com>
8705
8706         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8707         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8708         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8709         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8710         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8711         * doc/cpp.texi: Don't document them.
8712
8713 2002-09-21  Richard Henderson  <rth@redhat.com>
8714
8715         * c-common.c (builtin_define_float_constants): Use real_format
8716         to get the floating-point parameters.
8717
8718 2002-09-21  Richard Henderson  <rth@redhat.com>
8719
8720         * real.c (struct real_format): Move to real.h.
8721         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8722         initialize with ieee defaults.
8723         (real_to_target_fmt, real_from_target_fmt): New.
8724         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8725         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8726         ieee_quad_format, i370_single_format, i370_double_format,
8727         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8728         (ieee_quad_format): Fix emin.
8729         (format_for_size, init_real_once): Remove.
8730         * real.h (struct real_format): Move from real.c.
8731         (real_format_for_mode): Declare.
8732         (real_to_target_fmt, real_from_target_fmt): Declare.
8733         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8734         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8735         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8736         i370_single_format, i370_double_format, c4x_single_format,
8737         c4x_extended_format): Declare.
8738         * toplev.c (do_compile): Don't call init_real_once.
8739
8740         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8741         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8742
8743         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8744         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8745         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8746         for VAX, if enabled.
8747
8748         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8749         for C4X.
8750
8751         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8752         * config/i370/i370.c (override_options): New.
8753         * config/i370/i370-protos.h: Update.
8754
8755         * config/i386/i386.c (override_options): Set real_format_for_mode
8756         for Intel 80-bit extended.
8757         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8758
8759         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8760         (OVERRIDE_OPTIONS): Move code...
8761         * config/i960/i960.c (i960_initialize): ... here.  Set
8762         real_format_for_mode for Intel 80-bit extended.
8763
8764         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8765         for Intel 80-bit extended, if enabled.
8766
8767         * config/m68k/m68k.c (override_options): Set real_format_for_mode
8768         for Motorola 96-bit extended.
8769
8770         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
8771         * config/vax/vax.c (override_options): New.
8772         * config/vax/vax-protos.h: Update.
8773
8774 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
8775
8776         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
8777         #if TARGET_MACHO.
8778
8779         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
8780         insns.  Supply missing clobber of scratch reg.
8781
8782 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
8783
8784         * config/m32r/m32r.c: Follow spelling conventions.
8785         * config/m32r/m32r.h: Likewise.
8786         * config/m32r/m32r.md: Likewise.
8787         * config/m68k/m68k.c: Likewise.
8788         * config/m88k/m88k.c: Likewise.
8789         * config/mcore/mcore.c: Likewise.
8790         * config/mips/mips.c: Likewise.
8791         * config/mips/mips.h: Likewise.
8792         * config/mmix/mmix.c: Likewise.
8793         * config/mn10200/mn10200.c: Likewise.
8794         * config/ns32k/ns32k.h: Likewise.
8795         * config/pa/pa.c: Likewise.
8796         * config/pa/pa64-linux.h: Likewise.
8797         * config/pdp11/pdp11.h: Likewise.
8798         * config/romp/romp.c: Likewise.
8799         * config/romp/romp.h: Likewise.
8800         * config/rs6000/eabi.asm: Likewise.
8801         * config/rs6000/linux64.h: Likewise.
8802         * config/rs6000/rs6000.c: Likewise.
8803         * config/rs6000/rs6000.h: Likewise.
8804         * config/rs6000/rs6000.md: Likewise.
8805         * config/rs6000/sysv4.h: Likewise.
8806         * config/rs6000/xcoff.h: Likewise.
8807
8808 2002-09-20  Jim Wilson  <wilson@redhat.com>
8809
8810         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
8811
8812 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
8813
8814         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
8815         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
8816         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
8817         (legitimate_address_p): Likewise.
8818         (legitimize_address): Use @gotntpoff and @indntpoff.
8819         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
8820         (output_addr_const_extra): Likewise.
8821
8822 2002-09-20  Jim Wilson  <wilson@redhat.com>
8823
8824         * combine.c (try_combine): When split an instruction pair, where the
8825         first has a sign_extend src, verify that the src and dest modes match.
8826
8827 2002-09-20  Richard Henderson  <rth@redhat.com>
8828
8829         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
8830         (override_options): Do not initialize them.
8831         (mips_const_double_ok): Allow no fp constants except zero,
8832         and not even that for mips16.
8833         (const_float_1_operand): Use dconst1.
8834         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
8835         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
8836         Don't allow arbitrary constants; fix predicates and C constraint.
8837
8838 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
8839
8840         * cppmacro.c: Don't warn about function-like macros without
8841         '(' during pre-expansion.
8842
8843 2002-09-20  Jim Wilson  <wilson@redhat.com>
8844
8845         * config/v850/v850.c (current_function_anonymous_args): Delete.
8846         (expand_prologue): Use current_function_args_info.anonymous_args.
8847         (expand_epilogue): Delete use of current_function_anonymous_args.
8848         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
8849         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
8850         (current_function_anonymous_args): Delete extern declaration.
8851         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
8852
8853 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
8854
8855         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
8856         to load_macho_picbase.
8857         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
8858         (load_macho_picbase): Take the symbol to use as a parameter.
8859         (macho_correct_pic): New insn.
8860         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
8861
8862         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
8863         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
8864         (CAN_ELIMINATE): Likewise.
8865         (INITIAL_ELIMINATION_OFFSET): Likewise.
8866         (TOC_REGISTER): Likewise.
8867
8868 2002-09-20  Richard Henderson  <rth@redhat.com>
8869
8870         * real.c (real_hash): New.
8871         * real.h: Declare it.
8872         * cse.c (canon_hash): Use it.
8873         * cselib.c (hash_rtx): Likewise.
8874         * emit-rtl.c (const_double_htab_hash): Likewise.
8875         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
8876         * varasm.c (struct rtx_const): Reduce vector size; separate
8877         integer and fp vectors.
8878         (HASHBITS): Remove.
8879         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
8880         take modulus MAX_HASH_TABLE.
8881         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
8882         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
8883         (SYMHASH): Don't use HASHBITS.
8884         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
8885         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
8886         (simplify_subtraction): Fix kind comparison.
8887         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
8888         Use a union to pun integer array.
8889         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
8890         only hash two words of integral CONST_DOUBLE.
8891
8892 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
8893
8894         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
8895         (STARTFILE_PREFIX_SPEC): New.
8896         (LINK_SPEC): Modify.
8897         (LIB_SPEC): Modify.
8898         (LIBGCC_SPEC): New.
8899
8900 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
8901
8902         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
8903         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
8904
8905 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8906
8907         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
8908         Add clobber of the condition code register.
8909
8910 2002-09-20  Richard Henderson  <rth@redhat.com>
8911
8912         * real.c (do_fix_trunc): Static.
8913         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
8914         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
8915         encode_i370_single, encode_i370_double, encode_c4x_single,
8916         encode_c4x_extended): Add default abort case.
8917
8918 2002-09-20  Richard Henderson  <rth@redhat.com>
8919
8920         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
8921         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
8922         (struct realvaluetype): Remove.
8923         (REAL_VALUE_TYPE): Use struct real_value.
8924         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
8925         (test_real_width): New.
8926         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
8927         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
8928         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
8929         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
8930         real_to_integer, real_to_integer2, real_to_decimal,
8931         real_to_hexadecimal, real_from_string, real_from_integer,
8932         real_inf, real_nan, real_2expN, real_convert, real_to_target,
8933         real_from_target): Likewise.
8934         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
8935         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
8936
8937 2002-09-20  Richard Henderson  <rth@redhat.com>
8938
8939         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
8940         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
8941         * defaults.h: ... here.
8942         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
8943         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
8944         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
8945         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
8946
8947 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
8948
8949         * config/mmix/mmix.md ("negdf2"): Rewrite.
8950         ("*expanded_negdf2"): New.
8951
8952 2002-09-19  Jim Wilson  <wilson@redhat.com>
8953
8954         * combine.c (simplify_set): When optimizing a subreg src with a
8955         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
8956
8957 2002-09-19  Dale Johannesen <dalej@apple.com>
8958         * combine.c (make_extraction): Don't create
8959         invalid subreg.
8960
8961 2002-09-19  Roger Sayle  <roger@eyesopen.com>
8962
8963         * tree.c (integer_nonzerop): New predicate for nonzero integers.
8964         * tree.h (integer_nonzerop): Add function prototype.
8965         * stmt.c (expand_end_loop):  Don't rotate the loop when there
8966         are no instructions in the test, i.e. the loop is unconditional.
8967         (expand_exit_loop_if_false):  Optimize RTL generation of loop
8968         tests when the condition is always true or always false.
8969         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
8970         do-loops when the condition is always true.
8971         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
8972         the for-expression is empty.
8973
8974 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
8975
8976         * gcc.c (use_pipes): New flag.
8977         (process_command): Set it.  Adjust check for -pipe conflicting
8978         with -time or -save-temps.
8979         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
8980         %<SWITCH.  Drop %| (without a SUFFIX).
8981         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
8982         (give_switch): Third argument eliminated.
8983         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
8984         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
8985         (specs documentation comment): Update.
8986
8987         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
8988         config/svr4.h, config/i386/freebsd-aout.h,
8989         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
8990         config/m68k/openbsd.h, config/mips/openbsd.h,
8991         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
8992         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
8993         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
8994         * config/cris/cris.h: Update comment.
8995
8996         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
8997         error messages.  Don't use %{^SWITCH}.
8998         * ada/misc.c (gnat_decode_option): Handle -I with a
8999         separate argument.
9000
9001         * f/lang-specs.h: Use %| and %m.
9002         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9003         uses of %{<SWITCH} to %<SWITCH.
9004
9005         * doc/invoke.texi: Update documentation of specs.
9006         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9007
9008 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9009
9010         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9011         and STRICT_LOW_PART within SET_DEST.
9012         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9013         splitters, replacing pre-reload splitters.
9014         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9015         "*zero_extendqihi2_31"): New insns.
9016         ("*zero_extendqihi2_64"): Do not clobber CC.
9017
9018 2002-09-18  Devang Patel  <dpatel@apple.com>
9019
9020         * cp/cp-tree.h: New prototype for walk_vtables().
9021         * cp/decl.c (walk_vtables_r): New function.
9022         (struct cp_binding_level): Add new members, namespaces,
9023         names_size and vtables.
9024         (add_decl_to_level): Add decl in namespaces or vtables
9025         chain, if conditions match.
9026         (walk_vtables): New function.
9027         (walk_namespaces_r): Travers separate namespace chain
9028         for namespace decls.
9029         (wrapup_globals_for_namespace): Use names_size instead
9030         of list_length().
9031         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9032         walk_globals() to walk vtable decls.
9033
9034 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9035
9036         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9037         (DTORS_SECTION_ASM_OP): Ditto.
9038         (READONLY_DATA_SECTION_ASM_OP): Moved.
9039         (DATA_SECTION_ASM_OP): New.
9040         (SDATA_SECTION_ASM_OP): New.
9041         (BSS_SECTION_ASM_OP): New.
9042         (SBSS_SECTION_ASM_OP): New.
9043         (TEXT_SECTION_ASM_OP): New.
9044
9045 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9046
9047         * config/fp-bit.c: Follow spelling conventions.
9048         * config/d30v/d30v.c: Likewise.
9049         * config/d30v/d30v.h: Likewise.
9050         * config/fr30/fr30.c: Likewise.
9051         * config/fr30/fr30.h: Likewise.
9052         * config/fr30/fr30.md: Likewise.
9053         * config/frv/frv.c: Likewise.
9054         * config/frv/frv.h: Likewise.
9055         * config/h8300/h8300.c: Likewise.
9056         * config/h8300/lib1funcs.asm: Likewise.
9057         * config/i370/i370.c: Likewise.
9058         * config/i386/i386.h: Likewise.
9059         * config/i386/i386.md: Likewise.
9060         * config/i386/pentium.md: Likewise.
9061         * config/i386/winnt.c: Likewise.
9062         * config/i960/i960.c: Likewise.
9063         * config/ia64/ia64.h: Likewise.
9064         * config/ip2k/ip2k.c: Likewise.
9065         * config/ip2k/ip2k.h: Likewise.
9066         * config/ip2k/ip2k.md: Likewise.
9067         * config/ip2k/libgcc.S: Likewise.
9068
9069 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9070
9071         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9072         (GOTOFF_P): Extend to allow gotoff plus constant.
9073
9074 2002-09-18  Richard Henderson  <rth@redhat.com>
9075
9076         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9077         with INSN_B before COND_EARLIEST.  Don't check A and B for
9078         modification in condition range.  Reorder INSN_B for A==B properly.
9079         (if_convert): Iterate until no matches for a block.
9080
9081 2002-09-18  Richard Henderson  <rth@redhat.com>
9082
9083         * calls.c (store_one_arg): Rename default_align to parm_align;
9084         always adjust parm_align for downward padding.
9085
9086 2002-09-18  Richard Henderson  <rth@redhat.com>
9087
9088         * toplev.c (backend_init): Move init_real_once invocation ...
9089         (do_compile): ... here.
9090
9091 2002-09-18  Richard Henderson  <rth@redhat.com>
9092
9093         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9094         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9095
9096 2002-09-18  Richard Henderson  <rth@redhat.com>
9097
9098         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9099
9100 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9101
9102         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9103         floatdisf2_internal1.
9104         (floatdisf2): New define_expand.
9105         (floatdisf2_internal2): Likewise.
9106
9107 2002-09-18  Richard Henderson  <rth@redhat.com>
9108
9109         * real.c (sticky_rshift_significand): Collect sticky as
9110         unsigned long, not bool.
9111
9112 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9113
9114         * config/s390/s390.c (s390_address_cost): New function.
9115         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9116         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9117         (RTX_COST): Use COSTS_N_INSNS.
9118
9119 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9120             Donn Terry  <donnte@microsoft.com>
9121
9122         * stor-layout.c (place_field): Handle alignment of whole
9123         structures when MSVC compatible bitfields are involved.
9124         Change method of computing location of MS bitfields to
9125         be compatible with #pragma pack(n).
9126
9127         * tree.h (record_layout_info): Add new field
9128         remaining_in_alignment.
9129
9130         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9131         (pragma pack): Add paragraph on MSVC bitfield packing.
9132
9133 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9134
9135         PR optimization/7967
9136         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9137         register.
9138
9139 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9140
9141         * config/s390/s390.c: Follow spelling conventions.
9142         * config/sh/lib1funcs.asm: Likewise.
9143         * config/sh/sh.c: Likewise.
9144         * config/sh/sh.h: Likewise.
9145         * config/sparc/sparc.c: Likewise.
9146         * config/sparc/sparc.h: Likewise.
9147         * config/sparc/sparc.md: Likewise.
9148         * config/stormy16/stormy16.c: Likewise.
9149         * config/stormy16/stormy16.h: Likewise.
9150         * config/v850/v850.c: Likewise.
9151         * config/v850/v850.h: Likewise.
9152         * config/vax/vax.c: Likewise.
9153         * config/vax/vax.h: Likewise.
9154
9155 2002-09-18  Nick Clifton  <nickc@redhat.com>
9156
9157         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9158         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9159         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9160
9161 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9162
9163         * function.c (max_parm_reg_num): Remove.
9164         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9165         drop_through_at_end_p, move_cleanups_up,
9166         expand_end_case_dummy, case_index_expr_type): Likewise.
9167         * stor-layout.c (pos_from_byte): Likewise.
9168         * tree.c (chain_member_value, chain_member_purpose, listify,
9169         tree_int_cst_msb, index_type_equal): Likewise.
9170         * tree.h: Remove prototypes for unused functions.
9171
9172 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9173
9174         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9175         statement that the only translation is to en_UK.
9176
9177 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9178
9179         * config/alpha/alpha.c: Follow spelling conventions.
9180         * config/alpha/alpha.h: Likewise.
9181         * config/alpha/alpha.md: Likewise.
9182         * config/arc/arc.h: Likewise.
9183         * config/arm/arm.c: Likewise.
9184         * config/arm/arm.h: Likewise.
9185         * config/arm/arm.md: Likewise.
9186         * config/arm/pe.c: Likewise.
9187         * config/arm/unknown-elf.h: Likewise.
9188         * config/avr/avr.c: Likewise.
9189         * config/avr/avr.h: Likewise.
9190         * config/c4x/c4x.c: Likewise.
9191         * config/cris/cris.c: Likewise.
9192         * config/cris/cris.h: Likewise.
9193
9194 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9195
9196         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9197         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9198         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9199
9200 2002-09-17  Dale Johannesen  <dalej@apple.com>
9201
9202         * cfgcleanup.c (try_forward_edges):  Do not forward a
9203         branch to just after a loop exit before loop optimization;
9204         this interfered with doloop detection.
9205
9206 2002-09-17  Nick Clifton  <nickc@redhat.com>
9207
9208         * config/arm/arm.c (output_return_instruction): Do not
9209         writeback the stack pointer when it is being loaded.
9210         (arm_output_epilogue): Likewise.
9211
9212 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9213
9214         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9215         generate a pseudo reg that receives the result of a libcall.
9216         (prepare_float_lib_cmp): Likewise.
9217
9218 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9219
9220         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9221
9222 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9223
9224         Fix PR/7014 and related objc bugs:
9225         * c-typeck.c (comp_target_types): Added a reflexive argument.
9226         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9227         callers to provide the appropriate reflexive argument.
9228         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9229         typechecking for all cases of comparisons and assignments,
9230         particularly the obscure and less common ones involving protocols.
9231
9232 2002-09-17  Nick Clifton  <nickc@redhat.com>
9233
9234         * machmode.def (V1DImode): New mode.  A single element vector.
9235         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9236         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9237         * tree.c (build_common_tree_nodes_2): Build
9238         unsigned_V1DI_type_node and V1D1_type_node.
9239         * c-common.c (c_common_type_for_mode): Return
9240         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9241         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9242
9243 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9244
9245         * doc/objc.texi (Constant string objects): Extended documentation
9246         to make clear that the constant string class ivar layout is
9247         completely fixed.
9248
9249 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9250
9251         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9252         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9253
9254 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9255
9256         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9257         * gcc.c (make_relative_prefix): Likewise.
9258         * loop.c (check_final_value): Likewise.
9259         * jump.c (init_label_info): Remove return value.
9260         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9261
9262 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9263
9264         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9265         (ASM_PN_FORMAT): Define.
9266
9267 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9268
9269         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9270         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9271         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9272         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9273         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9274         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9275         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9276         Delete.
9277         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9278         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9279         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9280
9281         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9282         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9283
9284 2002-09-16  Richard Henderson  <rth@redhat.com>
9285
9286         * expr.c (emit_block_move): Set memory block size as appropriate
9287         for the copy.
9288
9289 2002-09-16  Richard Henderson  <rth@redhat.com>
9290
9291         PR fortran/3924
9292         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9293
9294 2002-09-16  Richard Henderson  <rth@redhat.com>
9295
9296         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9297         as well as OFFSET for BITPOS.
9298
9299 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9300
9301         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9302         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9303         winchip2 and c3.
9304         * doc/invoke.texi: Mention new aliases.
9305
9306 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9307
9308         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9309         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9310         downward.
9311         * function.c (pad_below):  Always compile.
9312         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9313         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9314         Pad below when the argument is not in a register and the padding
9315         direction is downward.
9316
9317         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9318         (PAD_VARARGS_DOWN): Define.
9319         * pa.c (function_arg_padding): Revise padding directions to make them
9320         compatible with the 32 and 64-bit runtime architecture documentation.
9321         (hppa_va_arg):  Add code to handle variable and size zero arguments
9322         passed by reference on TARGET_64BIT.  Reformat.
9323         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9324         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9325         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9326         Add comments.
9327         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9328         (RETURN_IN_MEMORY): Return size zero types in memory.
9329         (FUNCTION_VALUE): Return TFmode in general registers.
9330         (MUST_PASS_IN_STACK): Define.
9331         (FUNCTION_ARG_BOUNDARY): Simplify.
9332         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9333         by reference.
9334         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9335
9336 2002-09-16  Richard Henderson  <rth@redhat.com>
9337
9338         * real.c (do_fix_trunc): New.
9339         (real_arithmetic): Call it.
9340         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9341         with a floating-point result mode.
9342
9343 2002-09-16  Richard Henderson  <rth@redhat.com>
9344
9345         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9346         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9347         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9348         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9349         * builtins.c (fold_builtin_nan): New.
9350         (fold_builtin): Call it.
9351         * real.c (real_nan): Parse a non-empty string.
9352         (round_for_format): Fix NaN significand truncation.
9353         * real.h (real_nan): Return bool.
9354         * doc/extend.texi: Document new builtins.
9355
9356 2002-09-16  Jason Merrill  <jason@redhat.com>
9357             Danny Smith  <dannysmith@users.sourceforge.net>
9358
9359         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9360         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9361         (i386_pe_mark_dllimport): Not here.
9362
9363 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9364
9365         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9366
9367 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9368
9369         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9370         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9371         < 64.
9372         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9373
9374 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9375
9376         * calls.c (emit_library_call_value_1): Don't refer to
9377         hard_libcall_value.
9378         * optabs.c (prepare_float_lib_cmp): Likewise.
9379
9380 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9381
9382         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9383         mangling.
9384
9385         The following changes are merged from pch-branch:
9386
9387         * doc/gty.texi (GTY Options): Document %a.
9388         * gengtype.c (do_scalar_typedef): New function.
9389         (process_gc_options): Handle `length' option.
9390         (set_gc_used_type): A pointer to an array of structures doesn't
9391         qualify as a pointer to a structure.
9392         (output_escaped_param): Add `%a' escape.
9393         (write_gc_structure_fields): Allow 'desc' on array of unions.
9394         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9395         do_scalar_typedef.
9396
9397         * gengtype.c (enum rtx_code): Make global.
9398         (rtx_format): Make global.
9399         (rtx_next): New.
9400         (gen_rtx_next): New.
9401         (write_rtx_next): New.
9402         (adjust_field_rtx_def): Skip fields marked by chain_next.
9403         (open_base_files): Delete redundant prototype.
9404         (write_enum_defn): New.
9405         (output_mangled_typename): Correct abort call.
9406         (write_gc_marker_routine_for_structure): Handle chain_next and
9407         chain_prev options.
9408         (finish_root_table): Don't output redundant \n.
9409         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9410         * c-tree.h (union lang_tree_node): Add chain_next option.
9411
9412         * gengtype.h (NUM_PARAM): New definition.
9413         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9414         * gengtype.c (find_param_structure): New.
9415         (adjust_field_type): Handle param<n>_is option.
9416         (process_gc_options): Detect use_params option.  Update callers.
9417         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9418         'use_params' option.
9419         (open_base_files): Add splay-tree.h to list of files included.
9420         (output_mangled_typename): New.
9421         (write_gc_structure_fields): Update 'param' parameter to support
9422         multiple parameters.  Change name mangling.  Allow parameterized
9423         fields to have an apparent scalar type.  Handle param<n>_is options,
9424         use_param option.
9425         (write_gc_marker_routine_for_structure): Update for change to name
9426         mangling.  Better guess the output file for parameterized types.
9427         (write_gc_types): Update for change to name mangling.
9428         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9429         param<n>_is options.
9430         * doc/gty.texi (GTY Options): Add description of param<n>_is
9431         options, use_params option.
9432         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9433         * gengtype-lex.l: Produce token for param<n>_is.
9434         * gengtype-yacc.y: Parse param<n>_is.
9435
9436         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9437
9438         * rtl.c: Update comment describing rtx_format.
9439         * rtl.h (union rtunion): Separate definition and typedef.
9440         (struct rtx_def): Use gengtype to mark.
9441         * Makefile.in (gengtype.o): Also depend on rtl.def.
9442         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9443         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9444         * ggc-common.c (ggc_mark_rtx_children): Delete.
9445         (ggc_mark_rtx_children_1): Delete.
9446         (gt_ggc_m_rtx_def): Delete.
9447         * gengtype.c (adjust_field_rtx_def): New.
9448         (adjust_field_type): Call adjust_field_rtx_def.
9449         (write_gc_structure_fields): Add 'default' case to switch if none
9450         is specified; remove unused code.
9451
9452         * tree.h (struct tree_exp): Update for change to meaning
9453         of special.
9454         * gengtype.c (adjust_field_tree_exp): New function.
9455         (adjust_field_type): Handle `tree_exp' special here.
9456         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9457         Handle new `dot' option.
9458
9459         * gengtype.h: Make `info' a pointer-to-const.
9460         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9461
9462         * gengtype.c (write_gc_structure_fields): Remove implementation
9463         of `always' option, add `default' option.
9464         * doc/gty.texi (GTY Options): Remove documentation of `always',
9465         add `default'.
9466
9467 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9468
9469         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9470
9471 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9472
9473         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9474
9475         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9476         instead of the *-protos.h file directly.
9477         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9478         * darwin.c (machopic_output_stub): Move prototype ...
9479         * darwin-protos.h (machopic_output_stub): ... here.
9480         * rs6000-protos.h (machopic_output_stub): Don't declare.
9481
9482 2002-09-16  Richard Henderson  <rth@redhat.com>
9483
9484         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9485
9486 2002-09-16  Richard Henderson  <rth@redhat.com>
9487
9488         * real.c, real.h: Rewrite from scratch.
9489
9490         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9491         (paranoia): New target.
9492         * builtins.c (fold_builtin_inf): Use new real.h interface.
9493         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9494         * c-lex.c (interpret_float): Likewise.
9495         * emit-rtl.c (gen_lowpart_common): Likewise.
9496         * optabs.c (expand_float): Use real_2expN.
9497         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9498         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9499         (FLOAT_WORDS_BIG_ENDIAN): New.
9500         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9501         directly to REAL_VALUE_NEGATIVE.
9502         * loop.c (canonicalize_condition): Likewise.
9503         * simplify-rtx.c: Include tree.h.
9504         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9505         with floating-point result modes.
9506         * toplev.c (backend_init): Call init_real_once.
9507
9508         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9509         * tree.c (build_real): Likewise.
9510         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9511         float_values, inited_float_values, check_float_value): Remove.
9512         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9513         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9514         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9515         (VAX_HALFWORD_ORDER): Remove.
9516
9517 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9518
9519         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9520         (s390_load_address): ... this new function.
9521         (s390_decompose_address): Allow the argument pointer and all
9522         virtual registers as 'pointer' registers.
9523         (s390_expand_plus_operand): Use s390_load_address.
9524         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9525         ("force_la_31"): New insn pattern.
9526         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9527         (s390_load_address): Add prototype.
9528
9529         * config/s390/s390.c: Include "optabs.h".
9530         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9531         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9532         s390_expand_cmpstr): Add prototypes.
9533         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9534         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9535         for operands 0 and 1 to "memory_operand".  Add type attribute.
9536         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9537         for operands 0 and 1 to "memory_operand".  Add type attribute.
9538         ("movstrdi_long", "movstrsi_long"): Remove.
9539         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9540         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9541         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9542         ("clrstrsico"): Remove, replace by ...
9543         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9544         ("clrstrsi_64"): Rename to "clrstr_long_64".
9545         ("clrstrsi_31"): Rename to "clrstr_long_31".
9546         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9547         ("cmpstr_const"): Remove, replace by ...
9548         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9549         ("cmpstr_64"): Rename to "cmpstr_long_64".
9550         ("cmpstr_31"): Rename to "cmpstr_long_31".
9551
9552 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9553
9554         * ABOUT-NLS: Follow spelling conventions.
9555         * ChangeLog: Likewise.
9556         * ChangeLog.1: Likewise.
9557         * ChangeLog.2: Likewise.
9558         * ChangeLog.3: Likewise.
9559         * ChangeLog.4: Likewise.
9560         * ChangeLog.5: Likewise.
9561         * ChangeLog.6: Likewise.
9562         * FSFChangeLog.10: Likewise.
9563         * FSFChangeLog.11: Likewise.
9564         * c-common.c: Likewise.
9565         * c-lex.c: Likewise.
9566         * c-objc-common.c: Likewise.
9567         * cppexp.c: Likewise.
9568         * cppinit.c: Likewise.
9569         * cpplex.c: Likewise.
9570         * doloop.c: Likewise.
9571         * flow.c: Likewise.
9572         * function.c: Likewise.
9573         * integrate.c: Likewise.
9574         * loop.c: Likewise.
9575         * reg-stack.c: Likewise.
9576         * reload.h: Likewise.
9577         * ssa.c: Likewise.
9578
9579 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9580
9581         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9582         * vmsdbgout.c: Include "target.h".
9583
9584 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9585
9586         * ChangeLog: Follow spelling conventions.
9587         * ChangeLog.0: Likewise.
9588         * ChangeLog.1: Likewise.
9589         * ChangeLog.2: Likewise.
9590         * ChangeLog.4: Likewise.
9591         * ChangeLog.6: Likewise.
9592         * config.gcc: Likewise.
9593         * dwarfout.c: Likewise.
9594         * reload1.c: Likewise.
9595         * simplify-rtx.c: Likewise.
9596         * unwind-sjlj.c: Likewise.
9597         * config/avr/avr.h: Likewise.
9598         * config/d30v/d30v.h: Likewise.
9599         * config/frv/frv.c: Likewise.
9600         * config/frv/frv.h: Likewise.
9601         * config/ip2k/ip2k.h: Likewise.
9602         * config/m88k/m88k-move.sh: Likewise.
9603         * config/stormy16/stormy16.c: Likewise.
9604         * config/stormy16/stormy16.h: Likewise.
9605         * doc/extend.texi: Likewise.
9606         * doc/interface.texi: Likewise.
9607         * doc/invoke.texi: Likewise.
9608         * doc/md.texi: Likewise.
9609         * doc/rtl.texi: Likewise.
9610         * doc/tm.texi: Likewise.
9611         * doc/trouble.texi: Likewise.
9612         * ginclude/float.h: Likewise.
9613         * treelang/treelang.texi: Likewise.
9614
9615 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9616
9617         * i386-protos.h (i386_pe_dllexport_name_p,
9618         i386_pe_dllimport_name_p, i386_pe_unique_section,
9619         i386_pe_declare_function_type, i386_pe_record_external_function,
9620         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9621         prototype.
9622         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9623         * i386/t-interix (winnt.o): Likewise.
9624
9625         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9626
9627 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9628
9629         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9630         MIPS ABI CPP macros.
9631         (TARGET_CPU_CPP_BUILTINS): Redefine.
9632         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9633         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9634
9635 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9636
9637         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9638
9639 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9640
9641         * ChangeLog: Follow spelling conventions.
9642         * ChangeLog.0: Likewise.
9643         * ChangeLog.1: Likewise.
9644         * ChangeLog.2: Likewise.
9645         * ChangeLog.3: Likewise.
9646         * ChangeLog.4: Likewise.
9647         * ChangeLog.5: Likewise.
9648         * ChangeLog.6: Likewise.
9649         * FSFChangeLog.10: Likewise.
9650         * FSFChangeLog.11: Likewise.
9651         * c-common.c: Likewise.
9652         * c-common.h: Likewise.
9653         * c-format.c: Likewise.
9654         * c-opts.c: Likewise.
9655         * cpplib.c: Likewise.
9656         * langhooks.h: Likewise.
9657         * real.c: Likewise.
9658         * reg-stack.c: Likewise.
9659         * toplev.c: Likewise.
9660         * config/arm/arm.c: Likewise.
9661         * config/arm/arm.md: Likewise.
9662         * config/arm/linux-gas.h: Likewise.
9663         * config/arm/netbsd.h: Likewise.
9664         * config/c4x/c4x.c: Likewise.
9665         * config/c4x/c4x.h: Likewise.
9666         * config/c4x/c4x.md: Likewise.
9667         * config/c4x/libgcc.S: Likewise.
9668         * config/fr30/fr30.md: Likewise.
9669         * config/frv/frv.md: Likewise.
9670         * config/ia64/ia64.md: Likewise.
9671         * config/mips/mips.h: Likewise.
9672         * config/mn10300/mn10300.c: Likewise.
9673         * config/stormy16/stormy16.c: Likewise.
9674         * config/v850/v850.md: Likewise.
9675         * doc/extend.texi: Likewise.
9676         * doc/invoke.texi: Likewise.
9677         * doc/md.texi: Likewise.
9678
9679 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9680
9681         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9682         library if -pthread is specified.
9683
9684 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9685
9686         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9687         for --enable-threads=yes and --enable-threads=posix.
9688
9689 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9690
9691         * config/sparc/cypress.md: Replace Sparc with SPARC.
9692         * config/sparc/freebsd.h: Likewise.
9693         * config/sparc/gmon-sol2.c: Likewise.
9694         * config/sparc/hypersparc.md: Likewise.
9695         * config/sparc/lb1spc.asm: Likewise.
9696         * config/sparc/lb1spl.asm: Likewise.
9697         * config/sparc/linux.h: Likewise.
9698         * config/sparc/linux64.h: Likewise.
9699         * config/sparc/lynx.h: Likewise.
9700         * config/sparc/sol2.h: Likewise.
9701         * config/sparc/sparc-modes.def: Likewise.
9702         * config/sparc/sparc.c: Likewise.
9703         * config/sparc/sparc.h: Likewise.
9704         * config/sparc/sparc.md: Likewise.
9705         * config/sparc/sparclet.md: Likewise.
9706         * config/sparc/supersparc.md: Likewise.
9707         * config/sparc/sysv4.h: Likewise.
9708         * config/sparc/vxsim.h: Likewise.
9709         * config/sparc/vxsparc64.h: Likewise.
9710
9711 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9712
9713         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9714         * collect2.c (ignore_library, aix_std_libs): Move into the context
9715         where it is used.
9716         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9717         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9718         * m88k.c (output_call): Wrap variables with macro controlling use.
9719         * rs6000.md: Likewise.  Const-ify variable.
9720         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9721         * final.c (only_leaf_regs_used): Likewise.
9722         * regrename.c (maybe_mode_change): Mark parameter with
9723         ATTRIBUTE_UNUSED.
9724         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9725         (find_reloads_address_1): Likewise.
9726         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9727
9728 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9729
9730         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9731
9732 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9733
9734         * ChangeLog: Follow spelling conventions.
9735         * ChangeLog.0: Likewise.
9736         * ChangeLog.2: Likewise.
9737         * ChangeLog.3: Likewise.
9738         * ChangeLog.4: Likewise.
9739         * ChangeLog.5: Likewise.
9740         * ChangeLog.6: Likewise.
9741         * cppfiles.c: Likewise.
9742         * cppinit.c: Likewise.
9743         * cpplib.h: Likewise.
9744         * cse.c: Likewise.
9745         * debug.h: Likewise.
9746         * df.c: Likewise.
9747         * dominance.c: Likewise.
9748         * hashtable.c: Likewise.
9749         * hashtable.h: Likewise.
9750         * loop.c: Likewise.
9751         * config/arm/README-interworking: Likewise.
9752         * config/arm/arm.c: Likewise.
9753         * config/arm/arm.h: Likewise.
9754         * config/arm/arm.md: Likewise.
9755         * config/dsp16xx/dsp16xx.h: Likewise.
9756         * config/frv/frv.c: Likewise.
9757         * config/frv/frv.h: Likewise.
9758         * config/ip2k/ip2k.h: Likewise.
9759         * config/rs6000/rs6000.c: Likewise.
9760         * config/stormy16/stormy-abi: Likewise.
9761         * config/stormy16/stormy16.h: Likewise.
9762         * config/v850/v850.c: Likewise.
9763
9764 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9765
9766         * loop.c: Fix a comment typo.
9767
9768 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9769
9770         * config/fr30/fr30.h: Fix comment typos.
9771         * config/frv/frv.c: Likewise.
9772         * config/i386/xmmintrin.h: Likewise.
9773         * config/mips/mips.c: Likewise.
9774         * config/sh/sh.c: Likewise.
9775
9776 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9777
9778         * haifa-sched.c: Follow spelling conventions.
9779         * regclass.c: Likewise.
9780         * regrename.c: Likewise.
9781         * config/fp-bit.c: Likewise.
9782         * config/frv/frv.h: Likewise.
9783         * config/m88k/m88k.c: Likewise.
9784         * config/mcore/mcore.c: Likewise.
9785         * config/rs6000/darwin.h: Likewise.
9786         * config/rs6000/gnu.h: Likewise.
9787         * config/rs6000/linux.h: Likewise.
9788         * config/rs6000/linux64.h: Likewise.
9789         * config/rs6000/rs6000.c: Likewise.
9790         * config/rs6000/rs6000.h: Likewise.
9791         * config/sh/sh.c: Likewise.
9792         * config/sparc/sparc.c: Likewise.
9793         * config/sparc/ultra1_2.md: Likewise.
9794
9795 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
9796
9797         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
9798         memory operand when source is 0 (K constraint).
9799         ("movsi_internal"): Likewise.
9800         ("movdf_internal"): Likewise.
9801         ("movsf_internal"): Likewise.
9802
9803 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9804
9805         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
9806         targetm.binds_local_p to set SYMBOL_REF_FLAG.
9807         (rs6000_xcoff_encode_section_info): Likewise.
9808         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9809
9810 2002-09-10  Theodore A. Roth  <troth@verinet.com>
9811
9812         * gcc/config/avr/avr.h: Set default options for C++ for avr.
9813
9814 2002-09-13  Roger Sayle  <roger@eyesopen.com>
9815
9816         * stmt.c (struct nexting): Remove unused alt_end_label field.
9817         (expand_start_loop): Delete initialization of alt_end_label.
9818         (expand_start_null_loop): Likewise.
9819         (expand_exit_loop_if_false): Delete updating of alt_end_label.
9820
9821 2002-09-13  Richard Henderson  <rth@redhat.com>
9822
9823         * Makefile.in (toplev.o): Depend on real.h.
9824         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
9825
9826 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
9827
9828         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
9829         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
9830         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
9831
9832 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
9833
9834         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
9835
9836 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9837
9838         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
9839         ia64*-*-linux*): Set extra_parts.
9840         * config/ia64/t-aix (EXTRA_PARTS): Remove.
9841         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
9842
9843 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9844
9845         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
9846         * config/h8300/h8300.c: Likewise.
9847         * config/h8300/h8300.h: Likewise.
9848         * config/h8300/h8300.md: Likewise.
9849         * doc/invoke.texi: Likewise.
9850
9851 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
9852
9853         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
9854
9855 2002-09-13  Richard Henderson  <rth@redhat.com>
9856
9857         * config/alpha/alpha.md (attr type): Add callpal.
9858         (imb, trap, load_tp, set_tp): Use it.
9859         * config/alpha/ev4.md (ev4_callpal): New.
9860         * config/alpha/ev5.md (ev5_callpal): New.
9861         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
9862         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
9863         (alphaev5_insn_pipe): Likewise.
9864
9865 2002-09-13  Andreas Jaeger  <aj@suse.de>
9866
9867         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
9868
9869 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9870
9871         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
9872         LIB2ADDEH): New, set to NULL.
9873         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
9874
9875 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
9876
9877         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
9878         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
9879         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
9880         Add declarations.
9881         (_U_Qfneg): Remove.
9882
9883 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
9884
9885         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
9886         for H8/300, H8S aa:8 mode.
9887         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
9888         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
9889         for H8/300 aa:8 mode.
9890
9891 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
9892
9893         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
9894         insns.
9895
9896 2002-09-12  Richard Henderson  <rth@redhat.com>
9897
9898         * Makefile.in (HOST_PRINT): Use print-rtl1.o
9899         (print-rtl.o): Don't define GENERATOR_FILE.
9900         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
9901         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
9902         unless GENERATOR_FILE.
9903
9904 2002-09-12  Stan Shebs  <shebs@apple.com>
9905
9906         * config/darwin.h (USER_LABEL_PREFIX): Define here...
9907         * config/i386/darwin.h: ... instead of here.
9908
9909         * target.h (struct gcc_target): New field
9910         terminate_dw2_eh_frame_info.
9911         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
9912         (TARGET_INITIALIZER): Add it.
9913         * dwarf2out.c (output_call_frame_info): Use target hook.
9914         * dwarf2asm.c (dw2_asm_output_delta): Use macro
9915         ASM_OUTPUT_DWARF_DELTA if defined.
9916         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
9917         (ASM_OUTPUT_DWARF_DELTA): Ditto.
9918         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
9919         (ASM_OUTPUT_DWARF_PCREL): Ditto.
9920         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
9921         (powerpc-*-darwin*): Ditto.
9922         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
9923         to work correctly for Darwin.
9924         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
9925         (STARTFILE_SPEC): Add crtbegin.o.
9926         (ENDFILE_SPEC): Define.
9927         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
9928         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
9929         (ASM_OUTPUT_DWARF_DELTA): Define.
9930         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
9931         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
9932
9933 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
9934
9935         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
9936         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
9937         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
9938
9939 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
9940
9941         * toplev.c: Move default definition of USER_LABEL_PREFIX...
9942         * defaults.h: ... here.
9943
9944 2002-09-12  Richard Henderson  <rth@redhat.com>
9945
9946         * vax.c: Include tree.h earlier.
9947
9948 2002-09-12  Stan Shebs  <shebs@apple.com>
9949
9950         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
9951         (machopic_operand_p): Ditto.
9952
9953 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
9954
9955         * config/arm/arm.c (arm_compute_initial_elimination_offset):
9956         Fix a comment typo.
9957
9958 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
9959
9960         * toplev.c (do_abort): Fix a comment typo.
9961
9962 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
9963
9964         * cselib.c: Fix comment formatting.
9965         * gengtype.c: Likewise.
9966
9967 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
9968
9969         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
9970         (udivmodhi4): Likewise.
9971
9972 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
9973             Roger Sayle  <roger@eyesopen.com>
9974
9975         * i386.c (any_fp_register_operand, fp_register_operand,
9976         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
9977         New predicate functions.
9978         * i386-protos.h:  Add their prototypes.
9979         * i386.h: Add them to PREDICATE_CODES.
9980         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
9981         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
9982         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
9983         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
9984         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
9985         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
9986         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
9987         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
9988         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
9989         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
9990         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
9991         Use these new predicates to simplify and correct the use of
9992         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
9993
9994 2002-09-12  Jason Merrill  <jason@redhat.com>
9995
9996         * diagnostic.c (output_add_identifier): New fn.
9997         * diagnostic.h: Declare it.
9998
9999         * calls.c (store_one_arg): Use size_in_bytes to determine the
10000         amount of space to push.
10001
10002 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10003
10004         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10005
10006 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10007
10008         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10009         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10010         (s390_select_ccmode): Likewise.
10011         (s390_branch_condition_mask): Likewise.
10012         (optimization_options): Do not set flag_branch_on_count.
10013         (s390_split_branches): Handle doloop branches.
10014         (s390_chunkify_pool): Likewise.
10015         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10016         ("doloop_end"): New expander.
10017         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10018         associated splitters): New.
10019
10020 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10021
10022         * genattrtab.c (simplify_cond): Remove unused variable(s).
10023         * global.c (record_conflicts): Likewise.
10024         * jump.c (rebuild_jump_labels): Likewise.
10025         * loop.c (scan_loop, check_final_value): Likewise.
10026         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10027         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10028         * rtlanal.c (reg_set_p): Likewise.
10029         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10030         * genautomata.c (empty_reserv): Remove.
10031         * loop.c (max_luid): Likewise.
10032         * sched-rgn.c (bitlst_table_size): Likewise.
10033
10034 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10035
10036         Reimplement gcov format.
10037         * gcov-io.h: Replace.
10038         * gcov.c: Reimplement.
10039         * gcov-iov.c: New file.
10040         * gcov-dump.c: New file.
10041         * libgcc2.c (L_bb): Replace with ...
10042         (L_gcov): ... this.
10043         (struct bb_function_info, struct bb): Remove.
10044         (inhibit_libc): Never inhibit.
10045         (gcov_list, gcov_crc): New static variables.
10046         (gcov_version_mismatch): New static function.
10047         (__bb_exit_func): Renamed to ...
10048         (__gcov_exit): ... here. Made static. Reimplement.
10049         (__gcov_init_func): Rename to ...
10050         (__gcov_init): ... here. Check version, update crc.
10051         (__bb_fork_func): Rename to ...
10052         (__gcov_flush): ... here.
10053         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10054         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10055         * calls.c (expand_call): Call __gcov_flush.
10056         * profile.c (bb_file, last_bb_file_name): Remove.
10057         (bbg_file_name): New global variable.
10058         (output_gcov_string): Remove.
10059         (get_exec_counts): Reimplement.
10060         (branch_prob): Reimplement gcov file writing.
10061         (init_branch_prob): Create bbg_file_name, don't create
10062         bb_file_name.
10063         (end_branch_prob): Adjust. Don't remove counter file when
10064         instrumenting ourselves.
10065         (create_profiler): Adjust.
10066         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10067         point to gcov-io.h.
10068         * Makefile.in (LANGUAGES): Add gcov-dump.
10069         (coverageexts): Remove .bb.
10070         (STAGESTUFF): Add gcov-dump.
10071         (LIB2FUNCS_ST): Replace _bb with _gcov.
10072         (profile.o): Depend on gcov-iov.h.
10073         (final.o): Don't depend on profile.h, gcov.h.
10074         (gcov.o): Depend on gcov-iov.h.
10075         (gcov-iov.o): New target.
10076         (gcov-iov): New target.
10077         (gcov-iov.h): New target.
10078         (gcov-dump.o): New target.
10079         (GCOV_DUMP_OBJS): New variable.
10080         (gcov-dump): New target.
10081         (distclean): Remove coverageexts.
10082         (stage1): Remove coverageexts.
10083
10084 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10085
10086         * fold-const.c (make_range): Only narrow to signed range if
10087         the signed range is smaller than the unsigned range.
10088
10089 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10090
10091         * emit-rtl.c (set_mem_size): New function.
10092         * expr.h (set_mem_size): Declare.
10093         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10094         (expand_block_move): Instead, use adjust_address and
10095         replace_equiv_address to generate proper aliasing info.
10096         Move common code out of conditionals.  Localize vars.
10097
10098 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10099
10100         * optabs.c (expand_binop): Minor cleanup.
10101         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10102
10103 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10104
10105         * print-tree.c (print_node): Print the restrict qualifier.
10106
10107 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10108
10109         * doc/install.texi: Fix typos.
10110
10111 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10112
10113         * Makefile.in: Remove all references to s-under and underscore.c.
10114         * collect2.c, tlink.c: Change all uses of prepends_underscore
10115         to look directly at USER_LABEL_PREFIX.
10116
10117 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10118
10119         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10120         alignment to csect.
10121         (rs6000_xcoff_unique_section): Only set section name for public
10122         data.
10123         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10124         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10125         duplicate definition.
10126
10127 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10128
10129         * pa.md (extzv): Check predicates before emitting extzv_32.
10130         (insv): Likewise.
10131
10132 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10133
10134         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10135         (MAX_MOVE_MAX): Define.
10136         (MOVE_BY_PIECES_P): Define.
10137         (CLEAR_BY_PIECES_P): Define.
10138
10139 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10140
10141         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10142
10143 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10144
10145         PR c/7873
10146         * arm.md (insv): Use reg_or_int_operand for operand[3].
10147
10148 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10149
10150         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10151         inside macro.  Correct function definition typo.
10152         (rs6000_xcoff_section_type_flags): New function.
10153         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10154         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10155         with appropriate PIC test.
10156         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10157         determine readonly.
10158         (rs6000_binds_local_p): Combine PIC flags.
10159         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10160         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10161
10162 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10163
10164         * h8300.md: Fix signed/unsigned warnings.
10165         * mcore.md: Likewise.
10166         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10167
10168 2002-09-09  Per Bothner  <per@bothner.com>
10169
10170         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10171         characters, and only print TREE_STRING_LENGTH chars.
10172
10173 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10174
10175         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10176         (ASM_FILE_END) New.
10177         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10178         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10179         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10180         of external functions if TARGET_HPUX_LD is true.
10181         (ia64_hpux_add_extern_decl): New, routine to put names on
10182         list of external functions.
10183         (ia64_hpux_asm_file_end): Put out declarations for external
10184         functions if and only if they are used.
10185
10186 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10187
10188         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10189         on TARGET_64BIT before pic register restore.
10190
10191 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10192
10193         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10194         (TARGET_HAVE_TLS): New description.
10195
10196 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10197
10198         * doc/extend.texi (Statement Exprs): Fix broken link.
10199
10200 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10201
10202         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10203         right conversion of operands[1].
10204
10205 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10206
10207         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10208         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10209         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10210
10211         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10212         as commutative.
10213
10214         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10215         mark as commutative.  Use "nonimmediate_operand" instead of
10216         "register_operand" as predicate for operand 1.
10217
10218         ("movstrictsi"): Fix typo in insn name.
10219
10220 2002-09-09  Jan Hubicka  <jh@suse.cz>
10221
10222         * i386.c (index_register_operand): New.
10223         * i386.h (predicate_codes): Add new predicate.
10224         * i386.md (lea_general_*): Use index_register_operand
10225         (ashift to lea splitter): Do not produce invalid leas
10226         (ashift to mov+ashift split): New.
10227
10228 2002-09-09  Nick Clifton  <nickc@redhat.com>
10229
10230         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10231         Fix folding marks.
10232
10233 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10234             J"orn Rennecke <joern.rennecke@superh.com>
10235
10236         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10237
10238 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10239
10240         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10241         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10242         attributes.
10243
10244 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10245
10246         * basic_block.h (gcov_type): Explain why it is signed.
10247         * final.c: Don't include profile.h.
10248         (struct function_list, functions_head, functions_tail,
10249         end_final): Moved to profile.c
10250         (final): Move arc chaining code to profile.c.
10251         * function.c (prepare_function_start): Remove duplicate line.
10252         * output.h (end_final): Remove prototype.
10253         * predict.c (estimate_loops_at_level): Use gcov_type.
10254         * profile.c (struct function_list, functions_head,
10255         functions_tail): Moved from final.c
10256         (need_func_profiler): Remove.
10257         (instrument_edges): Don't set need_func_profiler.
10258         (get_exec_counts): Avoid signed/unsigned warning.
10259         (compute_checksum): Use crc32.
10260         (branch_prob): Adjust. Chain onto functions_head.
10261         (init_branch_prob): Absorb init_edge_profiler.
10262         (init_edge_profiler): Remove.
10263         (create_profiler): Moved and renamed from final.c:end_final.
10264         Emit data and constructor.
10265         (output_func_start_profiler): Remove.
10266         * profile.h (struct profile_info): checksum is unsigned.
10267         * rtl.h (output_func_start_profiler): Remove prototype.
10268         (create_profiler): Declare.
10269         * toplev.c (compile_file): Call create_profiler, if instrumenting
10270         arcs. Don't call end_final.
10271
10272 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10273
10274         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10275
10276 2002-09-08  Richard Henderson  <rth@redhat.com>
10277
10278         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10279         (DW_OP_GNU_push_tls_address): New.
10280         (DW_OP_lo_user): Fix.
10281         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10282         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10283         (size_of_loc_descr): Likewise.
10284         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10285         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10286         (loc_descriptor_from_tree): Handle TLS variables.
10287         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10288         (add_location_or_const_value_attribute): ... not here.  Defer
10289         to loc_descriptor_from_tree for TLS variables.
10290
10291         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10292         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10293         * config/i386/i386-protos.h: Update.
10294
10295 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10296
10297         PR optimization/6405
10298         * unroll.c (loop_iterations): last_loop_insn should be the previous
10299         non-note instruction before loop->end.
10300         * loop.c (strength_reduce): The conditional jump is the last
10301         non-note instruction before loop->end (as above).
10302
10303 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10304
10305         * combine.c (try_combine): Handle the case that undobuf.other_insn
10306         has been turned into a return or unconditional jump, by inserting
10307         a BARRIER if necessary.
10308         (simplify_set):  Test if a condition code setter has a constant
10309         comparison at compile time, if so convert this insn to a no-op move
10310         and update/simplify the condition code user (undobuf.other_insn).
10311
10312 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10313
10314         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10315         (CLEAR_INSN_CACHE): Define.
10316
10317 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10318
10319         * basic-block.h: Fix comment formatting.
10320         * c-common.c: Likewise.
10321         * c-common.h: Likewise.
10322         * c-lex.c: Likewise.
10323         * c-pretty-print.c: Likewise.
10324         * cfglayout.c: Likewise.
10325         * cfgloop.c: Likewise.
10326         * defaults.h: Likewise.
10327         * et-forest.c: Likewise.
10328         * explow.c: Likewise.
10329         * function.h: Likewise.
10330         * gcov.c: Likewise.
10331         * genattrtab.c: Likewise.
10332         * gengtype.c: Likewise.
10333         * ifcvt.c: Likewise.
10334         * libgcc2.c: Likewise.
10335         * loop.c: Likewise.
10336         * profile.c: Likewise.
10337         * ra-build.c: Likewise.
10338         * real.c: Likewise.
10339         * rtl.h: Likewise.
10340         * tracer.c: Likewise.
10341         * tree-inline.c: Likewise.
10342         * varasm.c: Likewise.
10343
10344 2002-09-08  Jan Hubicka  <jh@suse.cz>
10345
10346         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10347         handling.
10348
10349         * loop.c (loop_givs_reduce):  Emit addition after.
10350
10351 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10352
10353         * varasm.c (default_assemble_visibility): Rename from
10354         assemble_visibility.
10355         * output.h: Here too.
10356         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10357         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10358
10359 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10360
10361         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10362         find_reloads_address.
10363
10364 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10365
10366         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10367         (anonymous pattern): Likewise.
10368
10369 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10370
10371         * machmode.def: Add modes for half-float vectors.
10372
10373 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10374
10375         PR target/7374
10376         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10377
10378 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10379
10380         * basic-block.h (struct loop): Remove unused cont_dominator field.
10381
10382 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10383
10384         * varasm.c (decode_rtx_const): Don't check undefined field for
10385         CONST_VECTOR.
10386
10387 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10388
10389         PR opt/7814
10390         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10391         to reg_last->sets after flushing the dependency lists to guarantee
10392         that subsequent clobbers will be dependent on it.
10393
10394 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10395
10396         * combine.c (simplify_shift_const): Calculate rotate count
10397         correctly for vector operands.
10398
10399 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10400
10401         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10402         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10403         tree_expr_nonnegative_p.
10404         (build_conditional_expr): Likewise.
10405         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10406
10407 2002-09-07  Richard Henderson  <rth@redhat.com>
10408
10409         * builtins.def (inf, inff, infl): Mark const.
10410         (huge_val, huge_valf, huge_vall): Likewise.
10411         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10412
10413         * real.c (ereal_inf): Clear E before use.
10414
10415 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10416
10417         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10418         an expander and an anonymous pattern.  Zero out the upper half
10419         of the dividend in the expander.
10420         (udivmodqi4): Likewise.
10421
10422 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10423
10424         * config/h8300/h8300.c: Fix formatting.
10425         * config/h8300/h8300.h: Likewise.
10426         * config/h8300/h8300.md: Likewise.
10427
10428 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10429
10430         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10431         information.
10432
10433 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10434
10435        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10436
10437 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10438
10439         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10440
10441         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10442         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10443         (TARGET_ASM_OUT): Add the above here.
10444         * target.h (struct gcc_target): Add "visibility" field.
10445         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10446         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10447         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10448         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10449
10450 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10451
10452         * c-lang.c (objc_is_id): New stub.
10453         * c-tree.h (objc_is_id): New forward declaration.
10454         * c-typeck.c (build_c_cast): Do not strip protocol
10455         qualifiers from 'id' type.
10456         * objc/objc-act.c (objc_comptypes): Correct handling
10457         of protocol qualifiers.
10458         (objc_is_id): New.
10459
10460 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10461
10462         * pentium.md (pentium-firstvboth): Fix typo.
10463
10464 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10465
10466         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10467         (enum shift_type, enum h8_cpu): Likewise.
10468         (INL, ROT, LOP, SPC macros): Likewise.
10469         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10470         const designator.
10471         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10472         space efficient algorithms when optimize for codesize.
10473
10474 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10475
10476         Fix PR/1727 and long-standing failing testcase
10477         objc/formal-protocol-6.m.
10478         * objc-act.c (build_protocol_expr): If compiling for the GNU
10479         runtime, create a list of Protocol statically allocated instances
10480         if it doesn't exist, then add the Protocol object to this same
10481         list.
10482         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10483         instead of TREE_CHAIN.
10484
10485 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10486
10487         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10488         10k.  Fixed category dumping - print out category names with the
10489         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10490         interface.
10491         (finish_objc): Fixed the -gen-decls option.  It was printing out
10492         only the last class.  Dump an interface declaration of all classes
10493         being compiled instead.
10494
10495 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10496
10497         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10498         prototype.
10499         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10500         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10501         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10502         rather than GEN_INT.
10503         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10504         (return_addr_mask, *check_arch2): New.
10505
10506 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10507
10508         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10509         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10510         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10511         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10512         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10513         "adddf3", "*adddf3", "*adddf3_ibm",
10514         "addsf3", "*addsf3", "*addsf3_ibm",
10515         "muldi3", "mulsi3", "mulsidi3",
10516         "muldf3", "*muldf3", "*muldf3_ibm",
10517         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10518         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10519         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10520         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10521         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10522         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10523         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10524         instead of "register_operand" as predicate for "%0" operand.
10525
10526 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10527
10528         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10529         unconditionally when gcc_cv_as_flags64 checks are gone.
10530         * configure: Rebuilt.
10531
10532 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10533
10534         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10535         2002-07-26 change.  Comment.
10536
10537 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10538
10539         * frv.c (frv_unique_section, frv_select_section,
10540         frv_select_rtx_section): Delete.
10541         (frv_in_small_data_p): New.
10542         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10543         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10544         (TARGET_IN_SMALL_DATA_P): Define.
10545
10546 2002-09-05  Dale Johannesen  <dalej@apple.com>
10547
10548         * reload1.c (reload):  Retain only those memory clobbers
10549         added for variable-array handling.
10550
10551 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10552
10553         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10554         return-in-memory rules.
10555         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10556
10557 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10558
10559         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10560         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10561
10562 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10563
10564         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10565         not a compile-time constant for the non-IBM case.
10566         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10567         prototype.
10568         * config/arm/arm.c (arm_float_words_big_endian): New function.
10569         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10570         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10571         (ARM_FLAG_VFP, TARGET_VFP): Define.
10572         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10573
10574 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10575
10576         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10577         URLs.  Fix AIX wording.
10578
10579 2002-09-05  Stan Shebs  <shebs@apple.com>
10580
10581         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10582         -fPIC equivalent on Darwin.
10583
10584 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10585
10586         * sh.c (sh_expand_builtin): Return early if encountering an
10587         error_mark for a type.
10588
10589 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10590
10591         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10592         double-word scratch register.
10593         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10594
10595         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10596         "*cli"): Replace s_operand by memory_operand.
10597         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10598
10599 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10600
10601         * config/h8300/h8300.c (asm_file_start): Add a missing
10602         semicolon.
10603
10604 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10605
10606         * c-typeck.c (build_function_call): Remove unused variable(s).
10607         (build_c_cast): Likewise.
10608         * calls.c (rtx_for_function_call): Likewise.
10609         * cfglayout.c (duplicate_insn_chain): Likewise.
10610         * cfgloop.c (flow_loop_nodes_find): Likewise.
10611         * cfgrtl.c (split_edge): Likewise.
10612         * df.c (df_ref_create): Likewise.
10613         * except.c (expand_end_catch): Likewise.
10614         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10615         * function.c (emit_return_into_block): Likewise.
10616         (reposition_prologue_and_epilogue_notes): Likewise.
10617         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10618         * combine.c (subst_prev_insn, need_refresh): Remove.
10619         * dwarf2out.c (primary_filename): Remove.
10620         * final.c (new_block): Remove.
10621         * gcse.c (orig_bb_count): Remove.
10622
10623 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10624
10625         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10626         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10627         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10628         directly instead of using a function pointer.
10629
10630 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10631
10632         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10633         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10634         (ix86_output_addr_diff_elt) Likewise.
10635         (x86_output_mi_thunk) Likewise.
10636         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10637
10638 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10639
10640         * frv.c (frv_encode_section_info): Fix error in last change.
10641
10642 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10643
10644         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10645         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10646         (TARGET_BINDS_LOCAL_P): Define.
10647         (rs6000_override_options): Save original flag_pic value.
10648         (rs6000_elf_select_section): Call default_elf_select_section_1.
10649         (rs6000_elf_unique_section): Call default_unique_section_1.
10650         (rs6000_elf_in_small_data_p): New function.
10651         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10652         (rs6000_xcoff_select_section): Update based on defaults.
10653         (rs6000_xcoff_unique_section): Set to basic name if not common.
10654         (rs6000_binds_local_p): New function.
10655         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10656         targetm.have_srodata_section if SDATA_EABI.
10657         (TARGET_IN_SMALL_DATA_P): Define.
10658
10659 2002-09-04  Dale Johannesen  <dalej@apple.com>
10660
10661         * varasm.c (struct rtx_const, decode_rtx_const):
10662         Make veclo and vechi fields not share storage.
10663
10664 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10665
10666         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10667         for moving.
10668         (move_movables): Abort if we see the first insn of a libcall.
10669
10670 2002-09-04  Richard Henderson  <rth@redhat.com>
10671
10672         * builtin-types.def (BT_FN_FLOAT): New.
10673         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10674         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10675         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10676         * builtins.c (fold_builtin_inf): New.
10677         (fold_builtin): Call it.
10678         * real.c (ereal_inf): New.
10679         * real.h: Declare it.
10680         * doc/extend.texi: Document new builtins.
10681
10682 2002-09-04  Richard Henderson  <rth@redhat.com>
10683
10684         * cse.c (cse_insn): Avoid subreg games if the equivalence
10685         is already in the proper mode.
10686
10687 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10688
10689         PR c/7102
10690         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10691
10692 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10693
10694         * pa.md (setccfp0, setccfp1): New patterns.
10695
10696 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10697
10698         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10699         frv_select_section, frv_select_rtx_section,
10700         frv_encode_section_info, frv_unique_section): Delete.
10701         * frv.c: Update for target hooks.
10702         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10703         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10704         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10705
10706 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10707
10708         * ip2k-protos.h (function_prologue, function_epilogue,
10709         encode_section_info): Update to match target hook specification.
10710         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10711         (function_prologue, function_epilogue, encode_section_info):
10712         Update to match target hook specification.
10713         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10714         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10715         (NOTICE_UPDATE_CC): Cast to void.
10716         * ip2k.md: Add defaults in switch statements.
10717
10718 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10719
10720         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10721         issues.
10722
10723 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10724
10725         * config/sparc/t-netbsd64: Disable multilib for now.
10726
10727 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10728
10729         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10730         * target.h (gcc_target): Add have_srodata_section member.
10731         * varasm.c (section_category): Add SECCAT_SRODATA.
10732         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10733         READONLY_SDATA_SECTION defined.
10734         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10735         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10736         (default_unique_section_1): Likewise.
10737
10738 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10739
10740         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10741         into DImode pieces.
10742
10743         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10744         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10745         for floating-point register class.
10746         * pa.c (function_arg): Fix handling of modes wider than one word for
10747         TARGET_64BIT.
10748
10749 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
10750
10751         * combine.c (make_compound_operation): Don't generate zero / sign
10752         extensions in floating point modes.
10753
10754 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10755
10756         * doc/c-tree.texi: Fix overfull hboxes.
10757         * doc/cppopts.texi: Ditto.
10758         * doc/extend.texi: Ditto.
10759         * doc/gty.texi: Ditto.
10760         * doc/invoke.texi: Ditto.
10761         * doc/makefile.texi: Ditto.
10762         * doc/rtl.texi: Ditto.
10763         * doc/standards.texi: Ditto.
10764         * doc/tm.texi: Ditto.
10765
10766 2002-09-04  Richard Henderson  <rth@redhat.com>
10767
10768         * c-common.c (builtin_define_with_hex_fp_value): New.
10769         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
10770
10771 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10772
10773         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
10774         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
10775         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
10776         Warn that these options can break ABI compatibility.
10777
10778 2002-09-04  Richard Henderson  <rth@redhat.com>
10779
10780         * real.c (ereal_to_decimal): Add digits parameter.
10781         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
10782         * c-pretty-print.c (pp_c_real_literal): Update call.
10783         * print-rtl.c (print_rtx): Likewise.
10784         * print-tree.c (print_node_brief, print_node): Likewise.
10785         * sched-vis.c (print_value): Likewise.
10786         * config/arc/arc.c (arc_print_operand): Likewise.
10787         * config/c4x/c4x.c (c4x_print_operand): Likewise.
10788         * config/i370/i370.h (PRINT_OPERAND): Likewise.
10789         * config/i386/i386.c (print_operand): Likewise.
10790         * config/i960/i960.c (i960_print_operand): Likewise.
10791         * config/ip2k/ip2k.c (asm_output_float): Likewise.
10792         * config/m32r/m32r.c (m32r_print_operand): Likewise.
10793         * config/m68hc11/m68hc11.c (print_operand): Likewise.
10794         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
10795         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10796         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
10797         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10798         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
10799         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10800         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
10801         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10802         * config/mips/mips.c (print_operand): Likewise.
10803         * config/ns32k/ns32k.c (print_operand): Likewise.
10804         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
10805         * config/vax/vax.h (PRINT_OPERAND): Likewise.
10806         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
10807
10808 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
10809
10810         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
10811         xtensa_multibss_section_type_flags.
10812         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
10813
10814 2002-09-04  Richard Henderson  <rth@redhat.com>
10815
10816         * doc/install-old.texi: Don't mention enquire.
10817         * doc/sourcebuild.texi: Update float.h description.
10818
10819 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
10820
10821         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
10822
10823 2002-09-03  Roger Sayle  <roger@eyesopen.com>
10824
10825         * builtins.c (build_function_call_expr): Remove prototype, export
10826         as non-static and add a comment above function definition.
10827         (builtin_mathfn_code): New function to check for math builtins.
10828         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
10829         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
10830         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
10831         log(sqrt(x)) as log(x)/2.0.
10832
10833         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
10834         in new "builtins.c" section.  Place the build_range_type prototype
10835         with the other prototypes from "tree.c".
10836
10837         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
10838         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
10839         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
10840         x/exp(y) as x*exp(-y).
10841
10842 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
10843
10844         * varasm.c (default_section_type_flags): Append _1 to name with
10845         shlib parameter.  Use original name to call new function with
10846         implicit flag_pic.
10847         (decl_readonly_section): Likewise.
10848         (default_elf_select_section): Likewise.
10849         (default_unique_section): Likewise.
10850         (default_bind_local_p): Likewise.
10851         (categorize_decl_for_section): Add shlib parameter to use in place
10852         of implicit flag_pic.
10853         * output.h: Declare new functions with _1 and shlib argument.
10854
10855 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
10856
10857         * doc/install.texi: Fix typos, formatting problems, and obvious
10858         overfull/underfull boxes.
10859
10860         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
10861         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
10862         include its file, compat.texi.
10863         * doc/compat.texi: New file with new chapter, Binary Compatibility.
10864
10865 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
10866
10867         Debian BTS Bug #157416
10868         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
10869         * cpplib.c (destringize_and_run): Kludge around getting
10870         tokens from in-progress macros.
10871         (_cpp_do__Pragma): Simplify.
10872
10873 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
10874
10875         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
10876         (CPP_CPU_SPEC): Remove.
10877         (TARGET_CPU_CPP_BUILTINS): New.
10878         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
10879         (CPP_SPEC): Remove.
10880         (TARGET_OS_CPP_BUILTINS): New.
10881         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
10882         (TARGET_OS_CPP_BUILTINS): New.
10883         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
10884         TARGET_OS_CPP_BUILTINS.
10885         (CPP_PREDEFINES): Remove.
10886         (CPLUSPLUS_CPP_SPEC): Remove.
10887         (TARGET_OS_CPP_BUILTINS): New.
10888
10889 2002-09-03  Richard Henderson  <rth@redhat.com>
10890
10891         * Makefile.in (USER_H): Add ginclude/float.h.
10892         (FLOAT_H): Remove.
10893         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
10894         (mostlyclean): Don't remove float.h intermediate files.
10895         (distclean): Don't remove float.h.
10896         * config.gcc: Remove all float_format references.
10897         * configure.in (float_format, float_h_file): Remove.
10898
10899         * c-common.c: Include tree-inline.h.
10900         (builtin_define_with_int_value): New.
10901         (builtin_define_type_precision): Use it.
10902         (builtin_define_float_constants): New.
10903         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
10904         __FLT_EVAL_METHOD__.
10905         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
10906         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
10907         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
10908         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
10909         (TARGET_FLT_EVAL_METHOD): New.
10910
10911         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
10912         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
10913         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
10914         * ginclude/float.h: New.
10915
10916 2002-09-03  Stan Shebs  <shebs@apple.com>
10917
10918         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
10919         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
10920         (PREFERRED_DEBUGGING_TYPE): Ditto.
10921         (ASM_OUTPUT_IDENT): Remove empty definition.
10922
10923 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
10924
10925         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
10926         cxx_target.
10927         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
10928         handling routine for builtin pragma.
10929         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
10930         Registered pragma handling routine.
10931         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
10932         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
10933         If builtin pragma seen for math routine and C89 conformance is
10934         requested use different math function in order to set errno.
10935         * t-ia64 (ia64-c.o): Add new rule for new file.
10936
10937 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
10938
10939         * config/s390/s390.md ("movti"): Add Q->Q alternative.
10940         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
10941         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
10942
10943         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
10944         "*movsf_ss"): Remove.
10945
10946 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10947
10948         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
10949         Delete macros.
10950
10951 2002-09-03   Arati Dikey  <aratid@kpit.com>
10952
10953         * h8300.c (asm_file_start): Corrected optimization comment.
10954
10955 2002-09-03  Stan Shebs  <shebs@apple.com>
10956
10957         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
10958         * c-tree.h (recognize_objc_keyword): Remove decl.
10959         * c-typeck.c (comp_target_types): Update a comment.
10960
10961 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
10962
10963         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
10964         and register validity checks.
10965         (general_s_operand): Adapt to s390_decompose_address interface change.
10966         (q_constraint): Likewise.
10967         (s390_expand_plus_operand): Likewise.
10968         (legitimiate_address_p): Likewise.
10969         (legitimate_la_operand_p): Likewise.
10970         (legitimize_la_operand): Likewise.
10971         (print_operand_address): Likewise.
10972         (print_operand): Likewise.
10973
10974 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10975
10976         PR objc/5956:
10977         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
10978         was causing the new selector never to match the existing ones
10979         (Patch by Alexander Malmberg <alexander@malmberg.org>).
10980
10981 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
10982
10983         * config/i386/i386.md ("femms"): Add "memory" attr "none".
10984
10985 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
10986
10987         * expr.c (expand_expr): Remove extraneous comment and code.
10988
10989 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
10990
10991         * stor-layout (finish_builtin_struct): Renamed and moved from c++
10992         frontend. Take chain of fields. Allow NULL alignment type.
10993         * tree.h (finish_builtin_struct): Declare.
10994
10995 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10996
10997         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
10998         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
10999         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11000         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11001         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11002         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11003         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11004         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11005         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11006         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11007         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11008         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11009         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11010         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11011         config/rs6000/linux64.h config/rs6000/lynx.h
11012         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11013         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11014         config/sparc/sparc.c config/sparc/sysv4.h
11015         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11016         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11017         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11018
11019         * doc/tm.texi: Update docs.
11020         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11021         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11022
11023 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11024
11025         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11026         * arc.c (arc_internal_label): New function.
11027         (TARGET_ASM_INTERNAL_LABEL): Set.
11028         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11029         * arm.c (arm_internal_label): New function.
11030         (TARGET_ASM_INTERNAL_LABEL): Set.
11031         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11032         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11033         * i370.c (i370_internal_label): New function.
11034         (TARGET_ASM_INTERNAL_LABEL): Set.
11035         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11036         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11037         * m68k.c (m68k_hp320_internal_label): New function.
11038         (TARGET_ASM_INTERNAL_LABEL): Set.
11039         * m88k.c (m88k_internal_label): New function.
11040         (TARGET_ASM_INTERNAL_LABEL): Set.
11041         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11042         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11043         * genoutput.c (output_prologue): Include target.h in output file.
11044         * output.h (default_internal_label): Declare.
11045         * sdbout.c: Include target.h.
11046         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11047         TARGET_ASM_OUT.
11048         * target.h (internal_label): Add to struct gcc_target.
11049         * varasm.c (default_internal_label): New function.
11050
11051 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11052
11053         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11054         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11055         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11056         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11057         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11058         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11059         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11060         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11061         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11062         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11063         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11064         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11065         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11066         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11067         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11068         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11069         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11070         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11071         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11072         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11073         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11074         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11075         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11076         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11077         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11078         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11079         * mmix.c (mmix_asm_output_internal_label): Likewise.
11080         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11081         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11082         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11083         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11084         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11085         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11086         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11087         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11088         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11089         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11090         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11091         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11092         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11093         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11094         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11095         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11096         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11097         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11098         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11099
11100         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11101
11102 2002-08-31  Richard Henderson  <rth@redhat.com>
11103
11104         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11105
11106 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11107
11108         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11109
11110 2002-08-30  Richard Henderson  <rth@redhat.com>
11111
11112         PR opt/7515
11113         * c-objc-common.c: Include target.h.
11114         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11115         don't bind locally.  Factor setting DECL_UNINLINABLE.
11116         * Makefile.in (c-objc-common.o): Update.
11117
11118 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11119
11120         * doc/install.texi (Configuration, Building): Fix a typo and
11121         some formatting directives.
11122
11123 2002-08-30  Paul Koning <pkoning@equallogic.com>
11124
11125         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11126         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11127         implemented" note.
11128         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11129         for alphabetic order.
11130         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11131         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11132         (VAX_HALFWORD_ORDER): Document.
11133         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11134         IEEE float format.
11135         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11136         (ASM_OUTPUT_LABEL_REF): Fix font.
11137         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11138
11139 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11140
11141         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11142         stuff.
11143         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11144         CONST_DOUBLE constants.
11145
11146 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11147
11148         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11149         related defines to...
11150         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11151         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11152         as a no-op.
11153
11154 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11155
11156         * config/arm/arm.c (arm_asm_output_labelref): New function.
11157         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11158         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11159
11160 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11161
11162         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11163         memory exhausted" workarounds.
11164
11165 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11166
11167         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11168         * toplev.c (crash_signal): Likewise.
11169
11170 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11171
11172         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11173         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11174         Extended, updated documentation.
11175         (-Wundeclared-selector): Documented.
11176
11177 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11178
11179         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11180         the value 1.  Do not undef before defining.
11181         * config/darwin.h: Likewise.
11182         * config/dbx.h: Likewise.
11183         * config/dbxcoff.h: Likewise.
11184         * config/dbxelf.h: Likewise.
11185         * config/elfos.h: Likewise.
11186         * config/interix.h: Likewise.
11187         * config/lynx-ng.h: Likewise.
11188         * config/lynx.h: Likewise.
11189         * config/netware.h: Likewise.
11190         * config/psos.h: Likewise.
11191         * config/svr3.h: Likewise.
11192         * config/alpha/alpha.h: Likewise.
11193         * config/alpha/elf.h: Likewise.
11194         * config/alpha/vms.h: Likewise.
11195         * config/arc/arc.h: Likewise.
11196         * config/arm/aout.h: Likewise.
11197         * config/arm/coff.h: Likewise.
11198         * config/c4x/c4x.h: Likewise.
11199         * config/h8300/h8300.h: Likewise.
11200         * config/i386/cygwin.h: Likewise.
11201         * config/i386/djgpp.h: Likewise.
11202         * config/i386/gas.h: Likewise.
11203         * config/i386/gstabs.h: Likewise.
11204         * config/i386/i386-coff.h: Likewise.
11205         * config/i386/i386-interix.h: Likewise.
11206         * config/i386/sco5.h: Likewise.
11207         * config/i386/svr3dbx.h: Likewise.
11208         * config/i386/sysv3.h: Likewise.
11209         * config/i386/win32.h: Likewise.
11210         * config/i386/x86-64.h: Likewise.
11211         * config/i960/i960.h: Likewise.
11212         * config/ia64/ia64.h: Likewise.
11213         * config/ip2k/ip2k.h: Likewise.
11214         * config/m32r/m32r.h: Likewise.
11215         * config/m68k/3b1.h: Likewise.
11216         * config/m68k/3b1g.h: Likewise.
11217         * config/m68k/ccur-GAS.h: Likewise.
11218         * config/m68k/coff.h: Likewise.
11219         * config/m68k/hp2bsd.h: Likewise.
11220         * config/m68k/hp310g.h: Likewise.
11221         * config/m68k/hp320g.h: Likewise.
11222         * config/m68k/hp3bsd.h: Likewise.
11223         * config/m68k/hp3bsd44.h: Likewise.
11224         * config/m68k/linux-aout.h: Likewise.
11225         * config/m68k/m68k-aout.h: Likewise.
11226         * config/m68k/mot3300.h: Likewise.
11227         * config/m68k/netbsd.h: Likewise.
11228         * config/m68k/openbsd.h: Likewise.
11229         * config/m68k/pbb.h: Likewise.
11230         * config/m68k/plexus.h: Likewise.
11231         * config/m68k/sun2.h: Likewise.
11232         * config/m68k/sun3.h: Likewise.
11233         * config/m68k/tower-as.h: Likewise.
11234         * config/m68k/vxm68k.h: Likewise.
11235         * config/m88k/aout-dbx.h: Likewise.
11236         * config/m88k/m88k-aout.h: Likewise.
11237         * config/mcore/mcore-elf.h: Likewise.
11238         * config/mcore/mcore-pe.h: Likewise.
11239         * config/mips/elf.h: Likewise.
11240         * config/mips/elf64.h: Likewise.
11241         * config/mips/iris5gas.h: Likewise.
11242         * config/mips/iris6.h: Likewise.
11243         * config/mips/mips.h: Likewise.
11244         * config/mips/sni-gas.h: Likewise.
11245         * config/mmix/mmix.h: Likewise.
11246         * config/ns32k/netbsd.h: Likewise.
11247         * config/pa/pa64-hpux.h: Likewise.
11248         * config/romp/romp.h: Likewise.
11249         * config/rs6000/sysv4.h: Likewise.
11250         * config/rs6000/xcoff.h: Likewise.
11251         * config/sh/coff.h: Likewise.
11252         * config/sh/elf.h: Likewise.
11253         * config/sparc/linux64.h: Likewise.
11254         * config/sparc/liteelf.h: Likewise.
11255         * config/sparc/netbsd.h: Likewise.
11256         * config/sparc/openbsd.h: Likewise.
11257         * config/sparc/pbd.h: Likewise.
11258         * config/sparc/sp64-elf.h: Likewise.
11259         * config/sparc/sp86x-elf.h: Likewise.
11260         * config/sparc/sparc.h: Likewise.
11261         * config/vax/vax.h: Likewise.
11262         * config/vax/vaxv.h: Likewise.
11263
11264 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11265
11266         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11267         of HImode shifts.
11268         (get_shift_alg): Corresponding changes.
11269
11270 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11271
11272         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11273
11274 2002-08-29  Richard Henderson  <rth@redhat.com>
11275
11276         * expr.h (enum block_op_methods): New.
11277         (emit_block_move): Update prototype.
11278         * expr.c (block_move_libcall_safe_for_call_parm): New.
11279         (emit_block_move_via_loop): New.
11280         (emit_block_move): Use them.  New argument METHOD.
11281         (emit_push_insn): Always respect the given alignment.
11282         (expand_assignment): Update call to emit_block_move.
11283         (store_expr, store_field, expand_expr): Likewise.
11284         * builtins.c (expand_builtin_apply): Likewise.
11285         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11286         * function.c (expand_function_end): Likewise.
11287         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11288         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11289         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11290         (save_fixed_argument_area): Use emit_block_move with
11291         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11292         (restore_fixed_argument_area): Likewise.
11293         (store_one_arg): Fix alignment parameter to emit_push_insn.
11294
11295 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11296
11297         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11298
11299 2002-08-29  Catherine Moore  <clm@redhat.com>
11300
11301         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11302         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11303         (PREDICATE_CODES): Include new predicates.
11304         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11305         (TARGET_SWITCHES):  Add strict-align.
11306         (TARGET_STRICT_ALIGN): New.
11307         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11308         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11309         Define.
11310         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11311         v850_muldi3.
11312         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11313         L_callt_save_r2_r31, L_return_r2_r31,
11314         L_save_all_interrupt): Change addi to add.
11315         (L_save_interrupt, L_return_interrupt): Rework.
11316         (__return_r31):  Correct .size directive.
11317         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11318         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11319         New routines.
11320         * config/v850/v850.c (expand_prologue): Call
11321         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11322         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11323         (reg_or_int9_operand): New predicate.
11324         (reg_or_const_operand): New routine.
11325         * config/v850/v850.md (return_interrupt): Changed from
11326         restore_interrupt.
11327         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11328         (callt_save_interrupt): Change save sequence.
11329         (callt_return_interrupt): New.
11330         (save_interrupt): Don't use runtime function for LONG_CALLS
11331         and TARGET_PROLOG_FUNCTION.
11332         (save_all_interrupt): Likewise.
11333         (mulsi3): Use new predicate.
11334         (moviscc): Disallow some combination of constants.
11335         Fix define_split for sasf insns, so that it will not generate bad
11336         code if operand0 and operand5 are the same.
11337         * config/v850/v850-protos.h: Prototype new predicates.
11338
11339 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11340
11341         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11342         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11343
11344 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11345
11346         * c-common.c (builtin_define_type_precision): New function.
11347         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11348         wchar_t is unsigned in C++.
11349         * doc/cpp.texi (Common Predefined Macros): Document
11350         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11351         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11352         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11353
11354 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11355
11356         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11357         section.  Mention that it is enabled by -Wall.
11358         (-Wall): Mention that there can be language-specific warnings as well.
11359         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11360         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11361
11362 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11363
11364         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11365         if it is ever live.
11366
11367         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11368         attribute for SHCOMPACT.
11369
11370         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11371         appropriately.
11372         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11373         by the ABI.
11374
11375         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11376
11377 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11378
11379         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11380         "MASK_GAS|MASK_ABICALLS".
11381         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11382         (TARGET_DEFAULT): Remove.
11383         (MACHINE_TYPE): Undefine before defining.
11384         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11385
11386 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11387
11388         * c-common.c (warn_abi): New variable.
11389         * c-common.h (warn_abi): Likewise.
11390         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11391         (c_common_decode_option): Handle it.
11392         * doc/invoke.texi: Document -Wabi.
11393
11394 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11395
11396         * c-common.c (warn_undeclared_selector): New variable.
11397         * c-common.h (warn_undeclared_selector): Idem.
11398         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11399         to on when -Wundeclared-selector is found.
11400         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11401         * objc/objc-act.c (build_selector_expr): If
11402         warn_undeclared_selector is set, check that the selector has
11403         already been defined, and emit a warning if not.
11404
11405 2002-08-27  Nick Clifton  <nickc@redhat.com>
11406             Catherine Moore  <clm@redhat.com>
11407             Jim Wilson  <wilson@cygnus.com>
11408
11409         * config.gcc: Add v850e-*-* target.
11410         Add --with-cpu= support for v850.
11411         * config/v850/lib1funcs.asm: Add v850e callt functions.
11412         * config/v850/v850.h: Add support for v850e target.
11413         * config/v850/v850.c: Add functions to support v850e target.
11414         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11415         * config/v850/v850.md: Add patterns for v850e instructions.
11416         * doc/invoke.texi: Document new v850e command line switches.
11417
11418 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11419                           Aldy Hernandez <aldyh at redhat dot com>
11420
11421         * doc/tm.texi: Applied numerous fixes to the automaton based
11422         scheduler descrition.
11423
11424 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11425
11426         * i386.c (classify_argument): Handle variable sized objects.
11427
11428 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11429
11430         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11431
11432 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11433
11434         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11435
11436 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11437
11438         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11439
11440 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11441
11442         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11443         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11444         accordingly.
11445         (attribute insn_class): Provide default definitions based on type.
11446         Remove all insn-specific settings.
11447         (various function units): Remove old SH4 scheduling.
11448         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11449         New attributes.  Set them where appropriate.
11450         (cpu unit FS): Don't define / use.
11451         (F3, load_store): New cpu units.
11452         (F01): New reservation.
11453         (all insn_reservations): Make dependent on sh4 pipeline model.
11454         Fix latencies.
11455         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11456         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11457         (mt insn_reservation): Use type mt_group.
11458         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11459         sh4_fload and sh4_store.
11460         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11461         (insn_reservation branch_far): Replace with sh4_return.
11462         (insn_reservation return_from_exp): Rename to:
11463         (sh4_return_from_exp).  Change to be just d_lock*5.
11464         (insn_reservation lds_to_pr): Rename to:
11465         (sh4_lds_to_pr).  Change to be just d_lock*2.
11466         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11467         d_lock*2.
11468         (insn_reservation prload_mem): Rename to:
11469         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11470         (insn_reservation fpscr_store): Rename to:
11471         (fpscr_load).  Change to d_lock,nothing,F1*3.
11472         (insn_reservation fpscr_store_mem): Rename to:
11473         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11474         (insn_reservation multi): Change to
11475         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11476         (insn_reservation fp_arith): Change to issue,F01,F2.
11477         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11478         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11479         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11480         (insn_reservation fp_double_cmp): Change to
11481         d_lock,(d_lock+F01),F1+F2,F2.
11482         (insn_reservation dp_div): Change to
11483         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11484         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11485         (sh_adjust_cost, SHcompact): Differentiate between different
11486         kinds of dependencies.  Drop factor of ten for superscalar.
11487         Use new instruction types.  Add new exception rules.
11488
11489         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11490
11491         * sh.md (mperm_w): Add DONE.
11492
11493 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11494
11495         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11496
11497         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11498
11499         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11500
11501 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11502
11503         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11504
11505 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11506
11507         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11508         delimiter.
11509
11510 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11511
11512         * c-common.c (cpp_define_data_format): New function.
11513         (cb_register_builtins): Call it.
11514
11515         * doc/cpp.texi (Common Predefined Macros): Document
11516         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11517         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11518         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11519         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11520         __TARGET_USES_VAX_H_FLOAT__.
11521
11522 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11523
11524         * objc/objc-act.c (get_super_receiver): If inside a class method
11525         of a category, cast the receiver to 'id' before accessing the 'isa'
11526         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11527
11528 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11529
11530         * config/s390/s390-protos.h (s390_function_prologue,
11531         s390_function_epilogue): Remove.
11532         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11533         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11534
11535         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11536         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11537         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11538         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11539         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11540
11541         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11542         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11543         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11544         function is not a leaf function.  Use save_gprs and restore_gprs.
11545         (s390_emit_epilogue): Likewise.
11546         (save_gprs, restore_gprs): New functions.
11547         (struct s390_frame): Remove return_reg_saved_p member.
11548         (save_fprs_p): Remove.
11549         (s390_optimize_prolog): New function.
11550         (s390_legitimate_reload_constant): Remove now unnecessary check.
11551
11552         (s390_function_count): Remove.
11553         (s390_output_symbolic_const): Replace s390_function_count by
11554         current_function_funcdef_no.
11555         (s390_output_constant_pool): Likewise.
11556
11557         (legitimize_pic_address): Use regs_ever_live to track PIC register
11558         instead of current_function_uses_pic_offset_table.
11559         (s390_emit_prologue): Likewise.
11560         config/s390/s390.md ("call", "call_value"): Likewise.
11561
11562 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11563
11564         * c-opts.c (find_opt): Don't complain about wrong languages
11565         here.  Return exact matches even for wrong language.
11566         (c_common_decode_option): Complain about wrong languages
11567         here.
11568
11569 2002-08-24  Stuart Hastings  <stuart@apple.com>
11570
11571         * function.h (struct function): Add flag
11572         all_throwers_are_sibcalls.
11573         * except.c (set_nothrow_function_flags): Replaces
11574         nothrow_function_p. Set new flag.
11575         * except.h (set_nothrow_function_flags): Replaces
11576         nothrow_function_p.
11577         * dwarf2out.c (struct dw_fde_struct): Add flag
11578         all_throwers_are_sibcalls.
11579         (output_call_frame_info): Test it.
11580         (dwarf2out_begin_prologue) Propagate it from cfun to
11581         dw_fde_struct.
11582         * toplev.c (rest_of_compilation): Update calls to
11583         nothrow_function_p.
11584
11585 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11586
11587         * ggc-page.c (compute_inverse): Short circuit calculation for
11588         object sizes larger than half a page.
11589
11590 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11591
11592         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11593         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11594         default.
11595         (rs6000_elf_unique_section): Likewise.
11596
11597 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11598
11599         * ns32k.c (ns32k_globalize_label): Delete.
11600         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11601
11602 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11603
11604         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11605         for loading delta with num_insns_constant_wide.  Calculate
11606         delta_low, delta_high without using a conditional.
11607
11608 2002-08-22  Jason Merrill  <jason@redhat.com>
11609
11610         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11611         * c-common.def: Adjust.
11612         * c-dump.c (c_dump_tree): Adjust.
11613         * c-semantics.c (genrtl_return_stmt): Adjust.
11614         * c-pretty-print.c (pp_c_statement): Adjust.
11615         * tree-inline.c (copy_body_r): Adjust.
11616
11617 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11618
11619         * ggc-page.c: Avoid division in ggc_set_mark.
11620         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11621         compute_inverse): New.
11622         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11623         (init_ggc): Initialize inverse_table.
11624
11625 2002-08-22  Tom Tromey  <tromey@redhat.com>
11626
11627         * doc/install.texi (Configuration): Document --datadir.
11628
11629 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11630
11631         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11632
11633 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11634
11635         * gengtype-lex.l (ID): Allow underscore as first character.
11636
11637 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11638
11639         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11640         function.
11641         (rs6000_xcoff_asm_named_section): Rename.
11642         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11643
11644 2002-08-21  Tom Tromey  <tromey@redhat.com>
11645
11646         For PR java/6005 and PR java/7611:
11647         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11648         (fold): Likewise.
11649         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11650         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11651         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11652         (LANG_HOOKS_INITIALIZER): Use it.
11653         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11654         field.
11655
11656 2002-08-21  Stan Shebs  <shebs@apple.com>
11657
11658         * tree.c (finish_vector_type): Fix a typo in a comment.
11659         * Makefile.in: Fix "the the" stutters in comments.
11660         * genautomata.c: Ditto.
11661         * ifcvt.c: Ditto.
11662         * regrename.c: Ditto.
11663         * config/alpha/alpha.c: Ditto.
11664         * config/alpha/vms-crt0-64.c: Ditto.
11665         * config/alpha/vms-crt0.c: Ditto.
11666         * config/alpha/vms-psxcrt0-64.c: Ditto.
11667         * config/alpha/vms-psxcrt0.c: Ditto.
11668         * config/d30v/d30v.h: Ditto.
11669         * config/fr30/fr30.h: Ditto.
11670         * config/rs6000/rs6000.c: Ditto.
11671         * config/stormy16/stormy16.h: Ditto.
11672         * doc/md.texi: Ditto.
11673
11674 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11675
11676         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11677
11678 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11679
11680         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11681         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11682         Also make duplicate modifiers such as "short short" into hard
11683         errors.
11684
11685 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11686             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11687
11688         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11689         to the actual end.  Add '@end table' and '@table @code'.
11690
11691 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11692
11693         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11694
11695         * unroll.c (biv_total_increment): Don't try to compute the total
11696         increment for FP BIVs.
11697
11698 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11699
11700         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11701         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11702         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11703         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11704         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11705         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11706         (GLOBAL_ASM_OP): Define.
11707         * arm.c (aof_globalize_label): New function.
11708         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11709         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11710         * c4x.c (c4x_globalize_label): New function.
11711         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11712         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11713         (GLOBAL_ASM_OP): Define.
11714         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11715         * darwin-protos.h (darwin_globalize_label): Declare.
11716         * darwin.c (darwin_globalize_label): New function.
11717         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11718         (ASM_GLOBALIZE_LABEL): Delete.
11719         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11720         * dsp16xx.c (asm_output_common): Use target hook.
11721         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11722         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11723         (GLOBAL_ASM_OP): Define.
11724         * i370.c (i370_globalize_label): New function.
11725         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11726         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11727         * i386.c (ix86_asm_file_end): Use target hook.
11728         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11729         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11730         * ia64.c (ia64_asm_output_external): Likewise.
11731         * ia64/sysv4.h: Update comment.
11732         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11733         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11734         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11735         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11736         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11737         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11738         * mmix.c (mmix_asm_globalize_label): Likewise.
11739         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11740         (GLOBAL_ASM_OP): Define.
11741         * ns32k.c (ns32k_globalize_label): New function.
11742         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11743         (ASM_GLOBALIZE_LABEL): Delete.
11744         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11745         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11746         * pa.c (pa_globalize_label): New function.
11747         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11748         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11749         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11750         (GLOBAL_ASM_OP): Define.
11751         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11752         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11753         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11754         (GLOBAL_ASM_OP): Define.
11755         * v850.c (v850_output_aligned_bss): Use target hook.
11756         * vax.c (vms_globalize_label): New function.
11757         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11758         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11759         (GLOBAL_ASM_OP): Define.
11760         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11761         * doc/tm.texi: Update docs.
11762         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11763         target hook.
11764         * final.c (output_alternate_entry_point): Likewise.
11765         * hooks.c (hook_FILEptr_constcharptr_void): New function.
11766         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11767         * output.h (assemble_global): Delete.
11768         (default_globalize_label): Declare.
11769         * system.h (ASM_GLOBALIZE_LABEL): Poison.
11770         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11771         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
11772         * target.h (gcc_target): Add globalize_label member.
11773         * varasm.c (asm_output_bss, asm_output_aligned_bss,
11774         globalize_decl): Use target hook.
11775         (assemble_global): Delete.
11776         (default_globalize_label): New function.
11777
11778 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11779
11780         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
11781
11782 2002-08-20  Devang Patel  <dpatel@apple.com>
11783         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
11784
11785 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11786
11787         * arc.c (output_shift): Use stdio instead of asm_fprintf.
11788         * arm.c (thumb_output_function_prologue): Likewise.
11789         * avr.c (print_operand): Likewise.
11790         * c4x.c (c4x_print_operand): Likewise.
11791         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
11792         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11793         * cris.c (cris_target_asm_function_prologue,
11794         cris_asm_output_mi_thunk): Likewise.
11795         * h8300.c (print_operand): Likewise.
11796         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11797         * ip2k.c (print_operand): Likewise.  Fix format specifier.
11798         * m68hc11.c (asm_print_register, print_operand,
11799         print_operand_address): Use stdio instead of asm_fprintf.
11800         (print_operand_address): Fix format specifier.
11801         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
11802         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
11803         asm_fprintf.
11804         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11805         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11806         * m68k.c (m68k_output_function_prologue,
11807         m68k_output_function_epilogue, print_operand): Likewise.
11808         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
11809         Likewise.  Fix format specifier.
11810         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11811         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11812         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11813
11814 2002-08-15  Eric Christopher  <echristo@redhat.com>
11815             Jeff Knaggs  <jknaggs@redhat.com>
11816
11817         * config.gcc (mipsisa64sr71k-elf): New target.
11818         * config/mips/sr71k.md: New file.
11819         * config/mips/mips.md: Use it.
11820         (rot*): Add sr71k specifics.
11821         * config/mips/t-sr71k: New file.
11822         * config/mips/mips.h (sr71k): New cpu.
11823         (TARGET_SR71K): Use it.
11824         (TUNE_SR71K): Ditto.
11825         (GENERATE_BRANCHLIKELY): Ditto.
11826         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
11827         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
11828         * config/mips/mips.c (sr71k): New cpu.
11829         (mips_use_dfa_pipeline_interface): Use.
11830
11831 2002-08-15  Eric Christopher  <echristo@redhat.com>
11832             Richard Sandiford <rsandifo@redhat.com>
11833             Aldy Hernandez  <aldyh@redhat.com>
11834             Graham Stott    <grahams@redhat.com>
11835             Michael Meissner  <meissner@redhat.com>
11836             Gavin Romig-Koch  <gavin@redhat.com>
11837             Ken Raeburn  <raeburn@cygnus.com>
11838             Alexandre Oliva <aoliva@redhat.com>
11839
11840         * config.gcc (mips64vr-elf): New target.
11841         * config/mips/5400.md: New file.
11842         * config/mips/5500.md: Ditto.
11843         * config/mips/mips.md: Use them.
11844         (frsqrt): New.
11845         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
11846         cpus.
11847         (mips_issue_rate): Use them.
11848         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
11849         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
11850         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
11851         cpus.
11852         (TARGET_MIPSx): Use them.
11853         (TUNE_MIPSx): Ditto.
11854         (GETNATE_MULT3_SI): Ditto.
11855         (ISA_HAS_BRANCHLIKELY): Ditto.
11856         (ISA_HAS_CONDMOVE): Ditto.
11857         (ISA_HAS_NMADD_NMSUB): Ditto.
11858         (ISA_HAS_MULHI): New. Ditto.
11859         (ISA_HAS_MULS): Ditto.
11860         (ISA_HAS_MSAC): Ditto.
11861         (ISA_HAS_MACC): Ditto.
11862         (ISA_HAS_ROTR_SI): Ditto.
11863         (ISA_HAS_ROTR_DI): Ditto.
11864         (RTX_COSTS): Use.
11865
11866 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11867
11868         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
11869         at head.
11870         (remove_dup_nonsys_dirs): New function.
11871         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
11872         (merge_include_chains): Remove non-system include directories from
11873         quote and bracket include chains when they duplicate equivalent system
11874         directories.
11875         * doc/cpp.texi (-I): Update.
11876         * doc/cppopts.texi (-I): Update.
11877         * doc/install.texi (--with-local-prefix): Further document usage of
11878         this option.
11879         * doc/invoke.texi (-I): Update.
11880
11881 2002-08-20  Richard Henderson  <rth@redhat.com>
11882
11883         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
11884         (emit_block_move): Split out subroutines.
11885         (emit_block_move_via_movstr): New.
11886         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
11887         (emit_block_move_libcall_fn): New.  Construct function prototype for
11888         bcopy as well.
11889         (clear_storage): Split out subroutines.
11890         (clear_storage_via_clrstr): New.
11891         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
11892         (clear_storage_libcall_fn): New.  Construct function prototype for
11893         bzero as well.
11894         (emit_push_insn): Use emit_block_move.
11895         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
11896         (store_constructor): Likewise.
11897
11898 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
11899
11900         * objc/objc-act.c (building_objc_message_expr): Rename to
11901         current_objc_message_selector.
11902
11903 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
11904
11905         * objc/objc-act.c (build_ivar_chain): Remove.
11906         (objc_copy_list): Likewise.
11907         (get_class_ivars): Inline call to removed build_ivar_chain
11908         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
11909         slot; use that slot (rather than CLASS_IVARS) when accessing
11910         ivars for base classes.  Call copy_list and chainon instead of
11911         objc_copy_list.
11912         (build_private_template): Call get_class_ivars instead of
11913         build_ivar_chain.
11914         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
11915         (continue_class): Call get_class_ivars instead of
11916         build_ivar_chain.
11917         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
11918         of DECL_BIT_FIELD (which may have been cleared).
11919         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
11920
11921 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11922
11923         * genautomata.c (output_translate_vect, output_state_ainsn_table,
11924         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
11925         in output file.
11926         (output_internal_min_issue_delay_func): Initialize variable in
11927         output file.
11928
11929 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
11930
11931         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
11932         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
11933
11934 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
11935             Steve Ellcey  <sje@cup.hp.com>
11936
11937         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
11938         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
11939         * explow.c (trunc_int_for_mode): Abort when the mode is not
11940         a scaler integer mode.
11941         * combine.c (expand_compound_operation): Don't expand Vector
11942         or Complex modes into shifts.
11943         (expand_field_assignment): Don't do bitwise arithmatic and
11944         shifts on Vector or Complex modes.
11945         (simplify_comparison): Don't call trunc_int_for_mode
11946         for VOIDmode.
11947         * recog.c (general_operand): Likewise.
11948         (immediate_operand): Likewise.
11949         (nonmemory_operand): Likewise.
11950
11951 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
11952
11953         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
11954         multi-instruction SImode constant.  Add REG_EQUAL note.
11955         * config/rs6000/rs6000.md (movsi splitter): Use
11956         rs6000_emit_set_const.
11957
11958 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11959
11960         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
11961         the macro test controlling its use.
11962
11963 2002-08-18  H.J. Lu  (hjl@gnu.org)
11964
11965         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
11966         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
11967         gnu_ld=yes.
11968         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
11969         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
11970         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
11971         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
11972         here.
11973         (cris-*-linux*): Remove setting thread_file here.
11974
11975 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
11976
11977         PR preprocessor/7602
11978         * cppinit.c (path_include): Treat the system environment
11979         variables as being cxx_aware.
11980
11981 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
11982
11983         * c-decl.c (flexible_array_type_p): New function.
11984         (grokdeclarator, finish_struct): Use it.
11985         * doc/extend.texi: Document constraints on use of structures with
11986         flexible array members.
11987
11988 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
11989
11990         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
11991         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
11992         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
11993
11994 2002-08-16  Stan Shebs  <shebs@apple.com>
11995
11996         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
11997         for ObjC with -fnext-runtime.
11998         * doc/cpp.texi: Document it.
11999
12000 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12001
12002         * doc/install.texi (Final installation): Replace links to individual
12003         build status pages with a link to a common page that lists them all.
12004
12005 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12006
12007         * doc/invoke.texi: Fix typo.
12008
12009 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12010
12011         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12012
12013 2002-08-16  Andrew Haley  <aph@redhat.com>
12014
12015         * tree-inline.c: Add includes for Java inliner.
12016         (remap_decl): Don't handle anonymous types for Java.
12017         (remap_block): Add handling for Java trees.
12018         (copy_scope_stmt): Conditionalize for non-Java use only.
12019         (copy_body_r): Handle Java trees.  Add handling for
12020         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12021         (initialize_inlined_parameters):  Handle Java trees.
12022         (declare_return_variable): Likewise.
12023         (expand_call_inline): Handle Java trees.
12024         (walk_tree): Likewise.
12025         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12026         (add_stmt_to_compound): New function.
12027
12028 2002-08-15  Richard Henderson  <rth@redhat.com>
12029
12030         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12031         (NOCOMMON_FLAG): New substitution point.
12032         (GCC_WARN_CFLAGS): Include it.
12033         * configure.in (ac_checking): Set nocommon_flag.
12034         (nocommon_flag): New substitution point.
12035
12036 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12037
12038         * c-tree.h (skip_evaluation): Move declaration...
12039         * c-common.h: ... here.
12040         * c-typeck.c (build_external_ref): Don't assemble_external nor
12041         mark a tree as used if skip_evaluation is set.
12042         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12043         around TYPEOF.
12044         (typespec_nonreserved_nonattr): Use it.
12045
12046 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12047
12048         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12049         (xcoff_debug_hooks): Update end_prologue.
12050         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12051         * debug.h (end_prologue): Add file arg.
12052         (end_epilogue): Add line and file args.
12053         (dwarf2out_end_epilogue): Add line and file args.
12054         (vmsdbgout_after_prologue): Remove.
12055         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12056         (dwarf2_debug_hooks): Update end_prologue.
12057         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12058         (dwarfout_end_prologue): Add file arg.
12059         * final.c (vmsdbgout_after_prologue): Remove
12060         (final_end_function): Update end_epilogue call.
12061         (final_scan_insn): Update end_prologue call.
12062         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12063         (sdbout_end_prologue): Add file arg.
12064         (sdb_debug_hooks): Update end_prologue.
12065         (sdb_begin_prologue): Update sdbout_end_prologue call.
12066         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12067         vmsdbgout_end_function.
12068         (vmsdbgout_end_prologue): New function renamed from
12069         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12070         (vmsdbgout_end_function): New function.
12071         (vmsdbgout_end_epilogue): Add line and file args. Call
12072         vmsdbgout_source_line.
12073         (write_pclines): Write only valid line numbers.
12074         (write_srccorr): Don't write source correlation records if 0 lines.
12075         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12076
12077 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12078
12079         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12080         (_Unwind_Internal_Ptr): 32 bit version for use in
12081         read_encoded_value_with_base.
12082         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12083         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12084         right size.
12085
12086 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12087
12088         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12089         signed/unsigned warnings.
12090
12091         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12092         record_reg_classes): Likewise.
12093
12094         * reload.c (reload_inner_reg_of_subreg, push_reload,
12095         find_reloads_address_1): Likewise.
12096
12097 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12098
12099         * rs6000.c (output_mi_thunk): Return to function section on
12100         TARGET_ELF.
12101
12102         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12103
12104 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12105
12106         * config/s390/s390.c (legitimize_address): Optimize loading
12107         of large displacements.
12108
12109 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12110
12111         * config/alpha/alpha-protos.h: Update.
12112
12113         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12114         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12115         (alpha_linkage_symbol_p): New static function.
12116         (print_operand_address): Print linkage operand.
12117
12118         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12119         variables.
12120         (reloc_kind): New enum.
12121         (struct alpha_funcs): New struct.
12122         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12123
12124         (alpha_need_linkage): Rewrite.
12125         (alpha_use_linkage): New global function.
12126         (alpha_write_linkage): Rewrite and make static.
12127         (alpha_write_one_linkage): Rewrite
12128
12129         (alpha_start_function): Remove procedure descriptor output.
12130         (alpha_end_function): Write linkages at end of each function.
12131
12132         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12133         (call_vms_1, call_value_vms_1): Rewrite.
12134
12135         * config/alpha/vms.h (ASM_FILE_END): Remove.
12136
12137 2002-08-14  Richard Henderson  <rth@redhat.com>
12138
12139         * ggc-page.c (RTL_SIZE): New.
12140         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12141         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12142
12143 2002-08-14  Richard Henderson  <rth@redhat.com>
12144
12145         * calls.c: Include target.h.
12146         * Makefile.in (calls.o): Update.
12147
12148         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12149         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12150
12151 2002-08-14  Richard Henderson  <rth@redhat.com>
12152
12153         * Makefile.in (LOOSE_WARN): Add -fno-common.
12154         * c-common.h (constant_string_class_name): Add missing extern.
12155
12156 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12157
12158         PR preprocessor/7358
12159         * c-opts.c (check_deps_environment_vars): Ignore main file
12160         for SUNPRO_DEPENDENCIES.
12161         * cppfiles.c (stack_include_file): Ignore main file if
12162         appropriate.
12163         * cpplib.h (struct cpp_options): New member in deps.
12164         * doc/cppenv.texi: Update.
12165
12166 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12167
12168         PR preprocessor/7526
12169         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12170
12171 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12172
12173         * doc/invoke.texi (-a): Remove documentation.
12174         (-fprofile-arcs): Remove reference to -a, -ax options.
12175         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12176
12177 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12178
12179         Fix PR/7566
12180         * c-semantics.c (genrtl_case_label): Don't (mis)use
12181         warning_with_decl.
12182
12183 2002-08-14  Dale Johannesen  <dalej@apple.com>
12184
12185         * explow.c (emit_stack_restore):  Emit memory clobbers
12186         preceding the stack pop, to prevent the scheduler from
12187         moving refs to variable arrays below this pop.
12188         * reload1.c (reload):  Preserve these clobbers for sched2.
12189         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12190
12191 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12192
12193         * c-opts.c (c_common_post_options): Correct test.
12194
12195 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12196
12197         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12198         order in call to fprintf.
12199
12200 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12201
12202         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12203
12204 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12205
12206         * reload.c (find_reloads): Handle constraint letters marked by
12207         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12208         (alternative_allows_memconst): Likewise.
12209         * reload1.c (maybe_fix_stack_asms): Likewise.
12210         * recog.c (asm_operand_ok, preprocess_constraints,
12211         constrain_operands): Likewise.
12212         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12213         * local-alloc.c (block_alloc, requires_inout): Likewise.
12214         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12215
12216         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12217         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12218         * doc/tm.texi: Document these two new target macros.
12219
12220         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12221         valid operands.
12222         (q_constraint): New function.
12223         config/s390/s390-protos.h (q_constraint): Declare it.
12224         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12225         (EXTRA_MEMORY_CONSTRAINT): New macro.
12226
12227         * config/s390/s390.md: Throughout the machine description,
12228         replace all instances of the constraint combinations 'Qo'
12229         or 'oQ' with simply 'Q'.
12230
12231 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12232
12233         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12234         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12235         (LIBGCC2_CFLAGS): Compile with -mrelax.
12236
12237 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12238
12239         * doc/invoke.texi: Document -minmax for 68HC12.
12240
12241         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12242         ("uminqi3"): Likewise.
12243         ("uminhi3", "umaxhi3"): Likewise.
12244
12245         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12246         (TARGET_MIN_MAX): Define.
12247         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12248
12249 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12250
12251         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12252         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12253
12254         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12255         (ret, declare, farsym): New gas macros.
12256         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12257         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12258         and declare the symbol far when compiled with -mlong-calls.
12259         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12260         far handler using jsr/bsr.
12261
12262         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12263         (jsr): New macro to transform a 'jsr' into a 'call'.
12264
12265 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12266
12267         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12268
12269         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12270         -mlong-calls is specified.
12271         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12272         assembler directives.
12273         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12274         (TARGET_SWITCHES): Add -mlong-calls options.
12275         (current_function_far): Declare.
12276
12277         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12278         into account the page register saved on the stack.
12279         (m68hc11_override_options): Take into account -mlong-calls option.
12280         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12281
12282         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12283         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12284         ("*return_16bit"): Likewise.
12285         ("*return_void"): Likewise.
12286         ("call", "call_value"): Use call for a far function call.
12287
12288 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12289
12290         * toplev.c (parse_options_and_default_flags): Don't call
12291         post_options here.
12292         (general_init): Initialize GC, pools and tree hash here,
12293         instead of lang_independent_init.
12294         (lang_independent_init): Rename backend_init.
12295         (do_compile): Call post_options hook; exit early if there
12296         have been errors after switch processing.
12297         (toplev_main): Update.
12298
12299 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12300
12301         * c-pretty-print.h: Guard against multiple inclusion.
12302         Robustify macros.
12303         (pp_c_attributes): Declare.
12304         * c-pretty-print.c (pp_c_attributes): New function.
12305
12306 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12307
12308         * m68k.c (m68k_output_function_prologue,
12309         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12310         and NEWS/MOTOROLA.
12311         * genattrtab.c: Remove dpx2 comment.
12312         * libgcc2.c (__enable_execute_stack): Delete versions for
12313         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12314         sony_news/SYSTYPE_BSD.
12315         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12316         __gmicro__, __i860__, __NeXT__ and __pyr__.
12317         * rtl.h: Remove convex comment.
12318         * varasm.c: Likewise.
12319
12320 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12321
12322         * c-opts.c (lang_flags): Const-ify.
12323         * ra-build.c (undef_table): Likewise.
12324         * ra.c (eliminables): Likewise.
12325
12326 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12327
12328         * tree.h: Guard against multiple inclusion.
12329
12330 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12331
12332         * reload1.c (reload_cse_simplify): Before checking
12333         REG_FUNCTION_VALUE_P, check REG_P.
12334
12335 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12336
12337         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12338
12339 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12340
12341         * c-opts.c (c_common_init_options): Extra braces needed.
12342
12343 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12344
12345         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12346         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12347         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12348         (sh_expand_binop_v2sf): Likewise.
12349         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12350         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12351         (sh_initialize_trampoline): Likewise.
12352
12353 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12354
12355         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12356         new condition code modes.
12357         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12358         (s390_select_ccmode): Likewise.
12359         (s390_branch_condition_mask): Likewise.
12360
12361         * s390-protos.h (s390_tm_ccmode): Declare.
12362         s390.c (s390_tm_ccmode): New function.
12363         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12364
12365         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12366         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12367         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12368
12369         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12370         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12371         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12372         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12373         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12374
12375         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12376         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12377         "*cmpqi_ccs_0"): Remove, replace by ...
12378         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12379         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12380         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12381
12382         ("*cmpsidi_ccs"): Remove, replace by ...
12383         ("*cmpsi_ccs_sign"): ... this new pattern.
12384         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12385
12386         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12387         ("*cli"): ... this new pattern.
12388
12389         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12390         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12391         New patterns.
12392         ("adddi3_64"): Rename to "*adddi3_64".
12393         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12394         ("adddi3"): Adapt expander.
12395
12396         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12397         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12398         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12399
12400         ("addhi3", "addqi3"): Remove, replace by ...
12401         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12402
12403         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12404         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12405         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12406         ("subdi3"): New expander.
12407
12408         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12409
12410         ("subhi3", "subqi3"): Remove, replace by ...
12411         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12412
12413         ("*muldi3_sign"): New pattern.
12414         ("muldi3"): Do not clobber CC.
12415         ("mulsi3"): Likewise.
12416         ("mulsi_6432"): Likewise.
12417
12418 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12419
12420         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12421         which can change CC0.
12422
12423 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12424
12425         * gcse.c (adjust_libcall_notes): New function.
12426         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12427
12428 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12429
12430         * libgcc2.c (L_bb): Remove unneeded #includes.
12431         (__global_counters, __gthreads_active): Remove unused globals.
12432         (__bb_exit_func): Merge counts into files rather than appending.
12433         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12434         (ALL_CFLAGS): ... to here.
12435
12436 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12437
12438         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12439         (function_epilogue): Don't calculate function size.
12440         (ip2k_set_compare): Don't use lookup_const_double.
12441         (asm_file_start): Initialization of commands_in_file removed.
12442         (asm_file_end): Output of commands_in_file removed.
12443
12444         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12445         __INT_MAX__.
12446
12447 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12448
12449         * c-opts.c (c_common_init_options): Check option array is
12450         sorted if checking enabled.
12451
12452 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12453
12454         * c-pretty-print.c: #include "c-tree.h".
12455         (pp_c_simple_type_specifier): Tweak.
12456         (pp_c_storage_class_specifier): New.
12457         (pp_c_function_specifier): Likewise.
12458         (pp_c_declaration_specifiers): Likewise.
12459         (pp_c_init_declarator): Likewise.
12460         (pp_c_declaration): Likewise.
12461         (pp_c_direct_declarator): Stub.
12462         (pp_c_declarator): Likewise.
12463         (pp_c_parameter_declaration): Likewise.
12464
12465 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12466
12467         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12468         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12469         struct deferred_opt): New.
12470         (COMMAND_LINE_OPTIONS): Add -M*.
12471         (missing_arg): Update.
12472         (c_common_decode_option): Handle -M*.
12473         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12474         don't call cpp_post_options.
12475         (c_common_finish, check_deps_environment_vars): Update.
12476         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12477         * cpphash.h (CPP_PRINT_DEPS): Remove.
12478         * cppinit.c: Don't include version.h.
12479         (cpp_create_reader): Don't call deps_init.  Initialize
12480         warn_long_long.
12481         (cpp_read_main_file): Init deps if necessary.
12482         (cpp_destroy): Conditionally free deps.
12483         (cpp_finish): Update.
12484         (no_tgt): Remove.
12485         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12486         (cpp_post_options): Rename post_options.
12487         * cpplib.h (struct cpp_options): Remove some dependency options;
12488         move others to a new structure.
12489         (cpp_post_options): Remove.
12490         (cpp_finish): Comment.
12491         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12492
12493 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12494
12495         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12496         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12497         MMIX_rR_REGNUM as clobbered.
12498         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12499
12500 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12501
12502         * diagnostic.h (output_formatted_scalar): Rename from
12503         output_formatted_integer.
12504         * diagnostic.def: Add DK_DEBUG.
12505         * diagnostic.c (output_decimal): Adjust.
12506         (output_long_decimal): Likewise.
12507         (output_unsigned_decimal): Likewise.
12508         (output_octal): Likewise.
12509         (output_long_octal): Likewise.
12510         (output_hexadecimal): Likewise.
12511         (output_long_hexadecimal): Likewise.
12512         * c-pretty-print.c (pp_c_type_specifier): New function.
12513         (pp_c_specifier_qualifier_list): Likewise.
12514         (pp_c_abstract_declarator): Likewise.
12515         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12516
12517 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12518
12519         * doc/trouble.texi (Disappointments): Add static constructor and
12520         destructor dependency information for AIX.
12521
12522 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12523
12524         * cpphash.h (struct printer): New from cppmain.c.
12525         (cpp_reader): New member.
12526         * cppmain.c (struct printer): Move to cpphash.h.
12527         (options, print): Remove.
12528         (account_for_newlines, print_line, maybe_print_line,
12529         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12530         scan_translation_unit_trad, cb_line_change, cb_ident,
12531         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12532         cb_def_pragma): Make reentrant.
12533
12534 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12535
12536         * real.c (ieee_64): Always define.
12537         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12538         (dec_h): Not used yet, hide it.
12539         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12540         macro controlling use.
12541         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12542
12543 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12544
12545         * i386.md (tablejump): Sign extend the operand.
12546         * i386.c (classify_argument): Fix missed case from previous patch.
12547
12548 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12549
12550         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12551         to c-copts.c.
12552         (warn_multichar): Die.
12553         (cb_register_builtins): Export.
12554         * c-common.h (warn_multichar, preprocess_file): Remove.
12555         (cb_register_builtins): New.
12556         * c-lang.c (c_init): Remove.
12557         (LANG_HOOKS_INIT): Use c_objc_common_init.
12558         * c-lex.c (init_c_lex): Don't canonicalize filename.
12559         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12560         (preprocess_file): Make static.  Update for cpplib.
12561         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12562         (c_common_post_options): Set some cpp options here.
12563         (c_common_init): Move from c-common.c.
12564         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12565         * cpplib.h (struct cpp_options): Remove in_fname.
12566         (cpp_preprocess_file): Update.
12567         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12568
12569 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12570
12571         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12572
12573 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12574
12575         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12576         backslash in comment preceeding macro definition.
12577         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12578         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12579         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12580
12581 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12582
12583         * expr.c (store_expr): In condition for checking if value is
12584         generated in TARGET, move call to expr_size last.
12585
12586 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12587
12588         * c-common.c (c_common_init): Call preprocess_file instead.
12589         (c_common_finish): Move to c-opts.c.
12590         * c-common.h (preprocess_file): new.
12591         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12592         check_deps_environment_vars, c_common_finish): New.
12593         (c_common_decode_option): Update for out_fname and dependencies.
12594         * cppinit.c (init_dependency_output, output_deps): Remove.
12595         (cpp_destroy): Update prototype.
12596         (cpp_add_dependency_target): New.
12597         (cpp_read_main_file): Don't overlay a buffer.
12598         (cpp_finish): Take a deps output stream and write deps to it.
12599         Return the error count.
12600         (cpp_post_options): Don't canonicalize out_fname, or do anything
12601         with dependencies.
12602         * cpplib.h (struct cpp_options): Remove out_fname and
12603         preprocess_only.
12604         (cpp_add_dependency_target): New.
12605         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12606         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12607         set preprocess_only.  Don't handle the output stream directly.
12608
12609 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12610
12611         * dsp16xx.c (print_operand): Fix format specifier.
12612         * dsp16xx.md: Avoid automatic aggregate initialization.
12613         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12614         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12615         integer constant modifier.
12616         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12617         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12618         guards.
12619         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12620         * v850.c (v850_select_section): Mark parameter with
12621         ATTRIBUTE_UNUSED.
12622         * global.c (global_alloc): Const-ify.
12623         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12624
12625 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12626
12627         * darwin-c.c (darwin_pragma_options): Const-ify.
12628         * darwin.c (machopic_non_lazy_ptr_name,
12629         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12630         (machopic_indirect_data_reference): Wrap variables in macros
12631         controlling their use.
12632         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12633         (machopic_select_section): Use parentheses around && within ||.
12634         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12635
12636 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12637
12638         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12639         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12640         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12641         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12642         mdr_try_remove_redundant_insns, track_w_reload,
12643         mdr_try_wreg_elim): Make function static to match prototype.
12644         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12645         parameter with ATTRIBUTE_UNUSED.
12646
12647 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12648
12649         * arc.c (arc_init): Don't use ISO C style function definitions.
12650         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12651         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12652         * avr.h (progmem_section): Likewise.
12653         * h8300.c h8300_asm_insn_count): Likewise.
12654         * m32r.c (init_idents): Likewise.
12655         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12656         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12657         * xtensa.c (xtensa_build_va_list): Likewise.
12658
12659 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12660
12661         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12662         * c-opts.c (parse_option): Rename find_opt.
12663         (set_std_c99): New function.
12664         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12665         (missing_arg): Remove OPT_std_bad.  Handle -o.
12666         (c_common_decode_option): Handle input and output file names,
12667         -o and -remap.  Clean up -std= handling.
12668         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12669         (cpp_handle_option): Similarly.  Don't handle filenames.
12670
12671 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12672
12673         * i386.c (classify_argument): Fix computing of field's offsets.
12674
12675 2002-08-11  Andreas Jaeger  <aj@suse.de>
12676
12677         PR target/7531:
12678         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12679
12680 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12681
12682         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12683         reference to clk_objective_c with flag_objc.
12684         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12685         Likewise.
12686         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12687
12688 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12689
12690         * c-opts.c (set_std_cxx98, set_std_c89): New.
12691         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12692         (c_common_decode_option): Handle new switches from cppinit.c.
12693         Add -std=gnu++98.
12694         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12695         (no_arg, no_num): Remove.
12696         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12697         switches apart from -lang-objc and lang-asm.
12698         (cpp_handle_option): Similarly.
12699         * cpplib.h (cpp_set_lang): New.
12700         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12701         -std=gnu++98.
12702         * objc/lang-specs.h: Remove -ansi.
12703
12704 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12705                                Graham Stott
12706
12707         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12708         errors.
12709
12710 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12711
12712         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12713         emit_jump_insn): Fix uninitialized variable.
12714         * gcov.c (init_line_info): Likewise.
12715         * genautomata.c (transform_3): Add braces around ambiguous
12716         else.
12717         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12718         ATTRIBUTE_UNUSED.
12719         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12720         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12721         variable.
12722
12723         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12724         warnings in output files.
12725
12726 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12727
12728         * c-common.c (flag_objc): New.
12729         * c-common.h (c_language_kind): Get rid of clk_objective_c
12730         enum value.
12731         (flag_objc): New extern declaration.
12732         * c-decl.c (implicitly_declare): Call objc_check_decl
12733         instead of maybe_objc_check_decl.
12734         (finish_decl): Likewise.
12735         (grokfield): Likewise.
12736         (finish_struct): Likewise.
12737         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12738         (maybe_objc_comptypes): Rename to objc_comptypes.
12739         (maybe_building_objc_message_expr): Rename to
12740         objc_message_selector.
12741         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12742         replace with flag_objc as needed.
12743         * c-opts.c (c_common_init_options): Likewise.
12744         (c_common_decode_option): Likewise.
12745         * c-parse.in (init_reswords): Likewise.
12746         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12747         (maybe_objc_comptypes): Rename to objc_comptypes.
12748         (maybe_building_objc_message_expr): Rename to
12749         objc_message_selector.
12750         * c-typeck.c (comptypes): Call objc_comptypes instead of
12751         maybe_objc_comptypes, and/or objc_message_selector instead of
12752         maybe_building_objc_message_expr.
12753         (comp_target_types): Likewise.
12754         (convert_for_assignment): Likewise.
12755         (warn_for_assignment): Likewise.
12756         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12757         independently of those for other languages.
12758         * objc/objc-act.c (maybe_objc_comptypes): Delete.
12759         (maybe_objc_check_decl): Delete.
12760         (maybe_building_objc_message_expr): Rename to
12761         objc_message_selector.
12762         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12763         clk_objective_c; set flag_objc flag.
12764
12765 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12766
12767         * ifcvt.c (find_if_case_2): Test correct basic block for size.
12768
12769 2002-08-09  Dale Johannesen  <dalej@apple.com>
12770
12771         * config/rs6000/rs6000.md: Add sibcall patterns.
12772         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
12773         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
12774         Rewritten to handle sibcalls.
12775         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
12776         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
12777
12778 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12779
12780         * profile.c (da_file_name): New static var.
12781         (init_branch_prob): Initialize it.
12782         (end_branch_prob): Remove da file.
12783
12784         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
12785         * configure.in (coverage_flags): Default to nothing.
12786         * configure: Rebuilt.
12787
12788 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
12789
12790         * Makefile.in (c-opts.o): Update
12791         * c-opts.c: Include intl.h.
12792         (print_help): Move from cppinit.c.  Remove unused options.
12793         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12794         (missing_arg): Complain for switches without an argument.
12795         (c_common_decode_option): Reject missing joined arguments.
12796         Handle new switches from cppinit.c.
12797         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12798         (cpp_handle_option): Similarly.
12799         (print_help): Moved to c-opts.c.
12800         * cpplib.h (struct cpp_options): Remove help_only.
12801         * gcc.c (cpp_unique_options): Remove -$.
12802         * doc/cppopts.texi: Undocument -h.
12803
12804 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12805
12806         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
12807         legitimate constant.
12808         (legitimate_pic_operand_p): Neither pic operand.
12809         (legitimate_address_p): But legitimate address.
12810         (get_thread_pointer): Generate MEM/u instead of CONST around
12811         UNSPEC_TP.
12812         (print_operand): Remove printing of UNSPEC_TP.
12813         (print_operand_address): And print it here.
12814
12815 2002-08-08  Devang Patel  <dpatel@apple.com>
12816
12817         * objc/objc-act.c (build_selector_translation_table): Issue warning,
12818         when  -Wselector is used,if method for which selector is being
12819         created does not exist.
12820
12821 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
12822
12823         * config/sh/sh.c (prepare_move_operands): Only call
12824         target_reg_operand if TARGET_SHMEDIA.
12825
12826 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12827
12828         * config/rs6000/rs6000.h, config/rs6000/aix.h,
12829         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
12830         two patches.
12831         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
12832
12833 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
12834             Richard Henderson  <rth@redhat.com>
12835
12836         * emit-rtl.c (gen_rtx_REG): After reload, only return
12837         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
12838
12839 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12840
12841         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
12842         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
12843         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
12844         macro.
12845
12846 2002-08-08  Adam Nemet  <anemet@lnxw.com>
12847
12848         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
12849         register.
12850         (thumb_expand_prologue): Likewise.
12851         (thumb_output_function_prologue): Likewise.
12852         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
12853         the additional push of the PIC register.
12854
12855 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12856
12857         * configure.in (enable_coverage): New enable switch.
12858         * configure: Rebuilt.
12859         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
12860         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
12861         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
12862         (mostlyclean): Remove coverage files.
12863         * doc/install.texi: Document enable_coverage.
12864
12865         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
12866         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12867         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
12868         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
12869         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
12870         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
12871         files.
12872
12873 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
12874
12875         * c-opts.c (cpp_opts): New.
12876         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
12877         (c_common_decode_options): Handle cpplib switches.
12878         (c_common_init_options): Set cpp_opts.
12879         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12880         (cpp_handle_option): Similarly.
12881
12882 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
12883
12884         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
12885         (TARGET_ALTIVEC_ABI): Same.
12886         (TARGET_ALTIVEC_VRSAVE): Same.
12887
12888         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
12889         icode not CODE_FOR_nothing.  Change switch to if.
12890
12891 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
12892
12893         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
12894
12895 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
12896
12897         * stor-layout.c (place_union_field): For bitfields if
12898         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
12899         TYPE_USER_ALIGN.
12900
12901 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12902
12903         * pa.c (struct deferred_plabel): Constify name field.
12904
12905 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
12906
12907         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
12908
12909 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12910
12911         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
12912         local_prefix are the same.
12913         * configure: Rebuilt.
12914
12915 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
12916             Richard Henderson  <rth@redhat.com>
12917
12918         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
12919         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
12920         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
12921         (place_field): Likewise.
12922         * config/i386/i386.c (x86_field_alignment): Don't check
12923         DECL_USER_ALIGN here.
12924         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
12925         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
12926         prototype.
12927         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
12928         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
12929         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
12930         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
12931         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
12932         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
12933
12934 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
12935
12936         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
12937         * c-common.c: Don't include tree-inline.h.
12938         (c_common_init_options, c_common_post_options): Move to c-opts.c.
12939         * c-common.h (c_common_decode_option): New.
12940         * c-decl.c (c_decode_option): Remove.
12941         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
12942         * c-opts.c: New file.
12943         * c-tree.h (c_decode_option): Remove.
12944         * doc/passes.texi: Update.
12945         * objc/objc-act.c (objc_decode_option): Remove.
12946         * objc/objc-act.h (objc_decode_option): Remove.
12947         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
12948         c_common_decode_option.
12949
12950 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
12951
12952         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
12953         dependency on TARGET_DOUBLE_FLOAT.
12954
12955 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
12956
12957         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
12958         overwrite callee-save registers.  Fix comment.
12959
12960 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
12961
12962         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
12963         in target_flags based on ISA, if it was not set on the command
12964         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
12965         support Branch Likely instructions.
12966         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
12967         (TARGET_BRANCHLIKELY): Likewise.
12968         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
12969         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
12970         ISA_HAS_BRANCHLIKELY.
12971         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
12972         * doc/invoke.texi: Document new MIPS -mbranch-likely and
12973         -mno-branch-likely options.
12974
12975 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12976
12977         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
12978
12979         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
12980         $(GCONFIG_H).
12981
12982 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
12983
12984         * c-decl.c (duplicate_decls): Error out for incompatible TLS
12985         declarations.
12986
12987         * testsuite/gcc.dg/tls/diag-3.c: New.
12988
12989 2002-08-06  Dale Johannesen  <dalej@apple.com>
12990
12991         * c-common.c (fname_decl): Use line number 0 for
12992         __func__, to avoid confusing debuggers.
12993
12994 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
12995
12996         * gcov.c: Tidy.
12997         (struct line_info, struct coverage): New structures.
12998         (gcov_file_name, gcov_file): Remove globals.
12999         (output_data): Take source file parameter. Fix memory leak. Break
13000         up into ...
13001         (init_line_info, output_line_info, make_gcov_file_name,
13002         accumulate_branch_counts): ... here.
13003         (calculate_branch_probs, function_summary): Adjust.
13004         (main): Adjust.
13005         (function_*): Remove global variables.
13006
13007 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13008
13009         * dwarf2out.c: Remove unused macros.
13010
13011 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13012
13013         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13014
13015 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13016
13017         * cppinit.c (struct lang_flags): Rename trigraphs std.
13018         (set_lang): Update.
13019         * cpplib.h (struct cpp_options): New member std.
13020         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13021         (collect_args): Flag whether to swallow a possible future
13022         comma pasted with varargs.
13023         (replace_args): Use this flag.
13024         * doc/cpp.texi: Update varargs extension documentation.
13025
13026 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13027
13028         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13029
13030 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13031
13032         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13033         and MODE_CLASS_INT modes.
13034
13035 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13036
13037         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13038         --{enable,disable}-threads is given to configure.
13039         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13040         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13041         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13042         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13043         Remove thread_file setting here.
13044
13045 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13046
13047         * doc/install.texi (Binaries): Update Bull Freeware URL.
13048
13049 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13050
13051         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13052
13053 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13054
13055         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13056
13057 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13058
13059         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13060         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13061
13062 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13063
13064         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13065         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13066         drectve_section): Define.
13067         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13068         * config/i386/interix.c: Remove.
13069
13070 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13071
13072         * attribs.c: Don't include obstack.h.
13073         * builtins.c: Likewise.
13074         * cfganal.c: Likewise.
13075         * cfgbuild.c: Likewise.
13076         * cfgcleanup.c: Likewise.
13077         * emit-rtl.c: Likewise.
13078         * loop.c: Likewise.
13079         * stmt.c: Likewise.
13080
13081         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13082
13083 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13084
13085         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13086
13087 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13088
13089         * doc/invoke.texi: Remove duplicated paragraph describing
13090         TARGET_SWITCHES.
13091
13092 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13093
13094         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13095         * collect2.h (permanent_obstack): Delete declaration.
13096         * collect2.c (permanent_obstack): Delete definition.
13097         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13098         * expr.c: Don't include obstack.h.
13099         (permanent_obstack): Delete declaration.
13100         * function.c: Don't include obstack.h.
13101         (permanent_obstack): Delete declaration.
13102         * integrate.c: Don't include obstack.h.
13103         (function_maybepermanent_obstack): Delete declaration.
13104         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13105         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13106         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13107         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13108         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13109         of permalloc, expralloc, perm_calloc.
13110         * tree.c (permanent_obstack): Delete definition.
13111         (init_ttree): Rename from init_obstacks.
13112         (permalloc): Delete.
13113         (perm_calloc): Delete.
13114         (dump_tree_statistics): Don't print information about
13115         permanent_obstack.
13116         * varasm.c (assemble_start_function): Use xstrdup instead of
13117         permalloc/strcpy.
13118         (assemble_variable): Likewise.
13119         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13120         permalloc.
13121         (unicosmk_add_extern): Likewise.
13122         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13123         (c4x_global_label): Likewise.
13124         * config/frv/frv.c (frv_encode_section_info): Likewise.
13125         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13126         (i386_pe_record_exported_symbol): Likewise.
13127         * config/mips/mips.c (mips_output_external): Likewise.
13128         (mips_output_external_libcall): Likewise.
13129         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13130         (output_call): Use ggc_strdup instead of allocating on
13131         permanent_obstack.
13132         * config/romp/romp.c: Include ggc.h.
13133         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13134         intead of permanent_obstack.
13135         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13136         instead of permalloc.
13137         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13138         instead of permalloc
13139         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13140         instead of permalloc.
13141         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13142         permalloc.
13143
13144 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13145
13146         Contribute a port developed primarily by Michael Meissner,
13147         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13148         * config.gcc: Add frv-elf target.
13149         * config/frv/cmovd.c: New file.
13150         * config/frv/cmovh.c: New file.
13151         * config/frv/cmovw.c: New file.
13152         * config/frv/frv-abi.h: New file.
13153         * config/frv/frv-asm.h: New file.
13154         * config/frv/frv-modes.def: New file.
13155         * config/frv/frv-protos.h: New file.
13156         * config/frv/frv.c: New file.
13157         * config/frv/frv.h: New file.
13158         * config/frv/frv.md: New file.
13159         * config/frv/frvbegin.c: New file.
13160         * config/frv/frvend.c: New file.
13161         * config/frv/lib1funcs.asm: New file.
13162         * config/frv/media.h: New file.
13163         * config/frv/modi.c: New file.
13164         * config/frv/t-frv: New file.
13165         * config/frv/uitod.c: New file.
13166         * config/frv/uitof.c: New file.
13167         * config/frv/ulltod.c: New file.
13168         * config/frv/ulltof.c: New file.
13169         * config/frv/umodi.c: New file.
13170         * config/frv/xm-frv.h: New file.
13171
13172         * config/frv/media.h: Removed again.
13173
13174 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13175
13176         * gcov.c (bb_file_time): New static variable.
13177         (object_directory): May also be object file.
13178         (preserve_paths): New static variable.
13179         (print_usage): Adjust.
13180         (options): Adjust.
13181         (process_args): Adjust.
13182         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13183         file. Find modification date on bb file.
13184         (read_profile): Don't rewind a NULL file.
13185         (format_hwint): New static function.
13186         (function_summary): Use format_hwint.
13187         (output_data): SOURCE_FILE_NAME is never relative to
13188         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13189         mangling. Adjust output format to make it more machine readable.
13190         * doc/gcov.texi: Document & clarify semantics.
13191
13192 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13193
13194         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13195
13196 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13197
13198         * gcc.c (cc1_options): Pass output file as auxbase when
13199         appropriate.
13200         * profile.c (init_branch_prob): FILENAME has already had ending
13201         stripped.
13202         * final.c (end_final): Likewise.
13203         * toplev.c (aux_base_name): New global.
13204         (compile_file): Pass aux_base_name to init init_branch_prob and
13205         end_final.
13206         (independent_decode_option, case 'a'): New auxinfo options.
13207         (case 'd'): Protect against mising basename.
13208         (do_compile): Initialize aux_base_name.
13209         * toplev.h (aux_base_name): New global.
13210         * doc/invoke.texi: Adjust documentation.
13211
13212 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13213
13214         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13215         of TARGET_ALIGN_DOUBLE.
13216
13217 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13218
13219         * diagnostic.c (inform): New function.
13220         * diagnostic.h (inform): Declare.
13221
13222 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13223
13224         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13225         (movhi_internal): Same.
13226         (movqi_internal): Same.
13227         (movdi_internal64): Same.
13228
13229         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13230
13231         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13232         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13233         (COMMON_ASM_OP): Define.
13234         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13235         Use ALIGN parameter.
13236         (LOCAL_COMMON_ASM_OP): Define.
13237         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13238
13239 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13240
13241         * builtins.def: Define new builtin functions exp, expf, expl,
13242         log, logf and logl (and their __builtin_* variants).
13243         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13244         Define exp_optab and log_optab.
13245         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13246         * genopinit.c (optabs): Implement exp_optab and log_optab
13247         using exp?f2 and log?f2 patterns.
13248         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13249         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13250         (expand_builtin): Ignore the new builtins (and all cos and
13251         sin variants) when not optimizing.  Expand new builtins via
13252         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13253
13254         * doc/extend.texi: Document new exp and log builtins.
13255         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13256         (and previously undocumented cos?f2 and sin?f2 patterns).
13257
13258 2002-08-03  Jason Merrill  <jason@redhat.com>
13259
13260         * explow.c (int_expr_size): New fn.
13261         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13262         * expr.h: Declare it.
13263
13264 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13265
13266         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13267         gengtype-* dependencies.
13268
13269 2002-08-02  Eric Christopher  <echristo@redhat.com>
13270
13271         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13272         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13273         #ifndef to #undef.
13274         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13275
13276 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13277
13278         PR optimize/7067
13279         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13280         small if optimizing for size.
13281
13282 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13283
13284         * configure.in (FORBUILD): Use $build_alias.
13285         * configure: Regenerated.
13286
13287 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13288
13289         * config.gcc: Don't include mips/abi64.h in $tm_file.
13290         * hard-reg-set.h (call_really_used_regs): Declare.
13291         * config/mips/abi64.h: Remove file.
13292         * config/mips/linux.h,
13293         * config/mips/iris6.h: Don't include it.
13294         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13295         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13296         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13297         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13298         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13299         Bring across definitions from abi64.h.
13300         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13301         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13302         (struct mips_args): Use it.
13303         * config/mips/mips.c (mips_conditional_register_usage): Define.
13304
13305 2002-08-02  Jason Merrill  <jason@redhat.com>
13306
13307         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13308         * langhooks.c (lhd_expr_size): Define default.
13309         * langhooks.h (struct lang_hooks): Add expr_size.
13310         * explow.c (expr_size): Call it.
13311         * expr.c (store_expr): Don't copy an expression of size zero.
13312         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13313         to store.
13314         * Makefile.in (builtins.o): Depend on langhooks.h.
13315
13316 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13317
13318         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13319         * ra-debug.c: Include "tm_p.h".
13320         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13321
13322 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13323
13324         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13325         when not honoring signalling NaNs.
13326         (simplify_ternary_operation): a == b has a definite value
13327         when not honoring NaNs.
13328
13329 2002-08-02  Jason Merrill  <jason@redhat.com>
13330
13331         * gdbinit.in (pct): New macro.
13332
13333 2002-08-01  Stan Shebs  <shebs@apple.com>
13334             Andreas Tobler  <toa@pop.agri.ch>
13335
13336         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13337         plays nice with Darwin headers.
13338         (_BSD_RUNE_T_DEFINED_): Likewise.
13339
13340 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13341
13342         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13343         * cppinit.c (cpp_post_options): Likewise.
13344
13345         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13346         warning about 'LL' suffix (but not 'ULL' etc) when
13347         -Wno-long-long is in effect.
13348
13349         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13350         Check for failing time()/localtime(), issue a warning, and
13351         make __TIME__ and __DATE__ expand to fallback strings.
13352
13353         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13354         and __TIME__ when the date and time cannot be determined.
13355
13356 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13357
13358         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13359
13360 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13361
13362         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13363
13364 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13365
13366         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13367         (mipsisa64sb1el-*-elf*): Likewise.
13368         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13369         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13370         (TARGET_SB1, TUNE_SB1): New macros.
13371         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13372         -mtune flags.
13373
13374 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13375
13376         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13377         and ASM_EMIT_BSS not supported by target.
13378         (assemble_variable): Do not duplicate uninitialized logic.
13379         Fall through if asm_emit_uninitialized failed.
13380
13381 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13382
13383         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13384
13385 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13386
13387         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13388         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13389
13390         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13391         HOST_BITS_PER_WIDE_INT == 64.
13392
13393 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13394
13395         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13396         * optabs.c (expand_binop): Make variable unsigned.
13397         * simplify-rtx.c (simplify_subreg): Likewise.
13398         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13399
13400 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13401
13402         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13403
13404 2002-08-01  Richard Henderson  <rth@redhat.com>
13405
13406         * toplev.c (parse_options_and_default_flags): Don't set
13407         flag_reorder_blocks for -Os.
13408
13409         * config/avr/avr.c (avr_optimization_options): Remove.
13410         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13411         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13412         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13413
13414 2002-08-01  H.J. Lu <hjl@gnu.org>
13415             Richard Henderson  <rth@redhat.com>
13416
13417         * output.h (DECL_READONLY_SECTION): Remove.
13418         (decl_readonly_section): Declare.
13419         * varasm.c (decl_readonly_section): New.
13420         (default_section_type_flags, default_select_section): Use it.
13421         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13422         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13423         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13424         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13425         * config/mips/mips.c (mips_unique_section): Likewise.
13426
13427 2002-08-01  Richard Henderson  <rth@redhat.com>
13428
13429         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13430         refers to a subroutine parameter.
13431
13432 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13433
13434         * varasm.c (assemble_visibility): Strip name encoding.
13435
13436 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13437
13438         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13439         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13440         when there is no frame pointer.
13441         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13442         registers properly.
13443         * config/ns32k/__unorddf2.c: New file.
13444         * config/ns32k/__unordsf2.c: New file.
13445         * config/ns32k/t-ns32k: New file.
13446         * config.gcc (ns32k-*-netbsd*): Use it.
13447
13448 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13449
13450         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13451
13452 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13453
13454         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13455
13456 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13457
13458         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13459
13460 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13461
13462         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13463
13464 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13465
13466         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13467         n_sets): Removed.
13468         (expr_hash_table, set_hash_table): Type changed to ...
13469         (struct hash_table): New type.
13470         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13471         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13472         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13473         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13474         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13475         (alloc_hash_table): New.
13476         (free_set_hash_table, free_expr_hash_table): Merged to ...
13477         (free_hash_table): New.
13478         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13479         (compute_hash_table_work): New.
13480         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13481         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13482         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13483         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13484         hoist_code, one_code_hoisting_pass,
13485         trim_ld_motion_mems): Altered due to changed type of hash tables.
13486
13487 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13488
13489         * final.c (output_alternate_entry_point):
13490         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13491
13492 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13493
13494         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13495         avoid ISO C style function definition.
13496
13497         * expr.c (expand_assignment): Delete unused variable.
13498
13499 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13500
13501         * c-common.c (cb_register_builtins): Set
13502         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13503         is given, and to 0 otherwise.
13504         * combine.c (simplify_if_then_else): HONOR_NANS
13505         implies FLOAT_MODE_P.
13506
13507 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13508
13509         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13510         (cpp_handle_option): Don't handle it.
13511         (print_help): Update.
13512         * doc/cppopts.texi: Update.
13513
13514 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13515
13516         * c-common.c (cb_register_builtins): If C++, define
13517         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13518         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13519 cp:
13520         * lang-specs.h: Simplify in accordance with new code in
13521         c-common.c.
13522
13523 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13524
13525         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13526         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13527         * c-decl.c: Move all warning and flag variables to c-common.c.
13528         * c-format.c: Move all warning variables to c-common.c.
13529         * c-tree.h: Move all warning and flag declarations to c-common.h.
13530         * objc/objc-act.c: Move all warning variables to c-common.c.
13531         (flag_warn_protocol): Rename warn_protocol.
13532
13533 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13534
13535         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13536
13537 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13538
13539         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13540         .section prefix.
13541
13542 2002-07-31  Stan Shebs  <shebs@apple.com>
13543
13544         * config.gcc (i[34567]86-*-darwin*): New configuration.
13545         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13546         defining.
13547         (TARGET_ENCODE_SECTION_INFO): Ditto.
13548         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13549         * config/darwin.c (machopic_indirect_data_reference): Remove
13550         setting of RTX_UNCHANGING_P.
13551         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13552         not to be applied to sums.
13553         * config/i386/t-darwin: New file.
13554         * config/i386/darwin.h: New file.
13555         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13556         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13557         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13558         label and not the GOT add.
13559         (constant_address_p): For Mach-O, seeing a CONST is enough.
13560         (legitimate_pic_address_disp_p): Add a Mach-O case.
13561         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13562         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13563         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13564         if outputting a difference.
13565         (ix86_output_addr_diff_elt): Add Mach-O case.
13566         (ix86_expand_move): Similarly.
13567         (ix86_expand_call): Similarly.
13568         (current_machopic_label_num): New global.
13569         (machopic_output_stub): New function.
13570         (ix86_value_regno): New function.
13571         (ix86_function_value): Use it instead of VALUE_REGNO.
13572         (ix86_libcall_value): Ditto.
13573         * config/i386/unix.h (VALUE_REGNO): Remove.
13574
13575 2002-07-31  Graham Stott  <grahas@btinternet.com>
13576
13577         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13578         hash for LABEL_REF's.
13579
13580 2002-07-31  Graham Stott  <grahams@btinternet.com>
13581
13582         * config/rs6000/rs6000.c (spe_init_builtins,
13583         altivec_init_builtins, rs6000_common_init_builtins):
13584         Replace ANSI with K&R function def.
13585
13586 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13587
13588         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13589         for CCFPmode.
13590
13591 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13592
13593         * config/mips/crtn.asm: Don't use __mips16 to determine the
13594         return-address offset.  Define RA to a suitable temporary
13595         register for the return address.
13596
13597 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13598
13599         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13600         constraints to 'd'.
13601
13602 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13603
13604         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13605         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13606         patch on 2002-07-29.)
13607         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13608
13609 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13610
13611         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13612         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13613         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13614         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13615         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13616         (ASM_GLOBALIZE_LABEL): Delete.
13617         (GLOBAL_ASM_OP): Define.
13618
13619         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13620
13621         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13622         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13623
13624 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13625
13626         * doc/extend.texi (Hints implementation): Document that GCC
13627         mostly ignores `register'.
13628
13629 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13630
13631         * flags.h: Declare flag_finite_math_only.
13632         Use it in definition of HONOR_NANS and
13633         HONOR_INFINITIES.
13634         * c-common.c (cb_register_builtins): Emit
13635         __FINITE_MATH_ONLY__ when flag_finite_math_only
13636         is set.
13637         * combine.c (simplify_if_then_else): If
13638         flag_finite_math_only is set, a == b has a
13639         definite value.
13640         * toplev.c: Initialize flag_finite_math_only.
13641         (set_flags_fast_math): Set it on -ffast-math.
13642         (flag_fast_math_set_p): Test it.
13643         * doc/invoke.texi: Document -ffinite-math-only.
13644
13645 2002-07-30  Richard Henderson  <rth@redhat.com>
13646
13647         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13648         (noce_process_if_block): Likewise.
13649
13650 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13651
13652         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13653         Bail out early if false_expr is NULL and we'd crash due to this.
13654         * genemit.c (gen_expand): Recognize return insns even if the return
13655         appears in a parallel.
13656         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13657         * config/fp-bit.c: Likewise.
13658         * doc/tm.texi: Document it.
13659
13660 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13661             Zack Weinberg  <zack@codesourcery.com>
13662
13663         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13664         CODE_FOR_nothing.  Change switch to if.
13665         (rs6000_expand_binop_builtin): Same.
13666         (rs6000_expand_builtin): Expand builtin if target support enabled.
13667         (rs6000_init_builtins): Init builtin if target support enabled.
13668         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13669
13670 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13671
13672         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13673
13674 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13675
13676         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13677
13678 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13679
13680         * sh.md (cond_delay_slot): New attribute.
13681         (cbranch delay): Use it for anulled-true case.
13682         (stuff_delay_slot): New pattern.
13683         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13684         delay slot insn.
13685         (gen_far_branch): Emit stuff_delay_slot pattern.
13686
13687 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13688
13689         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13690
13691 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13692
13693         * fold-const.c: Fix comment typos.
13694         * gcse.c: Likewise.
13695         * reload1.c: Likewise.
13696
13697 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13698
13699         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13700         for TARGET_SPE.
13701
13702 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13703
13704         * c-pretty-print.h (pp_c_statement): Declare.
13705         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13706         (pp_c_statement): Define.
13707
13708 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13709
13710         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13711         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13712         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13713         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13714         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13715         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13716
13717         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13718         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13719
13720 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13721
13722         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13723         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13724         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13725         (pp_c_expression): Update.
13726
13727 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13728
13729         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13730         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13731         * alpha/vms-ld.c (main): Likewise.
13732         * dsp16xx.c (double_reg_to_memory): Likewise.
13733         * mcore.c (mcore_expand_prolog): Likewise.
13734         * cppfiles.c (read_name_map): Likewise.
13735         * gensupport.c (process_rtx, identify_predicable_attribute,
13736         alter_test_for_insn): Likewise.
13737         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13738
13739 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13740
13741         * builtins.c (expand_builtin):  Change the default behavior to
13742         only issue an error if the builtin function doesn't have a
13743         fallback library call.  Remove several cases handled by the
13744         new default.
13745
13746 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13747
13748         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13749         floating point format of the target is IEEE.
13750         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13751         format of the target is DEC.
13752
13753 2002-07-29  Richard Henderson  <rth@redhat.com>
13754
13755         * unroll.c (verify_addresses): Remove.
13756         (find_splittable_givs): Never split DEST_ADDR givs.
13757
13758 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
13759
13760         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13761         is exhaustive.
13762         (Files): Improve documentation on generated source files.
13763
13764         * doc/extend.texi (Translation implementation): Document what
13765         diagnostics look like.
13766         (Identifiers implementation): Document that there's normally no
13767         limit on identifier names.
13768         (Integers implementation): Document two's complement.
13769         (Hints implementation): Document that GCC honors 'inline', mostly.
13770         (Preprocessing directives implementation): Document that GCC
13771         requires the current time.
13772
13773 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13774
13775         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
13776         (pp_initializer): New macro.
13777         (pp_c_initializer): Declare.
13778         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
13779         (pp_c_initializer): Define.
13780         (pp_c_initializer_list): New function.
13781         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
13782         VECTOR_CST, CONSTRUCTOR.
13783         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
13784         IMAGPART_EXPR.
13785         (pp_c_cast_expression): Handle FLOAT_EXPR.
13786         (pp_c_assignment_expression): Handle INIT_EXPR.
13787         (pp_c_expression): Update.
13788
13789 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
13790
13791         * objc/objc-act.c (objc_init): Return immediately if filename
13792         is NULL.
13793
13794 2002-07-29  Eric Christopher  <echristo@redhat.com>
13795
13796         * config/mips/elf.h: Remove ecoff.h and gofast includes.
13797         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
13798         (SDB_DEBUGGING_INFO): Undefine.
13799         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
13800         (PUT_SDB_SIZE): Remove.
13801         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
13802         (STARTFILE_SPEC): Add isa3264 define.
13803         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
13804         * config/mips/ecoff.h: Remove. and here...
13805         * config/mips/iris3.h: and here...
13806         * config/mips/sni-svr4.h: and here...
13807         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
13808         Add assembler -mmdebug options for non-dwarf debugging.
13809         * config/mips/r3900.h: Remove debug info defines.
13810         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
13811         * config/mips/isa3264.h: Ditto.
13812         * config/mips/t-isa3264: Fix up for file removal and gofast configure
13813         change.
13814         * config/mips/t-elf: Ditto.
13815         * config/mips/t-ecoff: Ditto.
13816         * config/mips/t-r3900: Ditto.
13817         * config/mips/t-iris5-6: Ditto.
13818         * config/mips/t-isa3264: Ditto.
13819         * config/mips/t-linux: Remove.
13820         * config/mips/t-netbsd: Remove.
13821         * config/mips/t-mips: New file.
13822         * config/mips/t-gofast: Ditto.
13823         * config/mips/netbsd.h: Remove unnecessary undefines.
13824         * config/mips/linux.h: Remove #include of mips.h.
13825         * config.gcc: Add mips.h include for elf targets. Remove tm_file
13826         for ecoff. Add gofast configure option for mips.
13827
13828 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
13829
13830         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
13831         linker scripts use STARTUP directives consistently.
13832         * configure: Regenerate.
13833         * config.in: Regenerate.
13834         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
13835         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
13836         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13837         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
13838         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
13839         will be the same.
13840
13841 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13842
13843         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
13844
13845 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13846
13847         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
13848
13849 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
13850
13851         * config/rs6000/rs6000.md: Move altivec patterns from here...
13852
13853         * config/rs6000/altivec.md: ...to here.
13854
13855 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13856
13857         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
13858
13859 2002-07-29  Richard Henderson  <rth@redhat.com>
13860
13861         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
13862         set_mem_attributes and add BITPOS argument.  Subtract it from
13863         OFFSET when same is adjusted.
13864         (set_mem_attributes): New wrapper function.
13865         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
13866         remove offset adjustment hack.
13867         * expr.h (set_mem_attributes_minus_bitpos): Declare.
13868
13869 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
13870
13871         * Makefile.in (C_OBJS): Include c-pretty-print.o
13872         (c-pretty-print.o): Add depency rule.
13873         * pretty-print.h: Add more macros.
13874         * c-pretty-print.c: New file.
13875         * c-pretty-print.h: Likewise.
13876
13877 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13878
13879         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
13880         constants to __ev64_s32__.
13881         (__internal_ev_mwhgsmian): Same.
13882         (__internal_ev_mwhgsmfan): Same.
13883         (__internal_ev_mwhgssfan): Same.
13884         (__internal_ev_mwhgumiaa): Same.
13885         (__internal_ev_mwhgsmiaa): Same.
13886         (__internal_ev_mwhgsmfaa): Same.
13887         (__internal_ev_mwhgssfaa): Same.
13888
13889 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
13890
13891         * varasm.c (assemble_variable): Narrow test for uninitialized
13892         without BSS target support.
13893
13894 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
13895
13896         * profile.c: Add file comment describing the overall algorithm and
13897         structures.
13898         (struct edge_info): Add comments.
13899         (struct bb_info): Add comments.
13900         * basic-block.h (EDGE_*): Add comments.
13901         * doc/gcov.texi (Gcov Data Files): Document bit flags.
13902
13903 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
13904
13905         * config/xtensa/elf.h, config/xtensa/linux.h
13906         (TARGET_OS_CPP_BUILTINS): Define.
13907         (CPP_PREDEFINES): Remove.
13908         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
13909         (CPP_SPEC): Remove.
13910
13911 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
13912
13913         * gensupport.c: Include hashtab.h.
13914         (insn_elision, condition_table, hash_c_test, cmp_c_test,
13915         maybe_eval_c_test): New routines and data structures to
13916         support insn elision.
13917         (init_md_reader): Read and initialize the condition_table.
13918         (read_md_rtx): Discard insn patterns whose C test is provably
13919         always false.
13920         * gensupport.h: Declare new functions and data structures.
13921
13922         * genconditions.c, dummy-conditions.c: New files.
13923         * Makefile.in: Build genconditions; run it to construct
13924         insn-conditions.c; build that and link it into most gen*
13925         programs.
13926         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
13927         (GEN): Delete, unused.
13928         (STAGESTUFF): Update.
13929
13930         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
13931         CODE_FOR_nothing for all elided patterns.
13932         (main): Tweaked to support this.
13933         * genflags.c (gen_proto): Emit a static inline generator
13934         function here for all elided patterns, which simply returns
13935         NULL_RTX.
13936         (gen_insn): Do not define HAVE_xxx for elided patterns.
13937         (main): Tweaked to support this.  No need to forward-declare
13938         struct rtx_def.
13939         * genrecog.c: Do not bother emitting the C test if it's known
13940         to be true at compile time.
13941
13942 2002-07-29  Mike Stump  <mrs@apple.com>
13943
13944         * config.gcc (target_gtfiles): Initialize, as otherwise cross
13945         compilers hosted on powerpc-apple-darwin6.0 won't even build.
13946
13947 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
13948
13949         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
13950         remove clobber of LR.
13951         (sibcall_insn, sibcall_value_insn): Update accordingly.
13952         (sibcall_epilogue): Remove debugging comment from assembler stream.
13953
13954 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
13955
13956         * pretty-print.h: Define more macros.
13957         * diagnostic.h (output_formatted_integer): Moved from...
13958         * diagnostic.c: ... here.
13959
13960 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13961
13962         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
13963
13964 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
13965
13966         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
13967         arguments.  Always use ".-symbol" as expression argument.
13968         * doc/tm.texi: Update to match.  Document requirement for
13969         ".size symbol, .-symbol" to be acceptable to assembler.
13970
13971         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
13972         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
13973         config/i386/freebsd-aout.h, config/i386/sco5.h,
13974         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
13975         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
13976
13977 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13978
13979         * Makefile.in (gengtype-lex.c): Fix error in last change.
13980
13981         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
13982         backslash.
13983
13984         * Makefile.in (vmsdbgout.o): Depend on function.h.
13985
13986         * vmsdbgout.c: Include function.h.
13987
13988 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
13989
13990         * prefix.c (update_path): Don't strip single `.' path components
13991         unless stripping a later `..' component.  Exit loop as soon as
13992         a valid path is found.
13993
13994 2002-07-27  Roger Sayle  <roger@eyesopen.com>
13995
13996         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
13997         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
13998         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
13999         floating point unordered comparisons (e.g. __builtin_isgreater)
14000         as const, and leave the remaining GCC_BUILTINs unchanged.
14001
14002         * c-decl.c (builtin_function): No need to explicitly mark
14003         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14004
14005 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14006
14007         * Makefile.in: rtlanal.o now depends upon real.h.
14008
14009         * flags.h [flag_signaling_nans]: New flag.
14010         [HONOR_SNANS]: New macro.
14011
14012         * toplev.c [flag_signaling_nans]: Initialize to false.
14013         (f_options): Add processing for "-fsignaling-nans".
14014         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14015         (process_options): flag_signaling_nans implies flag_trapping_math.
14016
14017         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14018         when -fsignaling-nans.  First step to implementing WG14's N965.
14019
14020         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14021         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14022         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14023
14024         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14025         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14026
14027         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14028         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14029         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14030         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14031         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14032
14033         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14034
14035 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14036
14037         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14038         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14039         (YY_DECL): Define.
14040
14041 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14042
14043         * doc/invoke.texi: Document that both -fno-builtin-foo and
14044         -fno-builtin are supported by the g++ front-end.
14045
14046 2002-07-27  Stan Shebs  <shebs@apple.com>
14047
14048         * configure.in: Rename config_gtfiles to target_gtfiles.
14049         * configure: Regenerate.
14050         * doc/gty.texi: Update reference.
14051         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14052         instead of appending to it.
14053
14054 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14055
14056         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14057         vectors are split into two registers.
14058         (function_arg): Same.
14059
14060 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14061
14062         * pa.md (extv): Check predicates before emitting extv_32.
14063
14064 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14065
14066         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14067         (rs6000_traceback): New var.
14068         (rs6000_override_options): Set rs6000_traceback.
14069         (rs6000_output_function_epilogue): Implement traceback options.
14070         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14071         (rs6000_traceback_name): Declare.
14072
14073         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14074         label reference when NO_PROFILE_COUNTERS.
14075
14076 2002-07-26  Jason Merrill  <jason@redhat.com>
14077
14078         * function.c (assign_parms): Handle frontend-directed pass by
14079         invisible reference.
14080
14081 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14082
14083         * doc/cppopts.texi: Update.
14084
14085 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14086
14087         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14088         warnings on assertions.
14089
14090 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14091
14092         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14093         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14094         RID_COMPL): Remove.
14095         * c-parse.in (rid_to_yy): Similarly.
14096
14097 2002-07-26  Jason Merrill  <jason@redhat.com>
14098
14099         * c-dump.c: Resurrect.
14100         * tree-dump.c: Move C-specific stuff to c-dump.c.
14101         * c-common.h: Declare c_dump_tree.
14102         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14103         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14104         (c-dump.o): New rule.
14105
14106 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14107
14108         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14109         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14110         predicate will do.  Formatting fixes.
14111         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14112         as for extzvsi_internal1.
14113
14114 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14115
14116         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14117         DERIV_END_LABEL_FMT): Remove.
14118         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14119
14120 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14121
14122         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14123         Remove.
14124
14125 2002-07-25  Stan Shebs  <shebs@apple.com>
14126
14127         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14128         local var dwarfp.
14129         (output_compiler_stub): Remove unused locals.
14130         (output_call): Always initialize line number.
14131
14132 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14133
14134         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14135         * sh.md (truncdiqi2, movqi_media): Likewise.
14136
14137 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14138
14139         * gcse.c (obstack_chunk_alloc): Remove.
14140         (gcse_alloc): Fix to count allocated bytes.
14141         * collect2.c (SYMBOL__MAIN): Remove.
14142
14143 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14144
14145         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14146         HAVE_TARGET_EXECUTABLE_SUFFIX.
14147
14148 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14149
14150         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14151         SIZE, EXPR and OFFSET.
14152
14153 2002-07-25  Richard Henderson  <rth@redhat.com>
14154
14155         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14156         in ARRAY_REF of DECL_P case.
14157
14158 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14159
14160         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14161         description.  Document -mips32, -mips64, and the associated -march
14162         values.  Describe the "mipsN" arguments to -march.  Say that the
14163         -mipsN options are equivalent to -march.  Reword the description
14164         of default type sizes.
14165         * toplev.h (target_flags_explicit): Declare.
14166         * toplev.c (target_flags_explicit): New var.
14167         (set_target_switch): Update target_flags_explicit.
14168         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14169         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14170         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14171         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14172         * config/mips/mips.h (mips_cpu_info): New struct.
14173         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14174         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14175         (MIPS_CPP_SET_PROCESSOR): New macro.
14176         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14177         Define _MIPS_ARCH and _MIPS_TUNE.
14178         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14179         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14180         MIPS_ISA_DEFAULT were already defined.
14181         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14182         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14183         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14184         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14185         (ABI_GAS_ASM_SPEC): Remove.
14186         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14187         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14188         Invoke %(asm_abi_default_spec) if no ABI was specified.
14189         (CC1_SPEC): Remove ISA -> register-size rules.
14190         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14191         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14192         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14193         (mips_cpu_info_table): New array.
14194         (mips_set_architecture, mips_set_tune): New fns.
14195         (override_options): Rework to make -mipsN equivalent to -march.
14196         Detect more erroneous cases, including those removed from CC1_SPEC.
14197         Don't change the ABI based on architecture, or vice versa.
14198         Unify logic with GAS.
14199         (mips_asm_file_start): Get architecture name from mips_arch_info.
14200         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14201         (mips_parse_cpu): Take the name of the option as argument.  Handle
14202         'from-abi'.  Raise an error if the option is wrong.
14203         (mips_cpu_info_from_isa): New fn.
14204
14205 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14206
14207         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14208         (tablejump_mips162): Likewise.
14209
14210 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14211
14212         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14213         int_mode_for_mode.
14214
14215 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14216
14217         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14218         complaining.
14219         * c-common.h (c_sizeof): Adjust definition.
14220         (c_alignof): Likewise.
14221         * c-tree.h (c_sizeof_nowarn): Now macro.
14222         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14223
14224 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14225
14226         * c-decl.c (c_decode_option): No need to handle switches
14227         cpplib handles.
14228
14229 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14230
14231         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14232         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14233         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14234         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14235
14236         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14237         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14238         config/cris/aout.h, config/i386/freebsd-aout.h,
14239         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14240         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14241         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14242         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14243         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14244         config/xtensa/elf.h, config/xtensa/linux.h:
14245         Use the new macros.
14246         Where possible, remove redundant definitions of SIZE_ASM_OP,
14247         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14248
14249 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14250
14251         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14252         TARGET_ISEL, and TARGET_FPRS.
14253
14254         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14255         -mabi=spe, -mabi=no-spe, and -misel=.
14256
14257         * config/rs6000/rs6000-protos.h: Add output_isel.
14258         Move vrsave_operation prototype here.
14259
14260         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14261         (smaxsi3): Same.
14262         (uminsi3): Same.
14263         (umaxsi3): Same.
14264         (abssi2_nopower): Disallow when TARGET_ISEL.
14265         (*ne0): Same.
14266         (negsf2): Change to expand and rename old pattern to *negsf2.
14267         (abssf2): Change to expand and rename old pattern to *abssf2.
14268
14269         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14270         fixunssfsi2.
14271
14272         Change patterns that check for TARGET_HARD_FLOAT or
14273         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14274
14275         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14276         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14277         (rs6000_override_options): Add 8540 case to
14278         processor_target_table.
14279         Set rs6000_isel for the 8540.
14280         Call rs6000_parse_isel_option.
14281         (enable_mask_for_builtins): New.
14282         (rs6000_parse_isel_option): New.
14283         (rs6000_parse_abi_options): Add spe and no-spe.
14284         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14285         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14286         for TARGET_HARD_FLOAT.
14287         Add case for SPE_VECTOR_MODE.
14288         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14289         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14290         vector modes.
14291         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14292         (rs6000_emit_move): Check for TARGET_FPRS.
14293         Add cases for SPE vector modes.
14294         (function_arg_boundary): Return 64 for SPE vector modes.
14295         (function_arg_advance): Check for TARGET_FPRS and
14296         Handle SPE vectors.
14297         (function_arg): Same.
14298         (setup_incoming_varargs): Check for TARGET_FPRS.
14299         (rs6000_va_arg): Same.
14300         (struct builtin_description): Un-constify mask field.  Move up in
14301         file.
14302         (bdesc_2arg): Un-constify and add SPE builtins.
14303         (bdesc_1arg): Same.
14304         (bdesc_spe_predicates): New.
14305         (bdesc_spe_evsel): New.
14306         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14307         (rs6000_expand_binop_builtin): Same.
14308         (bdesc_2arg_spe): New.
14309         (spe_expand_builtin): New.
14310         (spe_expand_predicate_builtin): New.
14311         (spe_expand_evsel_builtin): New.
14312         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14313         (rs6000_init_builtins): Initialize SPE builtins.  Call
14314         rs6000_common_init_builtins.
14315         (altivec_init_builtins): Move all non-altivec builtin code to...
14316         (rs6000_common_init_builtins): ...here.  New function.
14317         (branch_positive_comparison_operator): Allow NE code for SPE.
14318         (ccr_bit): Return correct ccr bit for SPE fp.
14319         (print_operand): Emit crnor in 'D' case for SPE.
14320         New case 't'.
14321         Add SPE code for 'y' case.
14322         (rs6000_generate_compare): Generate rtl for SPE fp.
14323         (output_cbranch): Handle SPE hard floats.
14324         (rs6000_emit_cmove): Handle isel.
14325         (rs6000_emit_int_cmove): New.
14326         (output_isel): New.
14327         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14328         64-bits for SPE.
14329         (debug_stack_info): Add SPE info.
14330         (gen_frame_mem_offset): New.
14331         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14332         Change mode of frame pointer, when saving it, to Pmode.
14333         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14334         Misc cleanups and use gen_frame_mem_offset when appropriate.
14335
14336         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14337         (TARGET_SPE_ABI): New.
14338         (TARGET_SPE): New.
14339         (TARGET_ISEL): New.
14340         (TARGET_FPRS): New.
14341         (FIXED_SCRATCH): New.
14342         (RTX_COSTS): Add PROCESSOR_PPC8540.
14343         (ASM_CPU_SPEC): Add case for 8540.
14344         (TARGET_OPTIONS): Add isel= case.
14345         (rs6000_spe_abi): New.
14346         (rs6000_isel): New.
14347         (rs6000_fprs): New.
14348         (rs6000_isel_string): New.
14349         (UNITS_PER_SPE_WORD): New.
14350         (LOCAL_ALIGNMENT): Adjust for SPE.
14351         (HARD_REGNO_MODE_OK): Same.
14352         (DATA_ALIGNMENT): Same.
14353         (MEMBER_TYPE_FORCES_BLK): New.
14354         (FIRST_PSEUDO_REGISTER): Set to 113.
14355         (FIXED_REGISTERS): Add SPE registers.
14356         (reg_class): Same.
14357         (REG_CLASS_NAMES): Same.
14358         (REG_CLASS_CONTENTS): Same.
14359         (REGNO_REG_CLASS): Same.
14360         (REGISTER_NAMES): Same.
14361         (DEBUG_REGISTER_NAMES): Same.
14362         (ADDITIONAL_REGISTER_NAMES): Same.
14363         (CALL_USED_REGISTERS): Same.
14364         (CALL_REALLY_USED_REGISTERS): Same.
14365         (SPE_ACC_REGNO): New.
14366         (SPEFSCR_REGNO): New.
14367         (SPE_SIMD_REGNO_P): New.
14368         (HARD_REGNO_NREGS): Adjust for SPE.
14369         (VECTOR_MODE_SUPPORTED_P): Same.
14370         (REGNO_REG_CLASS): Same.
14371         (FUNCTION_VALUE): Same.
14372         (LIBCALL_VALUE): Same.
14373         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14374         (SPE_VECTOR_MODE): New.
14375         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14376         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14377         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14378         spe_gp_save_offset.
14379         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14380         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14381         (SPE_CONST_OFFSET_OK): New.
14382         (rs6000_builtins): Add SPE builtins.
14383
14384         * testsuite/gcc.dg/ppc-spe.c: New.
14385
14386         * config/rs6000/eabispe.h: New.
14387
14388         * config/rs6000/spe.h: New.
14389
14390         * config/rs600/spe.md: New.
14391
14392         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14393         __SIMD__ for TARGET_SPE.
14394
14395         * config.gcc: Add powerpc-*-eabispe* case.
14396         Add spe.h to user headers for powerpc.
14397
14398 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14399
14400         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14401         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14402         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14403
14404 2002-07-24  Richard Henderson  <rth@redhat.com>
14405
14406         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14407         form when not optimizing.
14408
14409 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14410
14411         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14412         thread_pointer_rtx as unchanging.
14413
14414 2002-07-24  Michael Matz  <matz@suse.de>
14415
14416         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14417         (free_reg): Use it.
14418
14419 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14420
14421         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14422         pattern.
14423         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14424         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14425
14426 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14427
14428         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14429         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14430         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14431
14432 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14433
14434         * toplev.c (rest_of_compilation): Dump loops before clobbering
14435         the structure.
14436
14437 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14438
14439         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14440
14441 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14442
14443         PR optimization/7291
14444         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14445         problem on x86_64.
14446
14447 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14448
14449         * pretty-print.h: Add macros from cp/error.c
14450
14451 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14452
14453         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14454         (mask64_2_operand): Declare.
14455         (build_mask64_2_operands): Declare.
14456         (and64_2_operand): Declare.
14457         (extract_MB): Declare.
14458         (extract_ME): Declare.
14459         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14460         CONST_DOUBLE code.
14461         (mask_operand_wrap): New insn predicate.
14462         (mask64_2_operand): Likewise.
14463         (and64_2_operand): Likewise.
14464         (build_mask64_2_operands): New function.
14465         (extract_MB): New function.
14466         (extract_ME): New function.
14467         (print_operand <case m,M>): Use extract_MB and extract_ME.
14468         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14469         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14470         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14471         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14472         * config/rs6000/rs6000.md (andsi3_internal3): New
14473         (andsi3_internal3+1): Enable split for powerpc64.
14474         (andsi3_internal3+2): New split.
14475         (andsi3_internal4): Renamed old andsi3_internal3.
14476         (andsi3_internal5): New.
14477         (andsi3_internal5+1): Enable split for powerpc64.
14478         (andsi3_internal5+2): New split.
14479         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14480         (anddi3): Handle 't' constraint.
14481         (anddi3+1): New split.
14482         (anddi3_internal2): Handle 't' constraint.
14483         (anddi3_internal2+1): New split.
14484         (anddi3_internal3): Handle 't' constraint.
14485         (anddi3_internal3+1): New split.
14486
14487 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14488
14489         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14490         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14491         missing scratch reg in one case.  Formatting fixes.
14492
14493 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14494
14495         * cppexp.c (parse_defined): Mark macro used.
14496         * cpphash.h (struct cpp_macro): New member "used".
14497         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14498         (struct cpp_reader): New member.
14499         * cppinit.c (cpp_finish_options): Set first_unused_line.
14500         (cpp_finish): Warn of unused macros if requested.
14501         (OPT_TABLE): New switches.
14502         (cpp_handle_option): Handle them.
14503         * cpplib.c (do_undef): Warn if macro unused.
14504         (do_ifdef, do_ifndef): Mark macro used.
14505         * cpplib.h (struct cpp_options): New member.
14506         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14507         (enter_macro_context): Mark macro used.
14508         (_cpp_create_definition): Mark macro unused; warn if unused
14509         when redefined.
14510         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14511         Mark macros used.
14512         * doc/cppopts.texi: Update.
14513
14514 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14515
14516         * dwarf2out.c (SECTION_ASM_OP,
14517         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14518         * system.h (SECTION_ASM_OP): Poison.
14519         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14520         * config/alpha/alpha-interix.h, config/mips/linux.h
14521         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14522         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14523         (mmix_asm_output_define_label_difference_symbol): Remove.
14524         * config/mmix/mmix.h
14525         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14526         * doc/tm.texi: Remove documentation.
14527
14528 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14529
14530         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14531         (constrain_operands): Likewise.
14532         * regclass.c (record_reg_classes): Likewise.
14533         * reload.c (find_reloads): Likewise.
14534         * doc/md.texi: Likewise.
14535
14536         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14537         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14538         mode, try to convert to an integer mode of matching size first.
14539
14540         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14541         from individual subregs, check that each subreg has been generated
14542         sucessfully.
14543
14544 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14545
14546         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14547         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14548         FOR_EACH_BB_IN_SBITMAP): Remove.
14549         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14550         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14551         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14552         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14553         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14554         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14555
14556 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14557
14558         * pretty-print.h: New file.
14559
14560 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14561
14562         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14563         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14564         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14565         (TARGET_G_FLOAT): Default to 0 if not defined.
14566         (ieeetoe): New, common routine to convert target format floats
14567         to internal form.
14568         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14569         vs. others.
14570         (e113toe): Change to use ieeetoe.
14571
14572 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14573
14574         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14575         IBM.
14576         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14577         (e64toe): Remove special cases for DEC and IBM. Remove support for
14578         ARM_EXTENDED_IEEE_FORMAT.
14579         (e24toe): Remove special cases for DEC.
14580         (significand_size): Simplify. Indent.
14581         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14582         (etoieee, toieee): New.
14583         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14584         etoieee and toieee for IEEE arithmetic.
14585
14586 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14587
14588         * doc/extend.texi: Say ISO C90, not ISO C89.
14589         * doc/invoke.texi: Likewise.
14590         * doc/standards.texi: Likewise.
14591
14592 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14593
14594         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14595         Fix permutation of conversion and plus/mult.
14596         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14597         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14598         (expand_builtin_strncpy) Ditto.
14599         (expand_builtin_memset) Ditto.
14600
14601 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14602
14603         Fix PR/7363:
14604         * c-common.c (c_sizeof_or_alignof_type): New function.
14605         (c_alignof): Remove definition.
14606         * c-common.h (c_sizeof, c_alignof): Define as macros.
14607         (c_sizeof_or_alignof_type): Declare.
14608         (my_friendly_assert): Moved from cp/cp-tree.h
14609         * c-typeck.c (c_sizeof): Remove definition.
14610
14611 2002-07-23  Jan Hubicka  <jh@suse.cz>
14612
14613         * gcse.c (try_replace_reg): Use num_changes_pending.
14614         * recog.c (num_changes_pending): New function.
14615         (validate_replace_src): Use validate_repalce_src_group.
14616         (validate_replace_src_group): New.
14617         * recog.h (validate_repalce_src_group): New.
14618         (num_changes_pending): Likewise.
14619
14620 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14621
14622         * calls.c (emit_library_call_value_1): If
14623         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14624         libcall, const call nor pure call.
14625
14626 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14627
14628         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14629
14630 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14631
14632         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14633
14634 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14635
14636         * config/i386/i386.c (AT_BP): Remove.
14637
14638 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14639
14640         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14641         Default definition.
14642         * gcse.c: Don't define obstack_chunk_free.
14643         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14644         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14645         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14646         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14647         Don't define obstack macros.
14648
14649 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14650
14651         PR target/6744
14652         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14653         ASM_OPERANDS instructions.
14654
14655 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14656
14657         PR target/7361
14658         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14659         constant addresses only on 68HC12.
14660
14661 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14662
14663         * cppfiles.c (stack_include_file): Correct test of whether
14664         a dependency should be output.
14665
14666 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14667
14668         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14669
14670 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14671
14672         * arm.md (movqi): If optimizing and we can create pseudos, use
14673         a ZERO_EXTEND to load from memory, then copy the result into the
14674         target.
14675         (movhi): Likewise, but only for ARMv4.
14676
14677 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14678
14679         * ssa-ccp.c (PHI_PARMS): Remove.
14680
14681 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14682
14683         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14684         on big-endian targets.
14685
14686 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14687
14688         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14689         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14690         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14691         New formatting macros.
14692
14693         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14694
14695 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14696
14697         * rtlanal.c (subreg_regno_offset): Return correct offset for
14698         big endian paradoxical subregs.
14699
14700         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14701         if we got the wrong mode.
14702
14703         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14704         * genrecog.c (write_switch, write_cond): Use it.
14705         * genemit.c (gen_exp): Likewise.
14706
14707 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14708
14709         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14710
14711 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14712
14713         * c-decl.c (build_compound_literal): Defer compound literal decls
14714         until until file end to emit them only if they are actually used.
14715
14716 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14717
14718         * ra-build.c (check_conflict_numbers): Hide unused function.
14719         (livethrough_conflicts_bb): Avoid automatic aggregate
14720         initialization.
14721         (parts_to_webs_1): Avoid `U' integer constant modifier.
14722         (conflicts_between_webs): Wrap a variable in the macro controlling
14723         its usage.
14724         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14725         (dump_igraph, dump_graph_cost): Avoid string concatenation
14726         (dump_static_insn_cost): Avoid automatic aggregate
14727         initialization.
14728         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14729         initialization.
14730         (dump_cost): Avoid string concatenation
14731
14732 2002-07-21  Richard Henderson  <rth@redhat.com>
14733
14734         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14735         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14736
14737 2002-07-21  Richard Henderson  <rth@redhat.com>
14738
14739         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14740         that are not unrolled completely.
14741
14742 2002-07-21  Richard Henderson  <rth@redhat.com>
14743
14744         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14745         * loop.c (strength_reduce): Update.
14746         * toplev.c (rest_of_compilation): Do unrolling in the first
14747         loop pass, not the second.
14748
14749 2002-07-21  Richard Henderson  <rth@redhat.com>
14750
14751         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14752         when flag_argument_noalias == 2.
14753         * alias.c (nonoverlapping_memrefs_p): Handle that.
14754         * print-rtl.c (print_mem_expr): Likewise.
14755
14756 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
14757
14758         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14759         instead of __negdi2 directly.
14760
14761 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14762
14763         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14764         * function.c (SYMBOL__MAIN): Remove definition.
14765         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14766         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14767         * profile.c (GCOV_INDEX_TO_BB): Remove.
14768         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14769         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
14770
14771 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14772
14773         * c-lex.c (GET_ENVIRONMENT): Remove.
14774         * collect2.c (GET_ENV_PATH_LIST): Remove.
14775         (prefix_from_env): Use GET_ENVIRONMENT.
14776         * cppinit.c (GET_ENV_PATH_LIST): Remove.
14777         (init_standard_includes): Use GET_ENVIRONMENT.
14778         * defaults.h (GET_ENVIRONMENT): Define here if not already.
14779         * gcc.c (GET_ENV_PATH_LIST): Remove.
14780         (make_relative_prefix, process_command): Update.
14781         * protoize.c (GET_ENV_PATH_LIST): Remove.
14782         (do_processing): Update.
14783
14784 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
14785
14786         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
14787         (grokdeclarator): Likewise.
14788         * c-format.c (C_STD_NAME): Likewise.
14789         * c-lex.c (interpret_integer): Likewise.
14790         * c-typeck.c (build_array_ref): Likewise.
14791         * cpplex.c (_cpp_lex_direct): Likewise.
14792         * toplev.c (documented_lang_options): Likewise.
14793
14794 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14795
14796         * c-format.c (T99_I, T99_UI): Remove.
14797
14798 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14799
14800         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
14801
14802 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
14803
14804         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
14805         do_local_cprop.
14806
14807 2002-07-21  Andreas Jaeger  <aj@suse.de>
14808
14809         * reload1.c (fixup_abnormal_edges): Remove unused variable.
14810
14811 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
14812
14813         Improvements for the ifcvt pass from Michael Meissner, with patches
14814         by Richard Sandiford <rsandifo@redhat.com>
14815         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
14816         * ifcvt.c (cond_exec_changed_p): New static variable.
14817         (last_active_insn): New function, renamed from last_active_insn_p
14818         and changed to return the last active insn in a basic block. All
14819         callers updated.
14820         (block_fallthru): New function.
14821         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
14822         IFCVT_MODIFY_INSN.  All callers updated.
14823         Return false if START or END are NULL.
14824         Handle case where we're processing an insn that is already
14825         conditional.
14826
14827         (noce_process_if_block): CE_INFO argument rather than
14828         multiple args containing the involved basic blocks.  All callers
14829         changed.
14830         (process_if_block, merge_if_block, find_if_block,
14831         cond_exec_process_if_block): Likewise.
14832
14833         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
14834         changed.
14835         Use new function last_active_insn to simplify some code.
14836         New code to handle multiple tests.
14837         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
14838         cond_exec_changed_p to TRUE.
14839
14840         (process_if_block): New code to handle multiple tests.
14841         (merge_if_block): Likewise.
14842         (find_if_header): New arg PASS.  Changed to return the currently
14843         processed basic block or NULL instead of true/false. All callers
14844         changed.
14845         Call IFCVT_INIT_EXTRA_FIELDS.
14846         (block_jumps_and_fallthru_p): New function.
14847         (find_if_block): Discover opportunities to convert multiple tests.
14848         Add additional debugging output.
14849         Update the ce_info structure before returning.
14850
14851         (if_convert): Run multiple passes of if-conversion.
14852         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
14853         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
14854         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
14855         these macros.
14856
14857 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
14858
14859         * gcse.c: Include cselib.h
14860         (constptop_register): Break out from ...
14861         (cprop_insn): ... here; kill basic_block argument.
14862         (do_local_cprop, local_cprop_pass): New functions.
14863         (one_cprop_pass): Call local_cprop_pass.
14864
14865 2002-07-20  Roger Sayle  <roger@eyesopen.com>
14866
14867         * simplify-rtx.c (simplify_relational_operation): Optimize
14868         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
14869
14870 2002-07-20  Michae Matz  <matz@suse.de>
14871
14872         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
14873
14874 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
14875
14876         * cppexp.c (struct op): Add token pointer.
14877         (check_promotion, CHECK_PROMOTION): New.
14878         (optab): Update.
14879         (_cpp_parse_expr): Update, use token pointer of struct op.
14880         (reduce): Warn about change of sign owing to promotion.
14881         * cppinit.c (cpp_handle_option): New warning if -Wall.
14882         * cpplib.h (struct cpp_options): New member.
14883
14884 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
14885
14886         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
14887         fpu list.  Separate Power4 compare and delayed_compare.  Correct
14888         Power4 fpcompare.
14889         (fix_truncdfsi2_internal): Restore FPR preference.
14890         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
14891         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
14892
14893 2002-07-19  Momchil Velikov <velco@fadata.bg>
14894
14895         * reload1.c (reload_as_needed): Duplicate oldpat.
14896
14897 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
14898
14899         PR optimization/7130
14900         * loop.h (struct loop_info): Add "preconditioned".
14901         * unroll.c (unroll_loop): Set it.
14902         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
14903
14904 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
14905
14906         * rtl.def (CODE_LABEL): Remove slot 8.
14907         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
14908         (LABEL_ALTERNATE_NAME): Delete.
14909         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
14910         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
14911
14912         * final.c (output_alternate_entry_point): New.
14913         (final_scan_insn): Use it instead of
14914         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
14915         of a case label being an alternate entry point.
14916
14917         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
14918         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
14919         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
14920         (field deleted).
14921         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
14922
14923         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
14924         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
14925         * doc/tm.texi: Delete documentation of
14926         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
14927
14928 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14929
14930         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
14931         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
14932         (LINK_SPEC): Define.
14933         (STARTFILE_SPEC): Define.
14934         (ENDFILE_SPEC): Define.
14935
14936         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
14937         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
14938
14939         * config/mips/iris6-o32-gas.h: New file.
14940         * config.gcc (mips-sgi-irix6*o32): Use it.
14941
14942         * config/mips/t-iris5-gas: New file.
14943         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
14944
14945 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
14946
14947         * cppexp.c (ALWAYS_EVAL): Remove.
14948         (optab, reduce): Always evaluate.
14949         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
14950         only if not skipping evaluation.
14951
14952 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
14953
14954         * config/avr/avr.c (debug_hard_reg_set): Remove.
14955
14956 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
14957
14958         * gcc.c (cpp_options): Include "%1" (cc1_spec).
14959
14960 2002-07-19  Richard Henderson  <rth@redhat.com>
14961
14962         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
14963
14964 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
14965
14966         * prefix.c (update_path): Don't zap single `.' path components
14967         unless followed by another `.' and fix typo last patch.
14968
14969 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
14970
14971         * cppexp.c (cpp_num_mul): Remove unused parameter.
14972         (UNARY, BINARY, OTHER, binary_handler): Remove.
14973         (ALWAYS_EVAL): New.
14974         (optab): Update.
14975         (reduce): Refactor to a large switch, don't use a function
14976         pointer.
14977
14978 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
14979
14980         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
14981
14982 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
14983
14984         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
14985         (sh_expand_binop_v2sf): Likewise.
14986         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
14987         (int_gpr_dest, trunc_hi_operand): New functions.
14988         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
14989         trunc_hi_operand.
14990         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
14991         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
14992         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
14993         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
14994         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
14995         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
14996         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
14997         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
14998         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
14999         (movsf_ie+1): Likewise.
15000         (loaddi_trunc): Use int_gpr_dest predicate.
15001         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15002         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15003         (casesi_worker_0+[12], casesi_worker): Likewise.
15004         (shcompact_preserve_incoming_args): Likewise.
15005         (mov_nop): Use any_register_operand predicate.
15006         (mperm_w0): Use trunc_hi_operand predicate.
15007
15008 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15009
15010         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15011         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15012         numbering.
15013
15014 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15015
15016         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15017
15018 2002-07-18  Richard Henderson  <rth@redhat.com>
15019
15020         PR optimization/7147
15021         * ifcvt.c (noce_get_condition): Make certain that the condition
15022         is valid at JUMP.
15023
15024 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15025
15026         * sh.c (barrier_align, push): Shut up compiler warnings.
15027         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15028         (reg_no_subreg_operand): Delete.
15029
15030 2002-07-17  Bo Thorsen  <bo@suse.de>
15031
15032         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15033         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15034         (STARTFILE_SPEC): Remove hardcoded library paths.
15035         (ENDFILE_SPEC): Likewise.
15036
15037 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15038
15039         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15040
15041         * gcse.c (try_replace_reg): Do not return false positives.
15042
15043 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15044
15045         * prefix.c: (update_path): Strip ".." components when prior dir
15046         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15047
15048         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15049         (ASM_OUTPUT_REG_POP): Likewise.
15050
15051 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15052
15053         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15054         adjustments to first_reg for profiling case.
15055         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15056         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15057         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15058         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15059         (ASM_OUTPUT_REG_POP): Define.
15060         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15061         (ASM_OUTPUT_REG_POP): Undef.
15062
15063 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15064
15065         * cpplib.c (do_sccs): Handle #sccs on all systems.
15066         * system.h (SCCS_DIRECTIVE): Poison.
15067         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15068         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15069         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15070         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15071         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15072         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15073         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15074         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15075         Remove all references to SCCS_DIRECTIVE.
15076         * doc/cpp.texi, doc/tm.texi: Update.
15077
15078 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15079
15080         * regrename.c (maybe_mode_change): New function.
15081         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15082
15083 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15084
15085         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15086         suppress addition when either ct or cf are zero.
15087
15088 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15089             Glen Nakamura <glen@imodulo.com>
15090
15091         PR optimization/6713
15092         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15093         sets a non-replaceable giv after issuing the new one.
15094
15095 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15096
15097         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15098         eval_token): Clarify and correct use of "bool" variables.
15099         * cpplib.h (struct cpp_options): Similarly.
15100         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15101         * cpptrad.c (recursive_macro): Similarly.
15102
15103 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15104
15105         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15106         SHmedia code.
15107
15108         * sh.md (cmpgtudi_media): Remove spurious @.
15109
15110         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15111         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15112
15113         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15114         * sh-protos.h (sh_initialize_trampoline): Declare.
15115         * sh.c (sh_initialize_trampoline): New function.
15116         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15117         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15118         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15119         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15120         * sh.md (initialize_trampoline, double_shori): New patterns.
15121         (initialize_trampoline_compact): Likewise.
15122         (shmedia32_initialize_trampoline_big): Remove.
15123         (shmedia32_initialize_trampoline_little): Likewise.
15124
15125         * sh-protos.h (binary_float_operator): Remove declaration.
15126         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15127         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15128         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15129         (sh_expand_binop_v2sf): Likewise.
15130         (zero_vec_operand): Delete.
15131         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15132         all non-shared ones.
15133         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15134         Enable nsb and byterev.
15135         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15136         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15137         in general regs.
15138         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15139         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15140         immediate operands.
15141         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15142         Add DF_HI_REGS.
15143         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15144         lowpart fp regs - only for big endian for now.
15145         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15146         when FPU is in use.
15147         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15148         (LOAD_EXTEND_OP): NIL for SImode.
15149         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15150         general and fp registers is 4.
15151         PREDICATE_CODES: Amend binary_float_operator entry.
15152         Remove zero_vec_operand.  Add unary_float_operator.
15153         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15154         subreg SET_DEST.
15155         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15156         (truncdiqi2): Do sign extension.
15157         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15158         (movdf_media, movsf_media): Likewise.
15159         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15160         Collapse to one define_insn_and_split.  Allow immediate sources.
15161         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15162         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15163         (movv4sf): Allow immediate sources.
15164         (movsf_media_nofpu+1): Don't split moves to FP registers.
15165         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15166         (movv8qi_i+3): Check against CONST0_RTX.
15167         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15168         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15169         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15170         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15171         (mshf0_w, fipr, ftrv): Likewise.
15172         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15173
15174 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15175
15176         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15177         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15178         * arm.c: Similarly.
15179
15180 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15181
15182         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15183         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15184         (TARGET_SWITCHES): Remove debugh.
15185         (ISA_HAS_TRUNC_W): New macro.
15186         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15187         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15188         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15189         any SImode move_operand.
15190         (se_nonimmediate_operand): Remove.
15191         (mips_sign_extend): New.
15192         (mips_move_2words): Use it for sign-extended source operands.
15193         (override_options): Allow integers to be put into single FPRs.
15194         (mips_secondary_reload_class): Handle integers in float registers.
15195         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15196         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15197         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15198         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15199         (fix_truncdfdi2): Provide only a single alternative, in which the
15200         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15201         than TARGET_64BIT.
15202         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15203         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15204         (movdi_internal2): Don't allow the source operand to be sign-extended.
15205         Add alternatives for float registers.
15206         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15207         allows sign-extension.
15208         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15209         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15210         float registers.  Remove TARGET_DEBUG_H_MODE test.
15211         (movhi_internal1): Rename to movhi_internal.  Don't check
15212         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15213         (movqi_internal1): Rename to movqi_internal and remove
15214         TARGET_DEBUG_H_MODE dependency.
15215         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15216
15217 2002-07-16  Jim Wilson  <wilson@redhat.com>
15218
15219         * toplev.c (lang_dependent_init): Create function context for
15220         init_expr_once.
15221
15222 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15223
15224         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15225         --gc-sections if -r.
15226         * config/cris/cris.h: Ditto.
15227
15228 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15229
15230         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15231         the comparison directly gives a mask suppress addition when cf is
15232         zero by complementing the mask.
15233
15234 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15235
15236         * Makefile.in: Delete references to enquire.
15237         * enquire.c: Move to contrib.
15238
15239 2002-07-16  Stan Shebs  <shebs@apple.com>
15240
15241         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15242         config/rs6000/darwin.h.
15243         (ASM_OUTPUT_SKIP): Ditto.
15244         (TEXT_SECTION_ASM_OP): Ditto.
15245         (DATA_SECTION_ASM_OP): Ditto.
15246         (ASM_APP_ON): Define.
15247         (ASM_APP_OFF): Define.
15248         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15249         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15250
15251         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15252         (machopic_function_base_name): Declare result to be const.
15253         (machopic_non_lazy_ptr_name): Ditto.
15254         (machopic_stub_name): Ditto.
15255         * config/darwin-protos.h: Ditto for the prototypes.
15256
15257 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15258
15259         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15260
15261 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15262
15263         * i386.md (prefetch): Fix for 64bit mode.
15264         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15265
15266 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15267
15268         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15269         * i386.c (x86_machine_dependent_reorg): New function.
15270         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15271
15272 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15273
15274         * builtins.c (std_expand_builtin_va_start): Remove unused
15275         first argument.
15276         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15277         std_expand_builtin_va_start with just two arguments.
15278         * expr.h: Update prototypes.
15279
15280         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15281         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15282         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15283         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15284         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15285         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15286         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15287         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15288         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15289         argument from all implementations of EXPAND_BUILTIN_VA_START
15290         and all uses of std_expand_builtin_va_start.
15291
15292 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15293
15294         * regrename.c (copy_value): Don't record high part copies.
15295
15296 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15297
15298         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15299         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15300         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15301
15302 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15303
15304         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15305
15306         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15307         into addsi3 using register class "x" and "y".
15308
15309         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15310         "earlyclobber" constraint modifier for some alternative.
15311
15312         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15313         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15314         unordered.
15315         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15316
15317         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15318         (TARGET_SWITCHES): Add -mieee-compare option.
15319         (OVERRIDE_OPTIONS): 32332 is a subset of
15320         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15321         (TARGET_SWITCHES): Fix description of bitfield option.
15322         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15323         -mieee-compare option. Remove 32332 flag.
15324
15325 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15326
15327         * explow.c (convert_memory_address): Remove special handling
15328         when POINTERS_EXTEND_UNSIGNED < 0.
15329         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15330         (movedi_symbolic): Fix typo.
15331         (load_fptr): Remove mode restriction so it works for SI and DI.
15332         (load_fptr_internal1): Ditto.
15333         (load_gprel): Ditto.
15334         (load_symptr_internal1): Ditto.
15335         (call_pic): Ditto.
15336         * config/ia64.c (call_operand): Modify mode check.
15337         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15338         (ia64_expand_move): Ditto.
15339         (ia64_assemble_integer): Handle SImode function pointers.
15340         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15341         (ia64_expand_op_and_fetch): Ditto.
15342         (ia64_expand_compare_and_swap): Ditto.
15343         (ia64_expand_lock_test_and_set): Ditto.
15344         (ia64_expand_lock_release): Ditto.
15345
15346 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15347
15348         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15349
15350 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15351             Richard Earnshaw  <rearnsha@arm.com>
15352
15353         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15354         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15355
15356 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15357
15358         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15359         understands to be a memory clobber.
15360         * arm.c (arm_expand_prologue): Use it.
15361
15362 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15363
15364         * ra-rewrite.c: #include reload.h, insn-config.h
15365         * ra-build.c: #include reload.h
15366         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15367         depend on reload.h, insn-config.h.
15368
15369 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15370
15371         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15372         the same size as a word.
15373
15374         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15375         BYTES_BIG_ENDIAN into account.
15376
15377 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15378
15379         * i386.md (prefetch): Fix for 64bit mode.
15380         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15381
15382         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15383
15384 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15385
15386         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15387
15388 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15389
15390         * ginclude/varargs.h: Replace with stub which issues #error.
15391         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15392         __builtin_va_start.
15393
15394         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15395         (BUILT_IN_VA_START): New.
15396         * builtins.c (expand_builtin_va_start): Eliminate first
15397         argument and code to implement pre-ISO varargs.
15398         (std_expand_builtin_va_start): Ignore first argument; it is
15399         always 1.
15400         (expand_builtin): Handle BUILT_IN_VA_START and
15401         BUILT_IN_STDARG_START identically.  Delete
15402         BUILT_IN_VARARGS_START case.
15403
15404         * function.c (assign_parms): Delete hide_last_arg and all
15405         its uses.
15406         (mark_varargs): Delete function.
15407         * function.h (struct function): Delete 'varargs' bit.
15408         (current_function_varargs): Delete macro.
15409         * tree.h: Don't declare mark_varargs.
15410
15411         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15412         (c_expand_body): Don't call mark_varargs.
15413         * c-objc-common.c: Handle BUILT_IN_VA_START and
15414         BUILT_IN_STDARG_START identically.  Delete
15415         BUILT_IN_VARARGS_START case.
15416         * c-tree.h: Don't declare c_mark_varargs.
15417         * c-parse.in: Remove grammar rules for '&...' (which has been
15418         commented out since before 2.7.2) and for '...' in K+R
15419         argument declarations.
15420
15421         * builtins.c, function.c, integrate.c, sibcall.c,
15422         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15423         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15424         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15425         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15426         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15427         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15428         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15429         config/stormy16/stormy16.c: Delete all references to
15430         current_function_varargs, and code predicated on that flag.
15431
15432         * config/alpha/alpha.c (alpha_va_start),
15433         config/arc/arc.c (arc_va_start),
15434         config/i386/i386.c (ix86_va_start),
15435         config/mips/mips.c (mips_va_start),
15436         config/mn10300/mn10300.c (mn10300_va_start),
15437         config/rs6000/rs6000.c (rs6000_va_start),
15438         config/s390/s390.c (s390_va_start),
15439         config/sh/sh.c (sh_va_start),
15440         Ignore first argument; it is always 1.
15441
15442         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15443         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15444         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15445         Delete m68hc11_va_start.
15446         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15447         No need to define EXPAND_BUILTIN_VA_START.
15448
15449         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15450         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15451
15452 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15453
15454         PR optimization/7153
15455         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15456         dies in more than one insn.
15457
15458 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15459
15460         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15461
15462 2002-07-15  Michael Matz  <matz@suse.de>,
15463             Daniel Berlin  <dberlin@dberlin.org>,
15464             Denis Chertykov  <denisc@overta.ru>
15465
15466         Add a new register allocator.
15467
15468         * ra.c: New file.
15469         * ra.h: New file.
15470         * ra-build.c: New file.
15471         * ra-colorize.c: New file.
15472         * ra-debug.c: New file.
15473         * ra-rewrite.c: New file.
15474
15475         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15476         (ra-rewrite.o): New .o files for libbackend.a.
15477         (GTFILES): Add basic-block.h.
15478
15479         * toplev.c (flag_new_regalloc): New.
15480         (f_options): New option "new-ra".
15481         (rest_of_compilation): Call initialize_uninitialized_subregs()
15482         only for the old allocator.  If flag_new_regalloc is set, call
15483         new allocator, instead of local_alloc(), global_alloc() and
15484         friends.
15485
15486         * doc/invoke.texi: Document -fnew-ra.
15487         * basic-block.h (FOR_ALL_BB): New.
15488         * config/rs6000/rs6000.c (print_operand): Write small constants
15489         as @l+80.
15490
15491         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15492         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15493         (df_insn_table_realloc): Size argument now is absolute, not relative.
15494         Changed all callers.
15495
15496         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15497         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15498
15499         2002-06-20  Michael Matz  <matz@suse.de>
15500
15501         * df.h (struct ref.id): Make unsigned.
15502         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15503
15504         2002-06-13  Michael Matz  <matz@suse.de>
15505
15506         * df.h (DF_REF_MODE_CHANGE): New flag.
15507         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15508         involving subregs with invalid mode changes, when
15509         CLASS_CANNOT_CHANGE_MODE is defined.
15510
15511         2002-05-07  Michael Matz  <matz@suse.de>
15512
15513         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15514
15515         2002-05-03  Michael Matz  <matz@suse.de>
15516
15517         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15518
15519         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15520
15521         * regclass.c (regclass): Work with all regs which have sets or
15522         refs.
15523         (reg_scan_mark_refs): Count regs inside (clobber ...).
15524
15525         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15526
15527         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15528         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15529         add new refs.
15530         (df_bb_refs_update): Don't clear insns_modified here, ...
15531         (df_analyse): ... but here.
15532
15533         * sbitmap.c (dump_sbitmap_file): New.
15534         (debug_sbitmap): Use it.
15535
15536         * sbitmap.h (dump_sbitmap_file): Add prototype.
15537
15538         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15539
15540         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15541         than assume all emits go through df_insns_modify.
15542
15543         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15544
15545         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15546         increase REG_N_REFS (like flow does), so that regclass doesn't
15547         think a reg is useless, and thus, not calculate a class, when it
15548         really should have.
15549
15550         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15551
15552         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15553         dataflow analysis.
15554
15555 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15556
15557         PR middle-end/7245
15558         * config/i386/i386.c (const_int_1_31_operand): New.
15559         * config/i386/i386.h (PREDICATE_CODES): Add it.
15560         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15561         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15562         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15563
15564 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15565
15566         PR target/7282
15567         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15568         (floatunssidf2): Likewise.
15569         (floatsidf_ppc64): New insn_and_split.
15570         (floatunssidf_ppc64): Likewise.
15571
15572 2002-07-14  Andreas Jaeger  <aj@suse.de>
15573
15574         * config.gcc (sh64): Remove unused
15575         target_requires_64bit_host_wide_int.
15576
15577 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15578
15579         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15580         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15581         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15582         whether clear_by_pieces should be used to clear storage.
15583         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15584
15585         * doc/tm.texi: Document these two new target macros.
15586
15587 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15588
15589         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15590         the scratch register.
15591         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15592         of it, forbid reload to use it.
15593
15594 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15595
15596         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15597         usage on 64-bit hosts, return value was truncated to 32 bits.
15598
15599 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15600
15601         * simplify-rtx.c (simplify_subreg): Handle floating point
15602         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15603         the element mode is requested, compute a subreg with an
15604         integer mode of the same size as the element mode first.
15605
15606 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15607
15608         * combine.c (try_combine): When converting a paradoxical subreg
15609         to an extension, take LOAD_EXTEND_OP into account.
15610
15611 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15612
15613         * config.gcc (mips-sgi-irix6*o32): New configuration.
15614
15615         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15616         configurations.
15617         * configure: Regenerate.
15618
15619         * config/mips/iris6-o32-as.h: New file.
15620         * config/mips/iris6-o32.h: New file.
15621
15622         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15623         (NM_FLAGS): Define.
15624         (HAVE_AS_SHF_MERGE): Undefine.
15625
15626         * config/mips/t-iris5-as: New file.
15627         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15628
15629         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15630         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15631         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15632         dp-bit.c, fp-bit.c): Move ...
15633         * config/mips/t-iris5-6: ... here.
15634         New file, shared by IRIX 5 and IRIX 6.
15635         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15636         mips-sgi-irix5*): Use it.
15637
15638         * config/mips/iris6.h: Remove duplicate comment.
15639
15640         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15641         !TARGET_IRIX6]: Define.
15642         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15643
15644         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15645
15646 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15647
15648         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15649         and delete code to force constant to register.
15650         * pa-protos.h (adddi3_operand): Add prototype.
15651         * pa.c (adddi3_operand): New function.
15652
15653 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15654
15655         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15656         non-ANSI builtin functions.
15657
15658 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15659
15660         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15661         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15662         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15663         (gen_const_vector_0): Use it.
15664
15665 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15666
15667         * pa.md (adddi3): For 32-bit targets, force constants to a register
15668         if they don't fit in an 11-bit immediate.  Change insn predicate to
15669         arith11_operand.  Remove comment.
15670         * pa.c (cint_ok_for_move): Fix comment.
15671         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15672         targets.
15673
15674 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15675
15676         Remove front end hard coding from gengtype.c.
15677
15678         * Makefile.in
15679         (STAGESTUFF): add gtyp-gen.h
15680         (GTFILES): Remove front end specific files.
15681         (GTFILES_FILES_LANGS): New, from configure..
15682         (GTFILES_FILES_FILES): Likewise.
15683         (GTFILES_LANG_DIR_NAMES): Likewise.
15684         (GTFILES_SRCDIR): Likewise.
15685         (gtyp-gen.h): Build from configure information.
15686         (s-gtype): Remove command line parameters from gengtype.
15687         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15688         (mostlyclean): Delete files generated by and for gengtype.
15689
15690         * c-config-lang.in: New file.
15691
15692         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15693         for each language.
15694         (all_gtfiles_files_files): New. Accumulate language for each file
15695         accumulated.
15696         (gtfiles): Pick up value for C.
15697         (srcdir): AC-SUBST this variable.
15698         (all_gtfiles_files_langs): AC-SUBST this variable.
15699         (all_gtfiles_files_files): AC-SUBST this variable.
15700
15701         * configure: Regenerate.
15702
15703         * gengtype-lex.l (parse_file): Make parameter const.
15704
15705         * gengtype.c (toplevel): include gtyp-gen.h.
15706         (BASE_FILE_<language> unnamed enum): Delete.
15707         (lang_names): Delete (replaced by gtyp-gen.h)
15708         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15709         all references.
15710         (NUM_GT_FILES): New.
15711         (NUM_LANG_FILES): New.
15712         (srcdir_len): New.
15713         (NUM_BASE_FILES): Change calculation.
15714         (open_base_files): Change prototype to avoid warning.
15715         (startswith): Delete.
15716         (get_file_basename): Iterate through generated language list not
15717         hard coded list.
15718         (get_base_file_bitmap): Use generated list of files and languages.
15719         (close_output_files): Add prototype to rmove warning.
15720         (main): Iterate through list of generated files from gtyp-gen.h
15721         rather than command line paramaters.  Ignore duplicated file
15722         names.
15723
15724         * gengtype.h (parse_file): Amend prototype for const parameter.
15725
15726         * doc/sourcebuild.texi: Document gtfiles variable.
15727
15728         * doc/gty.texi: Document changes to gtfiles variable for front
15729         ends.
15730
15731         * objc/config-lang.in (gtfiles): Add files needed for objc front
15732         end.
15733
15734 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15735
15736         PR c/2454
15737         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15738         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15739
15740 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15741             Zack Weinberg <zack@codesourcery.com>
15742
15743         * builtins.def: Make the argument types of abort and exit
15744         independent of the front-end.
15745
15746 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15747
15748         * config/rs6000/linux64.h (ASM_SPEC): Define.
15749
15750 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
15751
15752         * config/rs6000/rs6000.c (emit_frame_save): New.
15753         (rs6000_frame_related): Replace reg2 before reg.
15754         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15755         and eh_return registers.
15756
15757 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
15758
15759         Revert all patches for optimization of Complex .op. Real.
15760         * complex_part_zero_p: Remove
15761         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15762         with x.
15763         * expand_cmplxdiv_wide: Ditto.
15764         * expand_binop: Ditto.
15765
15766 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15767
15768         * config/avr/avr.md: Fix two 0x80000000 constants to make them
15769         negative also on 64-bit hosts.
15770
15771         Default to -fno-reorder-blocks when optimizing for size.
15772         * config/avr/avr-protos.h (avr_optimization_options): Declare.
15773         * config/avr/avr.c (avr_optimization_options): New function.
15774         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
15775
15776         Optimize returning from simple functions.
15777         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
15778         * config/avr/avr.c (avr_simple_epilogue): New function.
15779         * config/avr/avr.md (return): New insn.
15780
15781 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
15782
15783         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
15784         HAS_INIT_SECTION to protection.
15785
15786 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
15787
15788         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
15789         deprecated.
15790
15791 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
15792
15793         * combine.c (gen_lowpart_for_combine): Handle vector modes.
15794         Supply non-VOID mode to simplify_gen_subreg.
15795
15796 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
15797
15798         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
15799
15800 2002-07-10  Jeffrey A Law  <law@redhat.com>
15801
15802         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
15803         as appropriate.
15804
15805         * mn10200.c (expand_epilogue): Fix test to determine which scratch
15806         register to use.
15807
15808 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
15809
15810         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
15811         Get mode from dest.
15812         If simplify_gen_subreg fails, try next equivalent.
15813
15814 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
15815
15816         * diagnostic.h: #include location.h
15817         (location_t): Move definition to..
15818         * location.h: ... here.  New file.
15819         * tree.h: #include location.h
15820         (DECL_SOURCE_LOCATION): New macro.
15821         (DECL_SOURCE_FILE): Use.
15822         (DECL_SOURCE_LINE): Likewise.
15823         (struct tree_decl): REplace filename and linenum with locus.
15824         * Makefile.in (TREE_H): add location.h
15825         (diagnostic.o): Depends on gt-location.h
15826         (gt-location.h): Depends on s-gtype
15827
15828 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
15829
15830         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
15831         TARGET_OS_CPP_BUILTINS.
15832         * config/rs6000/aix31.h: Likewise.
15833         * config/rs6000/aix41.h: Likewise.
15834         * config/rs6000/aix43.h: Likewise.
15835         * config/rs6000/aix51.h: Likewise.
15836         * config/rs6000/beos.h: Likewise.
15837         * config/rs6000/darwin.h: Likewise.
15838         * config/rs6000/eabi.h: Likewise.
15839         * config/rs6000/eabisim.h: Likewise.
15840         * config/rs6000/linux.h: Likewise.
15841         * config/rs6000/linux64.h: Likewise.
15842         * config/rs6000/lynx.h: Likewise.
15843         * config/rs6000/mach.h: Likewise.
15844         * config/rs6000/rtems.h: Likewise.
15845         * config/rs6000/sysv4.h: Likewise.
15846         * config/rs6000/vxppc.h: Likewise.
15847
15848 2002-07-09 Devang Patel <dpatel@apple.com>
15849         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
15850         Do not allow ObjC objects as a parameter type for Objective-C methods.
15851         My previous patch restricted  'struct' also.
15852
15853 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
15854
15855         * cpperror.c (cpp_error): Default to directive_line within
15856         directives here.
15857         * cppexp.c (cpp_interpret_integer): Only use traditional
15858         number semantics in directives.
15859         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
15860         (do_include_common): Similarly.
15861         * cpptrad.c (scan_out_logical_line): Implement accurate
15862         quoting of <> in #include.
15863         * doc/cpp.texi: Update.
15864
15865 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
15866                           J"orn Rennecke <joern.rennecke@superh.com>
15867
15868         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
15869         * sh.md (attribute issues): Replace with:
15870         (attribute pipe_model).  All users changed.
15871         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
15872         All users changed.
15873         (function units sh5issue, sh5fds): New.
15874         (attribute is_mac_media): New.
15875         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
15876         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
15877         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
15878         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
15879         (call_media, call_value_media, sibcall_media): Likewise.
15880         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
15881         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
15882         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
15883         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
15884         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
15885         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
15886         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
15887         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
15888         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
15889         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
15890         (truncdfsf2_media): Likewise.
15891         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
15892         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
15893
15894 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15895
15896         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
15897         * sh.c (general_extend_operand, inqhi_operand): New functions.
15898         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
15899         alternatives using 'N' modifier.  Add type.
15900         (adddi3z_media): Likewise.  Enable generator function generation.
15901         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
15902         exact predicates / constraints.  Add type.
15903         (subsi3): Allow 0 for SHMEDIA.
15904         (udivsi3_i4_media): Use match_operand for input values
15905         rather than hard registers.
15906         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15907         unnecessarily through hard registers.  Keep copies of pseudo
15908         registers outside of the libcall sequence.
15909         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
15910         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
15911         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
15912         (extendhidi2, extendqidi2): Likewise.
15913         (andsi3_compact): Name.
15914         (andcdi3): Enable generator function generation.
15915         (zero_extendhisi2, zero_extendqisi2): Rename to
15916         (zero_extendhisi2_compact, zero_extendqisi2_compact).
15917         (extendhisi2, extendqisi2): Rename to
15918         (extendhisi2_compact, extendqisi2_compact).
15919         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
15920         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
15921         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
15922         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
15923         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
15924         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
15925         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
15926         (shmedia32_initialize_trampoline_big): Likewise.
15927         (shmedia32_initialize_trampoline_little): Likewise.
15928         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
15929         (negdi2): Remove spurious T clobber.
15930         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
15931         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
15932         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
15933         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
15934         (ic_invalidate_line_media): Write back data cache before invalidating
15935         instruction cache.  Add type.
15936         (movsf_media): Sign-extend when the destination is a general
15937         purpose register.  Add type.
15938         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
15939         (casesi_worker_0+1): Only increment ref count for proper label.
15940         (casesi_worker_0+2): Likewise.
15941
15942 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
15943
15944         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
15945
15946 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
15947
15948         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
15949         from Pmode to ptr_mode.
15950         (get_exception_pointer): Ditto.
15951         (connect_post_landing_pads): Ditto.
15952         (dw2_build_landing_pads): Ditto.
15953
15954 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
15955         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
15956         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
15957         (handle_pragma_redefine_extname): Change to use new function.
15958
15959 2002-07-08  Roger Sayle  <roger@eyesopen.com>
15960
15961         * combine.c (combine_simplify_rtx): Add an explicit cast
15962         to avoid signed/unsigned comparison warning.
15963         (simplify_if_then_else): Likewise.
15964         (extended_count): Likewise.
15965         (simplify_shift_const): Likewise.
15966         (simplify_comparison): Likewise.
15967
15968 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
15969
15970         * config/mips/mips.md: Add imadd type.  Update scheduler description
15971         to use imadd as well as imul.
15972         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
15973         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
15974         (*mul_sub_si): Likewise for first alternative.  Change second
15975         alternative from imul to multi.
15976
15977 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
15978
15979         * c-common.c (c_common_post_options): Update prototype;
15980         don't init backends if preprocessing only.
15981         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
15982         * langhooks.h (struct lang_hooks): Update post_options to
15983         return a boolean.
15984         * toplev.c (parse_options_and_default_flags, do_compile,
15985         lang_independent_init): Update prototypes.  Allow the
15986         front end to specify that there is no need to initialize
15987         the back end.
15988         (general_init): Move call to hex_init here...
15989         (toplev_main): ...from here.  Pass flag for back end init
15990         suppression.
15991
15992 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
15993
15994         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
15995         (PREDICATE_CODES): Add entries for equality_comparison_operator,
15996         greater_comparison_operator and less_comparison_operator.
15997         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
15998         more operators.
15999         (equality_comparison_operator): New function.
16000         (greater_comparison_operator, less_comparison_operator): Likewise.
16001         * sh.md (beq_media_i): Disable generator function generation.
16002         Use match_operator to handle a whole class of comparisons.  Add
16003         modifier in output template to provide branch prediction.  Add type.
16004         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16005         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16006         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16007         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16008
16009 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16010
16011         Emit MMIX function prologue and epilogue as rtl.
16012         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16013         not unprototyped get_hard_reg_initial_val.
16014         ("call_value", "nonlocal_goto_receiver"): Ditto.
16015         ("return"): Make define_expand.  Move real insn to...
16016         ("*expanded_return"): New pattern.
16017         ("prologue", "epilogue"): New define_expands.
16018         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16019         (struct machine_function): New member in_prologue.
16020         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16021         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16022         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16023         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16024         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16025         (LOCAL_REGNO): Define.  Adjust comment.
16026         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16027         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16028         leaf_function_p.
16029         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16030         the prologue.
16031         (mmix_target_asm_function_prologue): Make static.  Just mark that
16032         the prologue is being emitted.  Move guts to...
16033         (mmix_expand_prologue): New function.  Adjust for emitting
16034         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16035         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16036         \n.  Move guts to...
16037         (mmix_expand_epilogue): New function.  Adjust for emitting
16038         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16039         (mmix_target_asm_function_end_prologue): Mark that the prologue
16040         has ended.
16041         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16042         (mmix_conditional_register_usage): Improve comments.
16043         (mmix_local_regno): New function.
16044         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16045         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16046         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16047         (mmix_get_hard_reg_initial_val): Ditto.
16048
16049 2002-07-06  Andreas Jaeger  <aj@suse.de>
16050
16051         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16052         definitions.
16053         * gengtype.c (open_base_files): Likewise.
16054         (close_output_files): Likewise.
16055         * tracer.c (find_best_predecessor): Likewise.
16056         (find_best_successor): Likewise.
16057         (ignore_bb_p): Likewise.
16058
16059 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16060
16061         PR c++/7099
16062         * builtin-attrs.def: Define new attribute lists for use in
16063         builtins.def.
16064         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16065         ATTRS argument, an enumerated value defined in builtin-attrs.def
16066         that represents the attribute list for the builtins.  Modify
16067         all builtin functions to pass an appropriate attribute list.
16068         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16069         their required noreturn attributes.
16070         * tree.h (enum_builtin_function): Ignore the additional parameter
16071         to DEF_BUILTIN.
16072         * builtins.c (built_in_names): Likewise.
16073         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16074         argument with a tree representing the functions attribute list.
16075         Pass this "attrs" argument to builtin_function.  No longer handle
16076         the noreturn_p processing manually.
16077         (built_in_attributes): Move the definitions from builtin-attrs.def
16078         before c_common_nodes_and_builtins.
16079         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16080         DEF_BUILTIN, passing it to both builtin_function and the changed
16081         builtin_function_2.
16082
16083         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16084         __builtin__exit and __builtin__Exit.
16085
16086 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16087
16088         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16089         QI mode registers in soft registers.
16090         ("zero_extendqihi2"): Do not take into account soft registers
16091         for register allocation (use '*' constraint).
16092
16093 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16094
16095         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16096         it is dead.
16097         ("*ashrsi3"): Likewise.
16098         ("*lshrsi3"): Likewise.
16099
16100 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16101
16102         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16103         into account.
16104
16105 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16106
16107         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16108         address computation and memory moves.
16109
16110 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16111
16112         PR c++/6706
16113         * dwarfout.c (output_reg_number): Fix warning message.
16114         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16115         before using it.
16116
16117 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16118
16119         * gcc/gcc.c (asm_debug): Move initialization ...
16120         (init_spec): ... here.
16121
16122 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16123
16124         * c-parse.in (extdef): Append ';'.
16125         (old_style_parm_decls): Append ';'.
16126
16127 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16128
16129         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16130         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16131         to gcc_cv_as_gstabs_flag.
16132         * configure: Rebuilt.
16133
16134 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16135
16136         * ggc.h (ggc_add_root): Document as obsolete.
16137
16138 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16139
16140         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16141         (mshflo_w): Likewise.
16142
16143 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16144
16145         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16146         vector mode subregs of constants to finding integer mode
16147         subregs of constants.
16148         * cse.c (cse_insn): Use simplify_gen_subreg.
16149         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16150         From a vector mode expression of different size than the
16151         target mode.
16152
16153 2002-07-03  Eric Christopher  <echristo@redhat.com>
16154
16155         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16156         * config/mips/mips.h: Remove deprecated -m<processor> options
16157         and cc1_cpu_spec associated.
16158         (CONSTANT_ADDRESS_P): Fix last patch.
16159         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16160         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16161         sunge_sf): Remove.
16162
16163 2002-07-03  Stan Shebs  <shebs@apple.com>
16164
16165         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16166         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16167         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16168
16169 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16170
16171         * combine.c (struct_undo): Change types of recorded substitutions
16172         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16173         (do_SUBST_INT): Change types of the substitution from unsigned int
16174         to int, to avoid compilation warning from SUBST_INT's only caller.
16175
16176         (make_extraction): Add cast to avoid compilation warning.
16177         (force_to_mode): Remove cast to avoid compilation warning.
16178
16179 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16180             Jeff Law  <law@redhat.com>
16181
16182         * i386.md (length_immediate attribute): Fix typo.
16183         (length_address attribute): Likewise.
16184         (modrm attribute): Set it to 0 for immediate call instructions.
16185         (jcc_1 pattern): Set modrm attribute to 0.
16186         (jcc_2 pattern ): Likewise.
16187         (jump pattern): Likewise.
16188         (doloop_end_internal pattern): Explicitly set length.
16189         (leave pattern): Fix typo.
16190         (leave_rex64 pattern): Likewise.
16191
16192 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16193
16194         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16195         in FPR as preference.
16196         (fctiwz): Same.
16197         (floatdidf2, fix_truncdfdi2): Same.
16198         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16199         (floatditf2): Same.
16200         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16201         (ctrdi): Remove FPR alternative and splitter.
16202
16203 2002-07-03  Will Cohen  <wcohen@redhat.com>
16204
16205         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16206
16207 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16208
16209         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16210         than UNITS_PER_WORD, unless this is little endian and the first unit
16211         in this word.  Let extract_bit_field decide how to load an element.
16212         Force arguments to matching mode.
16213         (expand_vector_unop): Likewise.
16214
16215         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16216         consist of word_mode elements.
16217         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16218         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16219         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16220         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16221         CONST_VECTOR.
16222         * optabs.c (expand_vector_binop): Try to perform operation in
16223         smaller vector modes with same inner size.  Add handling of AND, IOR
16224         and XOR.  Reject expansion to inner-mode sized scalars when using
16225         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16226         (expand_vector_unop): Try to perform operation in smaller vector
16227         modes with same inner size.  Add handling of one's complement.
16228         When there is no vector negate operation, try a vector subtract
16229         operation.  Use simplify_gen_subreg on constants.
16230         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16231         constants into smaller vectors with same inner mode, and to
16232         integer CONST_DOUBLEs.
16233
16234 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16235
16236         * c-parse.in (parsing_iso_function_signature): New variable.
16237         (extdef_1): New, copied from...
16238         (extdef): ... here.  Reset parsing_iso_function_signature.
16239         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16240         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16241         Warn about ISO C style function definitions.
16242         (nested_function, notype_nested_function): Reset
16243         parsing_iso_function_signature.
16244         (parmlist_2): Set parsing_iso_function_signature.
16245
16246         * doc/invoke.texi (-Wtraditional): Document new behavior.
16247
16248 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16249
16250         * config.gcc (mips*el-*-*): Use tm_defines to set
16251         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16252         * config/mips/little.h: Remove.
16253
16254 2002-07-02 Devang Patel <dpatel@apple.com>
16255
16256         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16257         object as parameter. Prevent something like 'NSObject' to be
16258         used as the type for a method argument.
16259
16260 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16261
16262         * cpptrad.c: Update comment.
16263
16264 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16265
16266         * doc/cpp.texi: Update for traditional preprocessing changes.
16267         * goc/cppopts.texi: Similarly.
16268
16269 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16270
16271         * c-parse.in (designator): Enable designated initializers if ObjC.
16272         (objcmessageexpr): Remove references to objc_receiver_context.
16273         * objc/objc-act.h (objc_receiver_context): Remove decl.
16274         * objc/objc-act.c (objc_receiver_context): Remove.
16275         (lookup_objc_ivar): Test objc_method_context instead of
16276         objc_receiver_context.
16277
16278 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16279
16280         * sh.c (print_operand, case 'N'): Allow zero vector.
16281         (arith_reg_or_0_operand): Likewise.
16282         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16283         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16284         IOR, XOR, PLUS and SET and take their respective constant
16285         ranges into account.
16286         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16287         * sh.md (subdi3, subdi3_media): Allow zero operand.
16288         (movv8qi_i+3): Only vector that is not split is the zero vector.
16289         Fix operand 3 to simplify_subreg.
16290         (movv2si_i): Split alternative 1.
16291         (mshfhi_l_di_rev+1): New splitter.
16292
16293 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16294
16295         PR preprocessor/7029
16296         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16297         implicit "-w" for "-M" and "-MM".
16298         * doc/cppopts.texi: Update.
16299
16300 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16301
16302         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16303         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16304         builtin_function.
16305
16306 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16307
16308         * README.Portability: Fix typos.
16309
16310 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16311
16312         PR target/7177
16313         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16314         of indirections for register inside sign-extended mem part.
16315
16316 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16317
16318         * tree.h:  Modify builtin_function interface to take an extra
16319         argument ATTRS, which is a tree representing an attribute list.
16320
16321         * c-decl.c (builtin_function): Accept additional parameter.
16322         * objc/objc-act.c (builtin_function): Likewise.
16323         * f/com.c (builtin_function): Likewise.
16324         * java/decl.c (builtin_function): Likewise.
16325         * ada/utils.c (builtin_function): Likewise.
16326         * cp/decl.c (builtin_function): Likewise.
16327         (builtin_function_1): Likewise.
16328
16329         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16330         NULL_TREE argument to builtin_function.  (builtin_function_2):
16331         Likewise.
16332         * cp/call.c (build_java_interface_fn_ref): Likewise.
16333         * objc/objc-act.c (synth_module_prologue): Likewise.
16334         * java/decl.c (java_init_decl_processing): Likewise.
16335         * f/com.c (ffe_com_init_0): Likewise.
16336
16337         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16338         NULL_TREE argument to builtin_function.
16339         * config/arm/arm.c (def_builtin): Likewise.
16340         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16341         * config/i386/i386.c (def_builtin): Likewise.
16342         * config/ia64/ia64.c (def_builtin): Likewise.
16343         * config/rs6000/rs6000.c (def_builtin): Likewise.
16344
16345 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16346
16347         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16348         * config/mips/t-isa3264: Likewise.
16349         * config/mmix/t-mmix: Likewise.
16350
16351 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16352
16353         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16354
16355 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16356
16357         PR opt/4046
16358         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16359         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16360         B are truth values.
16361
16362 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16363
16364         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16365
16366 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16367
16368         * README.Portability (Function prototypes): Give an example of
16369         declaring and defining a function with no arguments.
16370
16371         * README.Portability (Function prototypes): Document new
16372         variable-argument function macros.
16373
16374 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16375
16376         * sh.c (langhooks.h): Include.
16377         (sh_init_builtins, sh_media_init_builtins): New functions.
16378         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16379         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16380         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16381         (builtin_description): New struct tag.
16382         (signature_args, bdesc): New arrays.
16383         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16384         (print_operand): Add 'N' modifier.
16385         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16386         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16387         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16388         (CONST_COSTS): Add special case for SHmedia AND.
16389         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16390         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16391         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16392         target_operand can also be const or unspec.
16393         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16394         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16395         (attribute type): Add new types.
16396         (anddi3): Add splitter.
16397         (movdi_const_16bit+1): Add code to handle vector constants and
16398         bitmasks efficiently.
16399         (shori_media): Have generator function made.
16400         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16401         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16402         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16403         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16404         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16405         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16406         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16407         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16408         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16409         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16410         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16411         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16412         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16413         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16414         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16415         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16416         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16417         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16418         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16419         (ftrv): Likewise.
16420
16421         (fpu_switch+1, fpu_switch+2): Remove constraint.
16422
16423 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16424
16425         * tree.c (build_function_type_list): Update function comment.
16426         Rename first argument to return_type.
16427
16428 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16429
16430         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16431         tradcif.y and related files.
16432
16433 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16434
16435         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16436
16437 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16438
16439         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16440
16441 See ChangeLog.7 for earlier changes.