c-pch.c (asm_file_startpos): Change to `long'.
[gcc.git] / gcc / ChangeLog
1 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2
3 * c-pch.c (asm_file_startpos): Change to `long'.
4 (pch_init): Use ftell, not ftello.
5 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
6 Use `long' instead of `off_t'.
7 (c_common_read_pch): Likewise.
8 * ggc-common.c (gt_pch_save): Use long/ftell instead of
9 off_t/ftello.
10
11 2003-01-12 Alan Modra <amodra@bigpond.net.au>
12
13 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
14
15 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
16
17 * arm-protos.h (struct cpp_reader): Add declaration.
18
19 Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
20
21 PR target/9068
22 * i386.c (output_fp_compare): Fix typo.
23
24 2003-01-10 David Edelsohn <edelsohn@gnu.org>
25
26 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
27
28 2003-01-10 Geoffrey Keating <geoffk@apple.com>
29
30 * Makefile.in (parsedir): New variable.
31 (docobjdir): New variable.
32 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
33 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
34 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
35 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
36 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
37 Use docobjdir.
38 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
39 objc.maintainer-clean): Use parsedir.
40
41 * varasm.c (struct constant_descriptor_rtx): Remove unused
42 `label' field.
43
44 * toplev.c (documented_lang_options): Document -Winvalid-pch.
45
46 2003-01-10 Richard Henderson <rth@redhat.com>
47
48 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
49 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
50
51 2003-01-10 Richard Henderson <rth@redhat.com>
52
53 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
54 not INTEGRAL_MODE_P when widening extensions.
55
56 2003-01-10 Richard Henderson <rth@redhat.com>
57
58 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
59
60 2003-01-10 Geoffrey Keating <geoffk@apple.com>
61
62 * ggc-page.c (ggc_collect): Avoid overflow computing
63 min_expand.
64
65 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
66 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
67 Remove calls.
68 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
69
70 Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
71
72 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
73 with weird operands.
74
75 2003-01-10 Dale Johannesen <dalej@apple.com>
76
77 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
78 parameters. Call check_sibcall_argument_overlap if indicated.
79 (check_sibcall_argument_overlap): Add mark_stored_args_map
80 parameter. Don't mark parameter area as clobbered if not set.
81 (expand_call): Adjust calls to above.
82
83 2003-01-10 Kelley Cook <kelleycook@comcast.net>
84
85 * configure.in (linker read-only and read-write section mixing):
86 Squelch some assembler warnings.
87 * configure: Likewise.
88
89 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
90
91 * doc/invoke.texi: Document -mtune, delete -mcpu
92 option for S/390 and zSeries.
93 * config/s390/s390.c (s390_tune_string) New variable.
94 (s390_cpu_string) Delete variable.
95 (override_options): Use s390_tune_string instead of
96 s390_cpu_string.
97 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
98
99 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
100
101 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
102
103 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
104
105 * jump.c (next_nonnote_insn_in_loop): New function.
106 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
107 next_nonnote_insn.
108 (duplicate_loop_exit_test). Likewise.
109
110 2003-01-09 Geoffrey Keating <geoffk@apple.com>
111
112 Merge from pch-branch:
113
114 2003-01-06 Geoffrey Keating <geoffk@apple.com>
115
116 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
117 load.
118
119 2002-12-24 Geoffrey Keating <geoffk@apple.com>
120
121 * cpplib.c (count_registered_pragmas): New function.
122 (save_registered_pragmas): New function.
123 (_cpp_save_pragma_names): New function.
124 (restore_registered_pragmas): New function.
125 (_cpp_restore_pragma_names): New function.
126 * cpphash.h (_cpp_save_pragma_names): Prototype.
127 (_cpp_restore_pragma_names): Likewise.
128 * cpppch.c (struct save_macro_item): Split from save_macro_data.
129 (struct save_macro_data): New field 'saved_pragmas'.
130 (save_macros): Update for changes to struct save_macro_data.
131 (cpp_prepare_state): Call _cpp_save_pragma_names, update
132 for changes to struct save_macro_data.
133 (cpp_read_state): Call _cpp_restore_pragma_names, update
134 for changes to struct save_macro_data.
135
136 * cpppch.c (cpp_read_state): Restore the hashtable references
137 in the cpp_reader.
138
139 * tree.h (built_in_decls): Mark for PCH.
140
141 * dbxout.c (lastfile): Don't mark for PCH.
142
143 * ggc.h: Document PCH calls into memory managers.
144
145 2002-12-18 Geoffrey Keating <geoffk@apple.com>
146
147 * doc/invoke.texi (Precompiled Headers): Document the
148 directory form of PCH.
149 * cppfiles.c (validate_pch): New function.
150 (open_file_pch): Search suitably-named directories for PCH files.
151
152 2002-12-14 Geoffrey Keating <geoffk@apple.com>
153
154 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
155 reorder options.
156 (Type Information): Mention that the information is also
157 used to implement PCH.
158 * doc/passes.texi (Passes): Improve documentation of
159 language-specific files.
160
161 2002-12-11 Geoffrey Keating <geoffk@apple.com>
162
163 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
164 (struct walk_type_data): Add reorder_fn field.
165 (walk_type): Process 'reorder' option.
166 (write_types_process_field): Reorder parameters to gt_pch_note_object,
167 call reorder_note_routine.
168 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
169 (ggc_wtd): Update for change to struct write_types_data.
170 (pch_wtd): Likewise.
171 * ggc.h (gt_pch_note_object): Reorder parameters.
172 (gt_handle_reorder): New definition.
173 (gt_pch_note_reorder): New prototype.
174 * ggc-common.c (struct ptr_data): Add reorder_fn.
175 (gt_pch_note_object): Reorder parameters.
176 (gt_pch_note_reorder): New.
177 (gt_pch_save): Call reorder_fn.
178 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
179
180 * dbxout.c (cwd): Don't mark for PCH.
181
182 2002-12-09 Geoffrey Keating <geoffk@apple.com>
183
184 * gengtype.c (finish_root_table): Fix some warnings.
185 (write_root): Handle TYPE_STRING.
186 * ggc.h (gt_ggc_m_S): Add prototype.
187 * stringpool.c (gt_ggc_m_S): New function.
188
189 2002-11-30 Geoffrey Keating <geoffk@apple.com>
190
191 * dwarf2out.c (dw2_string_counter): New.
192 (AT_string_form): Use it.
193 (same_dw_val_p): Update for removal of hashtable.h hash tables.
194
195 2002-11-22 Geoffrey Keating <geoffk@apple.com>
196
197 * dbxout.c: Include gt-dbxout.h.
198 (lastfile): Mark for PCH/GGC.
199 (cwd): Likewise.
200 (struct typeinfo): Likewise.
201 (typevec): Likewise.
202 (typevec_len): Likewise.
203 (next_type_number): Likewise.
204 (struct dbx_file): Likewise.
205 (current_file): Likewise.
206 (next_file_number): Likewise.
207 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
208 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
209 (dbxout_end_source_file): Don't free struct dbx_file.
210 (dbxout_type): Use GGC to allocate typevec.
211 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
212 (GTFILES): Add dbxout.c.
213 (gt-dbxout.h): New rule.
214
215 * Makefile.in (c-pch.o): Add debug.h as dependency.
216 * c-pch.c: Include debug.h.
217 (pch_init): Call start_source_file to keep nesting right.
218 (c_common_read_pch): Add orig_name parameter. Call
219 start_source_file debug hook. Call end_source_file debug hook.
220 * c-common.h (c_common_read_pch): Update prototype.
221 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
222 callback.
223 * cppfiles.c (struct include_file): Add new field `header_name'.
224 (find_or_create_entry): Default it to `name'.
225 (open_file_pch): Set it to the original header file searched for.
226 (stack_include_file): Don't stack an empty buffer, just handle
227 PCH files immediately. Pass header_name field to read_pch callback.
228
229 2002-11-19 Geoffrey Keating <geoffk@apple.com>
230
231 * function.c (funcdef_no): Mark to be saved in a PCH.
232
233 2002-11-15 Geoffrey Keating <geoffk@apple.com>
234
235 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
236
237 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
238
239 2002-11-14 Geoffrey Keating <geoffk@apple.com>
240
241 * optabs.h (code_to_optab): Add GTY marker.
242
243 2002-11-13 Geoffrey Keating <geoffk@apple.com>
244
245 * Makefile.in (GTFILES): Add cpplib.h.
246 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
247 * c-decl.c (build_compound_literal): Don't use var_labelno.
248 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
249 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
250 * varasm.c (const_labelno): Use gengtype to mark.
251 (var_labelno): Likewise.
252 (in_section): Likewise.
253 (in_named_name): Likewise.
254 (struct in_named_entry): Likewise.
255 (in_named_htab): Likewise.
256 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
257 (init_varasm_once): Use GGC to allocate in_named_htab.
258 * config/darwin.c (current_pic_label_num): Mark for PCH.
259
260 2002-11-11 Geoffrey Keating <geoffk@apple.com>
261
262 * ggc-simple.c (init_ggc_pch): New stub procedure.
263 (ggc_pch_count_object): Likewise.
264 (ggc_pch_total_size): Likewise.
265 (ggc_pch_this_base): Likewise.
266 (ggc_pch_alloc_object): Likewise.
267 (ggc_pch_prepare_write): Likewise.
268 (ggc_pch_write_object): Likewise
269 (ggc_pch_finish): Likewise.
270 (ggc_pch_read): Likewise.
271
272 2002-11-08 Geoffrey Keating <geoffk@apple.com>
273
274 * c-pch.c (c_common_write_pch): Write the macro definitions after
275 the GCed data.
276 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
277 definitions after the GCed data.
278 * cpplib.c (save_macros): New.
279 (reset_ht): New.
280 (cpp_write_pch_deps): Split out of cpp_write_pch.
281 (cpp_write_pch_state): Split out of cpp_write_pch.
282 (cpp_write_pch): Delete.
283 (struct save_macro_data): Delete.
284 (cpp_prepare_state): New.
285 (cpp_read_state): Erase and restore initial macro definitions.
286 * cpplib.h (struct save_macro_data): Forward-declare.
287 (cpp_write_pch_deps): Prototype.
288 (cpp_write_pch_state): Prototype.
289 (cpp_write_pch): Delete prototype.
290 (cpp_prepare_state): Prototype.
291 (cpp_read_state): Add fourth argument.
292
293 2002-11-04 Geoffrey Keating <geoffk@apple.com>
294
295 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
296 (write_array): Remove warning.
297
298 * gengtype.c (contains_scalar_p): New.
299 (finish_root_table): Add the table to all languages, even if it's
300 empty.
301 (write_roots): Output gt_pch_scalar_rtab.
302 * ggc-common.c (gt_pch_save): Write out scalars.
303 (gt_pch_restore): Read scalars back.
304
305 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
306 (struct page_entry): Delete pch_page field.
307 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
308 (clear_marks): Likewise.
309 (sweep_pages): Likewise.
310 (poison_pages): Likewise.
311 (ggc_print_statistics): Likewise.
312 (ggc_pch_read): Don't free objects read from a PCH.
313 Properly set up in_use_p and page_tails.
314
315 2002-10-25 Geoffrey Keating <geoffk@apple.com>
316
317 * gengtype.c (struct write_types_data): New.
318 (struct walk_type_data): Make `cookie' const; add extra
319 prev_val item; add `orig_s' field.
320 (walk_type): Update prev_val[3].
321 (write_types_process_field): New.
322 (write_func_for_structure): Take write_types_data structure.
323 (write_types): New.
324 (ggc_wtd): New.
325 (pch_wtd): New.
326 (write_types_local_process_field): New.
327 (gc_mark_process_field): Delete.
328 (write_local_func_for_structure): New.
329 (gc_mark_func_name): Delete.
330 (write_gc_types): Delete.
331 (write_local): New.
332 (finish_root_table): Don't include 'ggc_' in PFX.
333 (write_root): Rename from write_root. Fill pchw field of structures.
334 (write_array): New.
335 (write_roots): Rename from write_gc_roots. Split out to write_array.
336 Update to changes to other routines. Write gt_pch_cache_rtab table.
337 (main): Write PCH walking routines.
338 * ggc-common.c: Include toplev.h, sys/mman.h.
339 (ggc_mark_roots): For cache hashtables, also mark the hash table
340 and the array of entries.
341 (saving_htab): New.
342 (struct ptr_data): New.
343 (POINTER_HASH): New.
344 (gt_pch_note_object): New.
345 (saving_htab_hash): New.
346 (saving_htab_eq): New.
347 (struct traversal_state): New.
348 (call_count): New.
349 (call_alloc): New.
350 (compare_ptr_data): New.
351 (relocate_ptrs): New.
352 (write_pch_globals): New.
353 (struct mmap_info): New.
354 (gt_pch_save): New.
355 (gt_pch_restore): New.
356 * ggc-page.c (ROUND_UP_VALUE): New.
357 (ROUND_UP): New.
358 (struct page_entry): Add field `pch_page'.
359 (init_ggc): Use ROUND_UP.
360 (struct ggc_pch_data): Declare.
361 (init_ggc_pch): New.
362 (ggc_pch_count_object): New.
363 (ggc_pch_total_size): New.
364 (ggc_pch_this_base): New.
365 (ggc_pch_alloc_object): New.
366 (ggc_pch_prepare_write): New.
367 (ggc_pch_write_object): New.
368 (ggc_pch_finish): New.
369 (ggc_pch_read): New.
370 * ggc.h (gt_pointer_operator): New.
371 (gt_note_pointers): New.
372 (gt_pch_note_object): New prototype.
373 (gt_pointer_walker): New.
374 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
375 (LAST_GGC_ROOT_TAB): Update.
376 (gt_pch_cache_rtab): Declare.
377 (gt_pch_scalar_rtab): Declare.
378 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
379 (LAST_GGC_CACHE_TAB): Update.
380 (gt_pch_save_stringpool): Declare.
381 (gt_pch_restore_stringpool): Declare.
382 (gt_pch_p_S): Declare.
383 (gt_pch_n_S): Declare.
384 (struct ggc_pch_data): Forward-declare.
385 (init_ggc_pch): Declare.
386 (ggc_pch_count_object): Declare.
387 (ggc_pch_total_size): Declare.
388 (ggc_pch_this_base): Declare.
389 (ggc_pch_alloc_object): Declare.
390 (ggc_pch_prepare_write): Declare.
391 (ggc_pch_write_object): Declare.
392 (ggc_pch_finish): Declare.
393 (ggc_pch_read): Declare.
394 (gt_pch_save): Declare.
395 (gt_pch_restore): Declare.
396 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
397 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
398 const_double_htab, mem_attrs_htab using GGC.
399 * c-pch.c: Include ggc.h.
400 (pch_init): Allow reading PCH file back.
401 (c_common_write_pch): Call gt_pch_save.
402 (c_common_read_pch): Call gt_pch_restore.
403 * c-parse.in (init_reswords): Delete now-untrue comment.
404 Allocate ridpointers using GGC.
405 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
406 calling expand_deferred_fns.
407 * c-common.h (ridpointers): Mark for GTY machinery.
408 * Makefile.in (stringpool.o): Update dependencies.
409 (c-pch.o): Update dependencies.
410 (ggc-common.o): Update dependencies.
411 * stringpool.c: Include gt-stringpool.h.
412 (gt_pch_p_S): New.
413 (gt_pch_n_S): New.
414 (struct string_pool_data): New.
415 (spd): New.
416 (gt_pch_save_stringpool): New.
417 (gt_pch_restore_stringpool): New.
418 * tree.c (init_ttree): Make type_hash_table allocated using GC.
419
420 2002-10-04 Geoffrey Keating <geoffk@apple.com>
421
422 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
423 (output_mangled_typename): Don't pass size_t to printf.
424
425 * tree.h (union tree_type_symtab): Add tag to `address' field.
426 (union tree_decl_u2): Add tag to 'i' field.
427 * varasm.c (union rtx_const_un): Add tags to all fields.
428 * gengtype.c (struct walk_type_data): New.
429 (output_escaped_param): Take struct walk_type_data parameter.
430 (write_gc_structure_fields): Delete.
431 (walk_type): New.
432 (write_gc_marker_routine_for_structure): Delete.
433 (write_func_for_structure): New.
434 (gc_mark_process_field): New.
435 (gc_mark_func_name): New.
436 (gc_counter): Delete.
437 (write_gc_types): Use write_func_for_structure.
438 (write_gc_roots): Use walk_type.
439
440 2002-10-02 Geoffrey Keating <geoffk@apple.com>
441
442 * ggc-common.c (ggc_mark_roots): Delete 'x'.
443 (ggc_splay_dont_free): Fix warning about unused 'x'.
444 (ggc_print_common_statistics): Remove warnings.
445
446 2002-10-01 Mike Stump <mrs@apple.com>
447
448 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
449 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
450
451 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
452 Catherine Moore <clm@redhat.com>
453
454 * Makefile (c-pch.o): Update dependencies.
455 (LIBCPP_OBJS): Add cpppch.o.
456 (cpppch.o): New.
457 * c-common.c (c_common_init): Don't call pch_init here.
458 * c-common.h (c_common_read_pch): Update prototype.
459 * c-lex.c (c_common_parse_file): Call pch_init here.
460 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
461 (c_common_decode_option): Handle them.
462 * c-pch.c: Include c-pragma.h.
463 (save_asm_offset): Delete.
464 (pch_init): Move contents of save_asm_offset into here, call
465 cpp_save_state.
466 (c_common_write_pch): Call cpp_write_pch.
467 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
468 cpp_valid_state.
469 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
470 * cppfiles.c (stack_include_file): Update for change to
471 parameters of cb.read_pch.
472 * cpphash.h (struct cpp_reader): Add `savedstate' field.
473 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
474 `restore_pch_deps' fields.
475 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
476 (cpp_save_state): Prototype.
477 (cpp_write_pch): Prototype.
478 (cpp_valid_state): Prototype.
479 (cpp_read_state): Prototype.
480 * cpppch.c: New file.
481 * flags.h (version_flag): Remove prototype.
482 * mkdeps.c (deps_save): New.
483 (deps_restore): New.
484 * mkdeps.h (deps_save): Prototype.
485 (deps_restore): Prototype.
486 * toplev.c (late_init_hook): Delete.
487 (version_flag): Make static again.
488 (compile_file): Don't call late_init_hook.
489 * toplev.h (late_init_hook): Delete.
490 * doc/cppopts.texi: Document -fpch-deps.
491 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
492
493 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
494
495 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
496 callers.
497 (c_common_valid_pch): Rename from c_valid_pch, change callers.
498 (c_common_read_pch): Rename from c_read_pch, change callers.
499
500 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
501 a space between it and its argument.
502
503 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
504
505 * c-pch.c: New file.
506 * toplev.h (late_init_hook): Declare.
507 * toplev.c (late_init_hook): Define.
508 (version_flag): Make globally visible.
509 (compile_file): Call late_init_hook.
510 (init_asm_output): Make output file seekable.
511 * gcc.c (default_compilers): Update c-header rule.
512 * flags.h (version_flag): Declare.
513 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
514 fields.
515 * cppfiles.c (struct include_file): Add 'pch' field.
516 (INCLUDE_PCH_P): New.
517 (open_file_pch): New.
518 (stack_include_file): Handle PCH files specially.
519 (find_include_file): Call open_file_pch instead of open_file.
520 (_cpp_read_file): Explain why open_file is used instead of
521 open_file_pch.
522 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
523 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
524 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
525 in cpplib callbacks.
526 * c-common.c (pch_file): Correct comment.
527 (allow_pch): Define.
528 (c_common_init): Call pch_init.
529 * c-common.h (allow_pch): Declare.
530 (pch_init): Declare.
531 (c_valid_pch): Declare.
532 (c_read_pch): Declare.
533 (c_write_pch): Declare.
534 * Makefile.in (c-pch.o): New.
535 (C_AND_OBJC_OBJS): Add c-pch.o.
536 * doc/invoke.texi (Precompiled Headers): Add index entries,
537 complete truncated paragraph.
538
539 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
540
541 * c-common.c: (pch_file): Define.
542 * c-common.h (pch_file): Declare.
543 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
544 (missing_arg): Require --output-pch= to have an argument.
545 (c_common_decode_option): Handle --output-pch=.
546 * gcc.c: Document new %V.
547 (default_compilers): Handle compiling C header files.
548 (do_spec_1): Implement %V.
549 (main): Handle "gcc foo.h" without trying to run linker.
550 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
551 (Overall Options): Document what the driver does with header files,
552 document new -x option possibilities.
553 (Invoking G++): More documentation for PCH.
554 (Precompiled Headers): New.
555
556 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
557
558 * ggc.h: Don't include varray.h. Rearrange functions to be more
559 organized.
560 (ggc_add_root): Delete.
561 (ggc_mark_rtx): Delete.
562 (ggc_mark_tree): Delete.
563 (struct ggc_statistics): Remove contents.
564 * ggc-common.c: Remove unneeded includes.
565 (struct ggc_root): Delete.
566 (roots): Delete.
567 (ggc_add_root): Delete.
568 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
569 (ggc_print_common_statistics): Remove most of the contents.
570 * Makefile.in (GGC_H): No longer uses varray.h.
571 (ggc-common.o): Update dependencies.
572 (c-parse.o): Add varray.h to dependencies.
573 (c-common.o): Add varray.h.
574 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
575 (mark_ident_hash): Rename to ggc_mark_stringpool.
576 (init_stringpool): Don't use ggc_add_root.
577 * c-parse.in: Include varray.h.
578 * c-common.c: Include varray.h.
579 * objc/Make-lang.in (objc-act.o): Add varray.h.
580 * objc/objc-act.c: Include varray.h.
581
582 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
583
584 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
585 (dw_cfi_oprnd1_desc): Likewise.
586
587 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
588
589 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
590 move out of ifdef.
591 (alpha_links): Use gengtype to mark; move out of ifdef.
592 (mark_alpha_links_node): Delete.
593 (mark_alpha_links): Delete.
594 (alpha_need_linkage): Use GGC to allocate splay tree, struct
595 alpha_links, strings. Don't use ggc_add_root.
596 * ggc-common.c (ggc_splay_alloc): New.
597 (ggc_splay_dont_free): New.
598 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
599 (ggc_mark_tree): Likewise.
600 (splay_tree_new_ggc): New.
601 (ggc_splay_alloc): Declare.
602 (ggc_splay_dont_free): Declare.
603 * dwarf2asm.c: Include gt-dwarf2asm.h.
604 (mark_indirect_pool_entry): Delete.
605 (mark_indirect_pool): Delete.
606 (indirect_pool): Use gengtype to mark.
607 (dw2_force_const_mem): Don't use ggc_add_root.
608 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
609 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
610 (gt-dwarf2asm.h): Depend on s-gtype.
611
612 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
613
614 * tree.h (union tree_type_symtab): Mark `die' field.
615 * Makefile.in (dwarf2out.o): Update dependencies.
616 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
617 hash tables.
618 (dw_cfi_oprnd1_desc): New function.
619 (dw_cfi_oprnd2_desc): New function.
620 (indirect_string_alloc): Delete.
621 (debug_str_do_hash): New function.
622 (debug_str_eq): New function.
623 (mark_limbo_die_list): Delete.
624 (dwarf2out_init): Don't call ggc_add_root.
625
626 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
627
628 The following changes are merged from itanium-sched-branch:
629
630 2003-01-08 David Edelsohn <edelsohn@gnu.org>
631
632 * doc/md.texi: Clarify assignment of units to automata description.
633
634 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
635
636 * genautomata.c (unit_decl): Remove members
637 `the_same_automaton_unit' and
638 `the_same_automaton_message_reported_p'.
639 (process_unit_to_form_the_same_automaton_unit_lists,
640 form_the_same_automaton_unit_lists_from_regexp,
641 form_the_same_automaton_unit_lists, the_same_automaton_lists):
642 Remove them.
643 (annotation_message_reported_p): New global variable.
644 (check_unit_distribution_in_reserv,
645 check_regexp_units_distribution): New functions.
646 (check_unit_distributions_to_automata): Rewrite it.
647
648 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
649
650 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
651 Use continue instead of break if cycle is too big.
652
653 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
654
655 * genautomata.c (check_unit_distributions_to_automata): Output at
656 most one message for a unit.
657 (process_unit_to_form_the_same_automaton_unit_lists): Check
658 automaton of units instead of units themself.
659
660 * doc/md.texi: Describe the constraint about assigning unit to
661 automata.
662
663 2002-12-20 Jan Hubicka <jH@suse.cz>
664 Vladimir Makarov <vmakarov@redhat.com>
665
666 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
667 and `in_set_p'.
668 (gen_cpu_unit): Initialize the new members.
669 (process_regexp_cycles): Calculate minimal finish cycle too. Set
670 up `min_occ_cycle_num'.
671 (evaluate_max_reserv_cycles): Change the function call.
672 (CLEAR_BIT): New macro.
673 (states_union, state_shift): Use the mask.
674 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
675 (form_reservs_matter): New function.
676 (make_automaton): Call the function and use the mask.
677 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
678 account.
679
680 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
681
682 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
683
684 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
685
686 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
687 for Itanium.
688
689 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
690
691 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
692 default cpu.
693
694 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
695 2002-10-31 Dale Johannesen <dalej@apple.com>
696
697 * haifa-sched.c (find_set_reg_weight): New function.
698 (find_insn_reg_weight): Use the new function.
699 (schedule_block): Do sorting ready queue always
700 after insn issue.
701
702 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
703
704 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
705
706 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
707
708 * haifa-sched.c (choice_entry): New structure.
709 (choice_stack, cycle_issued_insns): New variables.
710 (max_issue): Rewrite it.
711 (choose_ready): Set up ready_try for unknown insns too.
712 (schedule_block): Allocate and free choice_stack. Set up
713 and modify cycle_issued_insns.
714
715 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
716 with and without filling the bundle.
717 (bundling): Combine calls of issue_nops_and_insn.
718
719 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
720
721 * config/ia64/itanium1.md: New file.
722
723 * config/ia64/itanium2.md: New file.
724
725 * config/ia64/ia64.md: Move DFA descriptions into the new files.
726 Remove the old pipeline description.
727
728 * config/ia64/ia64.c (ia64_override_options): Add aliases of
729 itanium processor names.
730
731 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
732
733 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
734 (ia64_reorg): Set up queried unit codes for Itanium2 too.
735
736 * config/ia64/ia64.md: Add descriptions for Itanium2.
737
738 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
739
740 * config/ia64/ia64.h (processor_type): New enumeration.
741 (ia64_tune, ia64_tune_string): New external declarations.
742 (TARGET_OPTIONS): Add option `tune='.
743
744 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
745 variables.
746 (ia64_override_options): Set up `ia64_tune'.
747 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
748 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
749 (bundling): Add nops for MM-insns only for Itanium.
750 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
751 Itanium.
752
753 * config/ia64/ia64.md (cpu): New attribute.
754 (DFA description): Enable it only for Itanium.
755
756 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
757 Richard Henderson <rth@redhat.com>
758
759 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
760 MASK_EARLY_STOP_BITS.
761 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
762 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
763 `early-stop-bits'.
764
765 * config/ia64/ia64.c (ia64_dfa_new_cycle,
766 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
767 instead of TARGET_TUNE_STOP_BITS.
768
769 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
770 `-mearly-stop-bits'.
771
772 * config/ia64/ia64.c (automata_option "v"): Comment it.
773
774 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
775
776 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
777 New macros.
778 (TARGET_SWITCHES): Add entries for the new option.
779
780 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
781 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
782 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
783 global variables.
784 (ia64_sched_reorder2): Set up `clocks'.
785 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
786 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
787 queue when TARGET_TUNE_STOP_BITS.
788 (bundling): Insert additional nops for MM-insns.
789 (final_emit_insn_group_barriers): Add insertion of stop bits
790 according `stops_p'.
791 (ia64_reorg): Initiate the new varibales.
792
793 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
794
795 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
796
797 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
798 insns at the end of block insn scheduling.
799
800 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
801
802 * sched-deps.c (remove_dependence, group_leader): Remove it.
803 (add_dependence): Add dependence to group leader to.
804 (set_sched_group_p): Add dependence to the first insn of the
805 schedule group too.
806 (sched_analyze_insn): Make dependence to jump as anti-dependence.
807 Change true dependence by anti-dependence when
808 `reg_pending_barrier'.
809
810 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
811 add_branch_dependences): Ignore schedule groups.
812
813 * sched-ebb.c (init_ready_list): Ditto.
814
815 * (move_insn, set_priorities): Ditto.
816
817 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
818 flag is clear after reload.
819 (adjust_cost): Change cost only for output dependencies.
820
821 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
822
823 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
824
825 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
826
827 * target.h (gcc_target): Add member
828 `dependencies_evaluation_hook'.
829
830 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
831 macro.
832 (TARGET_SCHED): Add initiatialization of the new member.
833
834 * sched-ebb.c: Include `target.h'.
835 (schedule_ebb): Call `dependencies_evaluation_hook'.
836
837 * sched-rgn.c (schedule_region): Call
838 `dependencies_evaluation_hook'.
839
840 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
841 New macro.
842 (ia64_dependencies_evaluation_hook): New function.
843
844 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
845 Describe the new hook.
846
847 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
848
849 * target.h (gcc_target): Add members
850 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
851
852 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
853 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
854 macros.
855 (TARGET_SCHED): Add initiatialization of the new members.
856
857 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
858 insn scheduling too.
859 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
860 initialize `ready_try'.
861 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
862 `dfa_new_cycle' says not to do it.
863
864 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
865 bundling.
866
867 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
868
869 * config/ia64/ia64.c: Include `hashtab.h'.
870 (ia64_first_cycle_multipass_dfa_lookahead_guard,
871 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
872 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
873 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
874 bundle_state_eq_p, insert_bundle_state,
875 initiate_bundle_state_table, finish_bundle_state_table,
876 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
877 get_template, get_next_important_insn, bundling): New functions.
878 (ia64_internal_sched_reorder): Remove it.
879 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
880 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
881 (ia64_safe_itanium_requires_unit0): Remove it.
882 (group_barrier_needed_p): Place group barrier right before a real
883 insn.
884 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
885 Remove them.
886 (bundle_name): New variable.
887 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
888 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
889 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
890 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
891 temp_dfa_state, prev_cycle_state): New global variables.
892 (insn_matches_slot, maybe_rotate, finish_last_head,
893 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
894 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
895 find_best_packet, itanium_reorder, dump_current_packet,
896 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
897 (sched_data, sched_ready, sched_types): Remove them.
898 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
899 `init_insn_group_barriers'.
900 (ia64_sched_reorder, ia64_sched_reorder2): Call
901 ia64_dfa_sched_reorder.
902 (ia64_variable_issue): Rewrite it.
903 (bundle_state): New structure.
904 (index_to_bundle_states, bundle_states_num,
905 allocated_bundle_states_chain, free_bundle_state_chain): New
906 global variables.
907 (ia64_sched_finish): Add stop bits and call `bundling' after the
908 2nd insn scheduling.
909 (ia64_use_dfa_pipeline_interface): Return zero always.
910 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
911 insn scheduling.
912 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
913 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
914 (ia64_reorg): Add bundling insns.
915
916 * doc/tm.texi
917 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
918 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
919
920 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
921
922 * config/ia64/ia64.md: Add Itanium1 DFA description.
923 (itanium_class): Add `nop' and `pre_cycle'. Add
924 define_function_unit for `nop'.
925 (nop): Change attribute `itanium_class'.
926 (pre_cycle): New define_insn.
927
928 * config/ia64/ia64-protos.h (bundling_p): New external variable.
929 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
930 ia64_produce_address_p): New function prototypes.
931
932 * config/ia64/ia64.c (bundling_p): New global variable.
933 (ia64_use_dfa_pipeline_interface,
934 ia64_first_cycle_multipass_dfa_lookahead,
935 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
936 functions.
937 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
938 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
939 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
940 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
941 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
942 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
943 (dfa_pre_cycle_insn): New variable.
944
945 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
946
947 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
948 constructions.
949
950 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
951 New function prototypes.
952
953 * genattrtab.c (main): Process the new constructions.
954
955 * genautomata.c (gen_presence_absence_set,
956 process_presence_absence_names, process_presence_absence_patterns,
957 add_presence_absence, check_absence_pattern_sets): Add parameter
958 `final_p'.
959 (unit_decl): Add new members `final_presence_list' and
960 `final_absence_list'.
961 (unit_pattern_rel_decl): Add new member `final_p'.
962 (gen_final_presence_set, gen_final_absence_set): New functions.
963 (process_decls): Use member `final_p'.
964 (temp_reserv): New global variable.
965 (reserv_sets_are_intersected): Add processing `final_presence_set'
966 and `final_absence_set'.
967 (initiate_states): Allocate `temp_reserv'.
968 (unit_final_presence_set_table, unit_final_absence_set_table): New
969 gloabal variables.
970 (initiate_presence_absence_pattern_sets): Initiate them.
971 (NDFA_to_DFA): Fix typo.
972 (output_description): Output `final_presence_set' and
973 `final_absence_set'.
974
975 * doc/md.texi (final_presence_set, final_absence_set): Describe
976 them.
977
978 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
979
980 * genautomata.c (transform_3): Process a missing case (nothing on
981 unit place).
982
983 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
984
985 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
986 comments about queried units and the minimization.
987
988 * doc/md.texi: Ditto.
989
990 * genautomata.c (create_composed_state): Return nonzero if the new
991 state has been created.
992 (first_cycle_unit_presence): New function.
993 (state_is_differed): Add new parameter. Use the new function.
994 Take queried units into account.
995 (partition_equiv_class): Pass additional parameter to
996 `state_is_differed'.
997 (merge_states): Process composed states too.
998 (build_automaton, create_automata, output_min_issue_delay_table,
999 output_tables, output_statistics): Output more information.
1000 (output_reserved_units_table): Use function
1001 `first_cycle_unit_presence'.
1002 (output_tables): Output table of queried units even if the
1003 minimization is switched on.
1004 (write_automata): Output code for querying units even if the
1005 minimization is switched on.
1006
1007 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
1008
1009 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1010 syntax of the constructions.
1011
1012 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1013 extended syntax of the constructions.
1014
1015 * genautomata.c (unit_rel_decl): Rename it to
1016 `unit_pattern_rel_decl'.
1017 (pattern_set_el, pattern_reserv): New structures.
1018 (pattern_set_el_t, pattern_reserv_t): New types.
1019 (gen_presence_absence_set): New function.
1020 (process_presence_absence): Remove it.
1021 (process_presence_absence_names,
1022 process_presence_absence_patterns): New functions.
1023 (get_presence_absence_set): Remove it.
1024 (initiate_presence_absence_sets): Rename it on
1025 `initiate_presence_absence_pattern_sets'. Use new function
1026 `form_reserv_sets_list'.
1027 (form_reserv_sets_list, check_presence_pattern_sets,
1028 check_absence_pattern_sets, output_pattern_set_el_list): New
1029 functions.
1030 (unit_decl): Change types of members `presence_list' and
1031 `absence_list'.
1032 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1033 (decl): Change types of members `excl', `presence', and `absence'.
1034 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
1035 at the end of the vector.
1036 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1037 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1038 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1039 (gen_presence_set, gen_absence_set): Use new function
1040 `gen_presence_absence_set'.
1041 (add_presence_absence): Process `pattern_list' instead of
1042 `source_list'.
1043 (process_decls): USe new functions
1044 `process_presence_absence_names' and
1045 `process_presence_absence_patterns'.
1046 (reserv_sets_are_intersected): Use new function
1047 `check_presence_pattern_sets'.
1048 (presence_set, absence_set): Remove them.
1049 (unit_presence_set_table, unit_absence_set_table): New global
1050 variables.
1051 (output_description): Use new function
1052 `output_pattern_set_el_list'.
1053 (generate): Use `initiate_presence_absence_pattern_sets'.
1054
1055 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
1056
1057 * genattr.c (main): Add output of prototype of new interface
1058 function `dfa_clean_insn_cache'.
1059
1060 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1061 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1062 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1063 the generated code.
1064 (write_automata): Call the new function.
1065
1066 Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
1067
1068 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1069 correctly.
1070
1071 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
1072
1073 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1074
1075 Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
1076
1077 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1078 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1079 (CONSTRAINT_LEN): Provide default definition.
1080 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1081 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1082 (EXTRA_CONSTRAINT_STR): Likewise.
1083 (REG_CLASS_FROM_CONSTRAINT): Define.
1084 * genoutput.c (check_constraint_len, constraint_len): New functions.
1085 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1086 constraint / modifier.
1087 (gen_insn): Call check_constraint_len.
1088 * local-alloc.c (block_alloc): Update to use new macros / pass
1089 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1090 * ra-build.c (handle_asm_insn): Likewise.
1091 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1092 (constrain_operands, peep2_find_free_register): Likewise.
1093 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1094 * regmove.c (find_matches): Likewise.
1095 * reload.c (push_secondary_reload, find_reloads): Likewise.
1096 (alternative_allows_memconst): Likewise.
1097 * reload1.c (maybe_fix_stack_asms): Likewise.
1098 (reload_cse_simplify_operands): Likewise.
1099 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1100 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1101 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1102 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1103 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1104 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1105
1106 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1107
1108 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
1109
1110 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1111 length.
1112 (*extzv_1_r_h8300hs): Likewise.
1113 (*extzv_1_r_inv_h8300): Likewise.
1114 (*extzv_1_r_inv_h8300hs): Likewise.
1115
1116 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
1117
1118 * config/h8300/h8300.h (PREDICATE_CODES): New.
1119
1120 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
1121
1122 * config/h8300/h8300.md (*addsi3_upper): New.
1123 (*iorsi3_shift): Likewise.
1124 (two splitters): Likewise.
1125 (*addsi3_shift): Likewise.
1126 (two splitters): Likewise.
1127
1128 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1129
1130 * Makefile.in (optabs.o): Add dependency on basic-block.h.
1131 * basic-block.h (control_flow_insn_p): Fuction was exported.
1132 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1133 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1134 notes only when the region is contained in a single basic block.
1135
1136 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
1137
1138 PR inline-asm/8832
1139 * tree.h (expand_asm): New prototype.
1140 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1141 to do so.
1142 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1143 down to expand_asm.
1144 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1145 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1146 (volatile_refs_p) [ASM_INPUT]: Likewise.
1147 (side_effects_p) [ASM_INPUT]: Likewise.
1148
1149 Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
1150
1151 * i386.md (*mul*): FIx constraints; remove confused comment; fix
1152 athlon_decode attributes
1153 (imul/k8 optimization peep2s): New.
1154
1155 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1156 * i386.md (type attribute): Add ssecomi.
1157 (unit, memory, prefix attributes): Handle ssecomi.
1158 (cvt?2? patterns): Fix athlon_decode attribute
1159 (comi patterns): Set attribute to ssecomi.
1160
1161 PR target/8343
1162 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1163
1164 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
1165
1166 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1167 that match register_operands.
1168 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1169 register_operand the default case.
1170
1171 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
1172
1173 PR c/8032
1174 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1175 an empty element, do not advance the pointer to unfilled
1176 fields if there are pending initializers.
1177
1178 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
1179
1180 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1181 (install-gcc-tooldir, install-cpp, installdirs,
1182 install-common, install-driver, install-info, install-man,
1183 install-headers, install-include-dir, install-headers-tar,
1184 install-headers-cpio, install-headers-cp, install-mkheaders,
1185 install-collect2, uninstall): Prepend $(DESTDIR) to
1186 destination paths in all (un)installation commands.
1187 (install-driver): Rewrite $(LN) commands to support DESTDIR
1188 with "ln" as well as with "ln -s".
1189 (installdirs): Simply use mkinstalldirs.
1190 (install-libgcc, install-multilib): Also pass DESTDIR.
1191 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1192 installation destination variable ldir.
1193 * config/alpha/t-osf4, config/arm/t-netbsd,
1194 config/ia64/t-hpux, config/mips/t-iris5-6,
1195 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1196 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1197 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1198 in the definition of SHLIB_INSTALL.
1199 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1200 $(libsubdir) in the installation commands.
1201
1202 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
1203
1204 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1205 non-optimizing compile.
1206 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1207 compile.
1208
1209 2003-01-08 Douglas B Rupp <rupp@gnat.com>
1210
1211 * config/i386/i386.c (ix86_attribute_table): Add new attributes
1212 ms_struct and gcc_struct.
1213 (ix86_handle_struct_attribute): New function.
1214 (ix86_ms_bitfield_layout_p): Update to take new attributes
1215 into account.
1216 * doc/extend.texi: Document new attributes.
1217 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1218
1219 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
1220
1221 PR optimization/8750
1222 * config/i386/i386.c (ix86_expand_prologue): Don't allow
1223 scheduling pass to move insns across __alloca call.
1224
1225 2003-01-08 Dale Johannesen <dalej@apple.com>
1226
1227 * config/rs6000/rs6000.md: Replace *store_multiple_string
1228 with *stmsi[3-8].
1229
1230 2003-01-08 Jeff Sturm <jsturm@one-point.com>
1231
1232 PR target/9210
1233 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1234 Set SYMBOL_REF_FLAG on local data sym_ref.
1235
1236 2003-01-08 Dale Johannesen <dalej@apple.com>
1237
1238 * function.c (assign_parms): Don't set pretend_args_size if
1239 REG_PARM_STACK_SPACE.
1240 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
1241 pretend_args_size.
1242
1243 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
1244
1245 * gcc.hlp: Delete.
1246
1247 Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
1248
1249 * i386.c (ix86_expand_int_addcc): Fix thinko.
1250
1251 2003-01-08 David Edelsohn <edelsohn@gnu.org>
1252
1253 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1254 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1255 as hook_bool_tree_hwi_hwi_tree_true.
1256 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1257 (rs6000_emit_epilogue): Same.
1258 (rs6000_output_mi_thunk): Re-implement as RTL.
1259 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1260 xcoffout_declare_function if any debugging enabled.
1261
1262 2003-01-08 Chris Demetriou <cgd@broadcom.com>
1263
1264 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1265 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1266 * config/mips/mips.h (enum processor_type): Rename
1267 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1268 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1269 Add PROCESSOR_M4K.
1270 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1271 (ISA_MIPS32R2): New define.
1272 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1273 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1274 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1275 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
1276 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
1277 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1278 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1279 compiling MIPS16 code.
1280 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1281 comment.
1282 (ISA_HAS_SEB_SEH): New define.
1283 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1284 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1285 processor_type value renaming. Add support for MIPS32R2.
1286 Clean up comments, and move "sb1" entry with other MIPS64 CPU
1287 entries.
1288 (override_options): Reimplement -mipsN option handling so that
1289 it will work correctly for -mips32r2. Avoid branch-likely
1290 instructions on MIPS32R2.
1291 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1292 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1293 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1294 (extendhisi2_hw, extendqisi2_hw): New.
1295 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1296 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
1297 MIPS32R2, and MIPS64.
1298 (LINK_SPEC): Pass -mips32r2 to linker.
1299 * config/mips/t-isa3264: Built -mips32r2 multilibs.
1300 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1301 for mips32r2 in the -march description. Alphabetically sort
1302 CPU names in the -march description. Add long-missed -mips32
1303 and -mips64 to MIPS option summary.
1304
1305 * config.gcc: Update copyright years to include 2003.
1306 * config/mips/mips.c: Likewise.
1307 * config/mips/mips.h: Likewise.
1308 * config/mips/mips.md: Likewise.
1309 * config/mips/netbsd.h: Likewise.
1310 * doc/invoke.texi: Likewise.
1311
1312 2003-01-08 Andreas Schwab <schwab@suse.de>
1313
1314 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1315 variable.
1316 * configure: Regenerated.
1317
1318 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
1319
1320 * config/h8300/h8300.c (output_logical_op): Replace byte/word
1321 extraction of det with b0, b1, w0, w2, etc.
1322 (compute_logical_op_length): Likewise.
1323 (compute_logical_op_cc): Likewise.
1324
1325 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
1326
1327 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1328 HIGH on all variants.
1329
1330 Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1331
1332 * Makefile.in (PARTITION_H): New.
1333 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1334 * basic-block.h: Include hard-reg-set.h.
1335
1336 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
1337
1338 * arm.h (ENABLE_XF_PATTERNS): Delete.
1339 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1340 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1341 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1342 (cmpxf_trap): Delete.
1343 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1344
1345 Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
1346
1347 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1348 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1349 (add??cc): New expanders.
1350 * i386.c (expand_int_addcc): New function.
1351 * i386-protos.h (expand_int_addcc): Declare.
1352
1353 * alias.c (memory_modified_1): New static function.
1354 (memory_modified): New static varaible.
1355 (memory_modified_in_insn_p): New global function.
1356 * rtl.h (memory_modified_in_insn_p): Declare.
1357 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1358 references.
1359
1360 * expr.h (emit_conditional_add): Declare.
1361
1362 2003-01-07 Janis Johnson <janis187@us.ibm.com>
1363
1364 PR other/8947
1365 * doc/invoke.texi (-malign-double): Explain that the option breaks
1366 binary compatibility.
1367
1368 2003-01-08 Andreas Schwab <schwab@suse.de>
1369
1370 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1371 should come from the generic *-*-linux* entry.
1372
1373 Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
1374
1375 * cselib.c (cselib_current_insn_in_libcall): New static variable.
1376 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1377 we are inside libcall.
1378 * cselib.h (elt_loc_list): Add in_libcall.
1379 * gcse.c (do_local_cprop): Do not copy propagate using insns
1380 in libcalls.
1381
1382 2003-01-07 David Edelsohn <edelsohn@gnu.org>
1383
1384 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1385 not normally affect to issue rate.
1386
1387 Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
1388
1389 * genopinit.c (optabs): Add addc_optab.
1390 * ifcvt.c (noce_try_store_flag): Rename to ...
1391 (noce_try_addcc): ... this one; handle generic conditional increment.
1392 (noce_process_if_block): Update noce_try_addcc call.
1393 * optabs.c (emit_conditional_add): New.
1394 (init_obtabs): Initialize addc_optab.
1395 * optabs.h (optab_index): Add OTI_addcc.
1396 (addcc_optab): New macro.
1397 * md.texi: Document addMcc
1398
1399 PR target/8322
1400 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1401 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1402 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1403
1404 * reload1.c (delete_output_reload): Avoid repeated attempts
1405 to delete insn.
1406
1407 2003-01-07 Andreas Schwab <schwab@suse.de>
1408
1409 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1410 Move --enable-initfini-array check ...
1411 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
1412 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1413 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
1414 * configure: Rebuild.
1415
1416 2003-01-07 Richard Henderson <rth@redhat.com>
1417
1418 * alias.c (find_base_value): Only use new_reg_base_value shortcut
1419 if the register is set once.
1420
1421 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1422
1423 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1424 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1425 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1426
1427 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
1428 Sunil Davasam <sunil.k.davasam@intel.com>
1429
1430 PR libstdc++/9076
1431 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1432 DW_CFA_same_value, read next and ignore.
1433
1434 2003-01-07 Richard Henderson <rth@redhat.com>
1435
1436 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1437
1438 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
1439
1440 * cfg.c: Include alloc-pool.h
1441 (edge_pool): New pool.
1442 (bb_pool): New pool.
1443 (first_deleted_edge): Remove.
1444 (first_deleted_block): Remove.
1445 (init_flow): Alloc/free the pools.
1446 (free_edge): Use pools.
1447 (alloc_block): Ditto.
1448 (expunge_block): Ditto.
1449 (cached_make_edge): Ditto.
1450
1451 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1452
1453 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
1454
1455 * et-forest.c: Include alloc-pool.h.
1456 (struct et_forest): Add node_pool and occur_pool.
1457 (et_forest_create): Create the new pools.
1458 (et_forest_delete): Delete them.
1459 (et_forest_add_node): Allocate and free using pools.
1460 (et_forest_add_edge): Ditto.
1461 (et_forest_remove_node): Ditto.
1462 (et_forest_remove_edge): Ditto.
1463
1464 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1465
1466 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
1467
1468 * config/h8300/h8300.c (output_logical_op): Simplify and
1469 optimize the handling of SImode.
1470 * config/h8300/h8300.c (compute_logical_op_length): Update
1471 accordingly.
1472 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1473
1474 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
1475
1476 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1477 big-endian correction to indirect arguments too.
1478
1479 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
1480
1481 Segher Boessenkool <segher@koffie.nl>
1482
1483 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1484 (alt_reg_names): Ditto, fix formatting.
1485 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1486
1487 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
1488
1489 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1490 (output_logical_op): Constify intval and det.
1491 (compute_logical_length): Likewise.
1492 (compute_logical_cc): Likewise.
1493 (output_a_shift): Constify mask.
1494 (h8300_encode_label): Constify len.
1495
1496 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1499 (h8300_expand_epilogue): Likewise.
1500
1501 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
1502
1503 Segher Boessenkool <segher@koffie.nl>
1504
1505 * config/rs6000/altivec.md: Remove spaces from assembler
1506 instruction argument lists.
1507
1508 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1509
1510 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1511 c4x_assembler_function_p.
1512 (c4x_null_epilogue_p): Complement return value, all uses updated.
1513 (c4x_insert_attributes): Add naked.
1514 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1515 * doc/extend.texi: Update C4x function attributes.
1516
1517 2003-01-06 Richard Henderson <rth@redhat.com>
1518
1519 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1520 properly when changing "local-ness".
1521 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1522
1523 2003-01-06 Dale Johannesen <dalej@apple.com>
1524
1525 * config/darwin-protos.h: Add prototypes for new section functions.
1526
1527 2003-01-06 Chris Demetriou <cgd@broadcom.com>
1528
1529 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1530 to EABI.
1531
1532 2003-01-06 Zack Weinberg <zack@codesourcery.com>
1533
1534 * hwint.h: If the current compiler has no 64-bit type at all,
1535 make HOST_WIDEST_INT 32 bits.
1536
1537 2003-01-06 Eric Christopher <echristo@redhat.com>
1538
1539 * config/mips/mips.md (movdf_internal2): Fix constraints.
1540
1541 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
1542
1543 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1544
1545 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
1546
1547 * config/mips/mips.md (leadi): Use dla rather than la.
1548
1549 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
1550
1551 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
1552 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
1553
1554 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1555
1556 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1557 redefinition.
1558
1559 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
1560
1561 * config/h8300/h8300.md (*extzv_8_23): New.
1562
1563 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
1564
1565 * pa64-hpux.h (JCR_SECTION_NAME): Define.
1566 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1567 USE_EH_FRAME_REGISTRY when defining.
1568
1569 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
1570
1571 * config/h8300/h8300.c (output_a_shift): Do not output a
1572 variable shift.
1573 * config/h8300/h8300.md (two splitters): New.
1574
1575 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
1576
1577 * config/mips/mips.md: Disable the movstrsi define_split.
1578
1579 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1580
1581 * alloc-pool.c: Don't include "libiberty.h".
1582 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1583 * convert.c (convert_to_real): Hide unused variable.
1584
1585 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1586
1587 * Makefile.in (gtyp-gen.h): Const-ify.
1588 * gcov-dump.c (tag_table): Likewise.
1589
1590 2003-01-04 Bruce Korb <bkorb@gnu.org>
1591
1592 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1593 of *both* the file name and the fix name.
1594
1595 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
1596
1597 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
1598 collect2.
1599 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1600 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1601 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1602 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1603 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1604 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1605 elfos.h.
1606 (EH_FRAME_IN_DATA_SECTION): Delete define.
1607 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1608 (STARTFILE_SPEC): Use crtbegin.o.
1609 (ENDFILE_SPEC): Use crtend.o.
1610 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1611 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1612 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1613 DTOR_LIST_BEGIN): Define.
1614 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
1615 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
1616 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
1617
1618 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
1619
1620 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
1621 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
1622 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
1623 Cleanup handling of replacement text.
1624 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
1625
1626 2003-01-04 Bruce Korb <bkorb@gnu.org>
1627
1628 * fixinc/tests/base/math.h: removed obsolete results
1629 * fixinc/tests/base/stdlib.h: ditto
1630 * fixinc/tests/base/sys/param.h: ditto
1631 * fixinc/tests/base/sys/stat.h: ditto
1632 * fixinc/tests/base/time.h: ditto
1633 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
1634 * fixinc/tests/base/sys/byteorder.h: ditto
1635 * fixinc/inclhack.def: Remove superfluous backslashes
1636
1637 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
1638
1639 * config/h8300/h8300-protos.h: Add prototypes for
1640 the new functions defined below.
1641 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
1642 define.
1643 (dosize): Emit RTL instead of assembly code.
1644 (push): Likewise.
1645 (pop): Likewise.
1646 (h8300_output_function_prologue): Remove.
1647 (h8300_expand_prologue): New.
1648 (h8300_expand_epilogue): New.
1649 (h8300_output_function_epilogue): Do only the reset of
1650 pragma_saveall.
1651 * config/h8300/h8300.md (push_h8300): New.
1652 (push_h8300hs): Likewise.
1653 (pop_h8300): Likewise.
1654 (pop_h8300hs): Likewise.
1655 (*stm_h8300s_2): Change the name to stm_h8300s_2.
1656 (*stm_h8300s_3): Change the name to stm_h8300s_3.
1657 (*stm_h8300s_4): Change the name to stm_h8300s_4.
1658 (*ldm_h8300s_2): New.
1659 (*ldm_h8300s_3): Likewise.
1660 (*ldm_h8300s_4): Likewise.
1661 (return): Likewise.
1662 (*return_1): Likewise.
1663 (prologue): Likewise.
1664 (epilogue): Likewise.
1665 (monitor_prologue): Likewise.
1666
1667 2003-01-03 Dale Johannesen <dalej@apple.com>
1668
1669 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
1670 machopic_picsymbol_stub1.
1671 (EXTRA_SECTION_FUNCTIONS): Ditto.
1672 * rs6000/rs6000.c: Update copyright.
1673 (machopic_output_stub): Use them. Remove an insn from stub code.
1674
1675 2003-01-02 Jason Merrill <jason@redhat.com>
1676
1677 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
1678
1679 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
1680 static/external decls.
1681
1682 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
1683 outermost scope.
1684 * c-decl.c (c_make_fname_decl): Push the decls there, too.
1685
1686 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
1687
1688 * config/h8300/h8300-protos.h: Add a prototype for
1689 h8300_current_function_interrupt_function_p.
1690 * config/h8300/h8300.c (interrupt_handler): Remove.
1691 (os_task): Likewise.
1692 (monitor): Likewise.
1693 (pragma_interrupt): New.
1694 (WORD_REG_USED): Use
1695 h8300_current_function_interrupt_function_p.
1696 (dosize): Likewise.
1697 (h8300_output_function_prologue): Likewise.
1698 Do not set interrupt_handler, os_task, monitor.
1699 (h8300_output_function_prologue): Use
1700 h8300_current_function_interrupt_function_p.
1701 Do not set interrupt_handler, os_task, monitor.
1702 (h8300_current_function_interrupt_function_p): New.
1703 (h8300_pr_interrupt): Set pragma_interrupt.
1704 (h8300_insert_attributes): Reset pragma_interrupt.
1705
1706 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1707
1708 * doc/install.texi (Configuration): Fix markup for reference to
1709 gcc/config.gcc.
1710
1711 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
1712
1713 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
1714 (*iorhi3_two_qi): Likewise.
1715 (*iorsi3_zexthi): Likewise.
1716 (*xorhi3_zextqi): Likewise.
1717 (*xorsi3_zexthi): Likewise.
1718 (*xorsi3_zextqi): Likewise.
1719
1720 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
1721
1722 * config/h8300/h8300.c (stack_pointer_operand): New.
1723 (const_int_gt_2_operand): Likewise.
1724 (const_int_ge_8_operand): Likewise.
1725 * config/h8300/h8300.md (a splitter): Likewise.
1726 (a peephole2): Likewise.
1727 * config/h8300/h8300-protos.h: Add prototypes for the new
1728 functions above.
1729
1730 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
1731
1732 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
1733 objc/objc-act.h: Fix copyright years.
1734
1735 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
1736
1737 * doc/passes.texi: Fix documentation for -fssa-ccp
1738
1739 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
1740
1741 * gccbug.in: Update for new categories.
1742
1743 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
1744
1745 * config/h8300/h8300.md: Reorder some patterns.
1746
1747 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
1748
1749 * config/h8300/h8300.c (output_logical_op): Fix a warning.
1750
1751 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
1752
1753 * config/darwin-protos.h, config/c4x/c4x-protos.h,
1754 config/cris/cris-protos.h, config/i370/i370-protos.h,
1755 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
1756 config/v850/v850-protos.h: Use struct, and don't conditionally
1757 compile on GCC_C_PRAGMA_H.
1758
1759 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
1760
1761 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
1762 * config/h8300/h8300-protos.h: Likewise.
1763 * config/sh/sh-protos.h: Likewise.
1764
1765 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
1766
1767 * config/arm/arm-protos.h: Use struct cpp_reader instead of
1768 cpp_reader.
1769 * config/h8300/h8300-protos.h: Likewise.
1770 * config/sh/sh-protos.h: Likewise.
1771
1772 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
1773
1774 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
1775 arm_pr_long_calls_off): Use struct.
1776 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
1777 : Similarly.
1778 Don't include cpplib.h.
1779 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
1780 sh_pr_nosave_low_regs): Similarly.
1781
1782 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
1783
1784 * config/h8300/h8300.c: Include cpplib.h.
1785
1786 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
1787
1788 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
1789 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
1790 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
1791 "GCC" in the copyright header.
1792
1793 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
1794
1795 * c-pragma.c (c_register_pragma): New.
1796 (init_pragma): Use it.
1797 * c-pragma.h (cpp_register_pragma): Don't declare.
1798 (c_register_pragma): New.
1799 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
1800 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
1801 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
1802 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
1803 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
1804 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
1805 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
1806 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
1807 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
1808 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
1809 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
1810 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
1811
1812 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
1813
1814 * config/h8300/h8300-protos.h: Update the prototypes.
1815 * config/h8300/h8300.c (const_le_2_operand): Change to
1816 const_int_le_2_operand.
1817 (const_int_le_6_operand): Change to const_int_le_6_operand.
1818 * config/h8300/h8300.md (two peepholes): Update the function
1819 names.
1820
1821 2002-12-31 Tom Tromey <tromey@redhat.com>
1822
1823 * doc/install.texi (Testing): Fixed typo.
1824
1825 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
1826
1827 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
1828 (TRAMPOLINE_SIZE): Support the normal mode.
1829 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
1830
1831 2002-12-31 Mark Mitchell <mark@codesourcery.com>
1832
1833 * c-common.h (pending_lang_change): Declare.
1834
1835 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
1836
1837 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
1838 descriptions.
1839
1840 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
1841
1842 * gcc/doc/invoke.texi (Optimization Options): List the options
1843 enabled by each -O flag.
1844
1845 2002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1846
1847 * doc/install.texi (Configuration): Explicitly refer
1848 gcc/config.gcc for a list of cpu models.
1849
1850 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
1851
1852 * config/h8300/h8300.h: Fix comment typos.
1853
1854 2002-12-30 David Edelsohn <edelsohn@gnu.org>
1855
1856 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
1857
1858 2002-12-30 Tom Tromey <tromey@redhat.com>
1859
1860 * doc/install.texi (Testing): Mention Jacks.
1861
1862 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
1863
1864 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
1865
1866 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
1867
1868 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
1869 cases.
1870 (compute_logical_op_length): Update to reflect the change in
1871 output_logical_op.
1872 (compute_logical_op_cc): Likewise.
1873
1874 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
1875
1876 * doc/service.texi: Uncomment and update FAQ link.
1877
1878 2002-12-30 Andreas Jaeger <aj@suse.de>
1879
1880 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
1881
1882 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
1883
1884 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
1885
1886 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
1887
1888 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
1889 are clearing the most significant byte.
1890 (compute_logical_op_length): Update to reflect the change in
1891 output_logical_op.
1892 (compute_logical_op_cc): Likewise.
1893
1894 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
1895
1896 * config/h8300/h8300.md: Give internal names to anonymous
1897 insns.
1898
1899 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
1900
1901 * config/h8300/h8300.md: Reorder some insns.
1902
1903 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
1904
1905 * config/h8300/h8300-protos.h: Add prototypes for
1906 const_int_qi_operand and const_int_hi_operand.
1907 * config/h8300/h8300.c (const_int_qi_operand): New.
1908 (const_int_hi_operand): Likewise.
1909 * config/h8300/h8300.md (three peepholes): New.
1910
1911 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
1912
1913 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
1914 Use @copying.
1915
1916 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
1917
1918 * configure.in: Increase makeinfo version requirement to 4.[2-9].
1919 * configure: Regenerate.
1920 * doc/install.texi: Update Texinfo version requirement.
1921
1922 2002-12-28 Andreas Jaeger <aj@suse.de>
1923
1924 * config/i386/i386.c (x86_function_profiler): Mark labelno as
1925 possibly unused.
1926
1927 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
1928 correct format.
1929
1930 2002-12-27 Kazu Hirata <kazu@cs.umass.edu>
1931
1932 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
1933 *iorhi_ashift_8.
1934 (*iorhi_lshiftrt_8): New.
1935
1936 2002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
1937
1938 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
1939
1940 2002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1941
1942 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
1943
1944 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
1945
1946 * config/h8300/h8300-protos.h: Fix comment typos.
1947 Update copyright.
1948 * config/h8300/h8300.c: Fix comment typos.
1949
1950 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
1951
1952 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
1953
1954 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
1955
1956 * config/i386/athlon.md: Fix comment typos.
1957 * config/i386/crtdll.h: Likewise.
1958 * config/i386/djgpp.h: Likewise.
1959 * config/i386/i386-interix.h: Likewise.
1960 * config/i386/i386.c: Likewise.
1961 * config/i386/i386.h: Likewise.
1962 * config/i386/i386.md: Likewise.
1963 * config/i386/k6.md: Likewise.
1964 * config/i386/mingw32.h: Likewise.
1965 * config/i386/pentium.md: Likewise.
1966 * config/i386/sco5.h: Likewise.
1967 * config/i386/winnt.c: Likewise.
1968 * config/i386/xmmintrin.h: Likewise.
1969
1970 2002-12-26 Jose Renau <renau@cs.uiuc.edu>
1971
1972 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
1973 INSN_P before checking to see if it is dead.
1974 (mark_all_insn_unnecessary): Similarly.
1975 (ssa_eliminate_dead_code): Similarly.
1976 * rtl.h (struct rtx_def): Update comments for in_struct usage
1977 in dead code elimination pass.
1978 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
1979
1980 2002-12-26 Andreas Schwab <schwab@suse.de>
1981
1982 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
1983
1984 2002-12-25 David Edelsohn <edelsohn@gnu.org>
1985
1986 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
1987 tartet_flags_explicit.
1988 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
1989 Compact target_flags bits.
1990 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
1991 (TARGET_SWITCHES): Delete references to *_SET flags.
1992
1993 Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
1994
1995 * i386.md (memory attribute): Fix setcc attribute.
1996
1997 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
1998
1999 * output.h: Fix comment typos.
2000 * predict.c: Likewise.
2001 * print-tree.c: Likewise.
2002 * profile.c: Likewise.
2003 * ra-build.c: Likewise.
2004 * ra-colorize.c: Likewise.
2005 * ra-debug.c: Likewise.
2006 * ra-rewrite.c: Likewise.
2007 * ra.c: Likewise.
2008 * ra.h: Likewise.
2009 * real.c: Likewise.
2010 * recog.c: Likewise.
2011 * reg-stack.c: Likewise.
2012 * regclass.c: Likewise.
2013
2014 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
2015
2016 * config/h8300/h8300.c (print_operand_address): Do not negate
2017 a negative number when printing one.
2018
2019 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
2020
2021 * config/h8300/h8300-protos.h: Add prototypes for
2022 output_plussi, compute_plussi_length, and compute_plussi_cc.
2023 * config/h8300/h8300.c (output_plussi): New.
2024 (compute_plussi_length): Likewise.
2025 (compute_plussi_cc): Likewise.
2026 * config/h8300/h8300.md (addsi_h8300h): Call
2027 output_plussi, compute_plussi_length, and compute_plussi_cc.
2028
2029 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
2030
2031 * config/h8300/h8300.md (two peepholes): Use match_dup instead
2032 of match_operand in the new patterns.
2033
2034 2002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
2035
2036 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2037
2038 2002-12-24 Nathan Sidwell <nathan@codesourcery.com>
2039
2040 * configure.in (enable-coverage): Add SELF_COVERAGE.
2041 * profile.c (end_branch_prob): Use SELF_COVERAGE.
2042
2043 2002-12-24 Jim Wilson <wilson@redhat.com>
2044
2045 * alias.c (record_set): Handle multi-reg hard registers.
2046
2047 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
2048
2049 * regmove.c: Fix comment typos.
2050 * reload.c: Likewise.
2051 * reload1.c: Likewise.
2052 * resource.c: Likewise.
2053 * rtl.def: Likewise.
2054 * rtl.h: Likewise.
2055 * rtlanal.c: Likewise.
2056 * sched-deps.c: Likewise.
2057 * sched-rgn.c: Likewise.
2058 * sibcall.c: Likewise.
2059 * simplify-rtx.c: Likewise.
2060 * ssa-ccp.c: Likewise.
2061 * ssa.c: Likewise.
2062 * stmt.c: Likewise.
2063 * stor-layout.c: Likewise.
2064 * system.h: Likewise.
2065 * tlink.c: Likewise.
2066 * toplev.c: Likewise.
2067 * tracer.c: Likewise.
2068 * tree-inline.c: Likewise.
2069 * tree.c: Likewise.
2070 * tree.h: Likewise.
2071 * unroll.c: Likewise.
2072 * varasm.c: Likewise.
2073
2074 2002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
2075
2076 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2077 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2078 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2079 DG/UX entries.
2080 * doc/md.texi: Remove AMD 29K entries.
2081 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2082 1.38.1, NewsOS, RT PC, WE32K entries.
2083
2084 2002-12-23 Aldy Hernandez <aldyh@redhat.com>
2085
2086 PR/8763
2087 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2088 (altivec_vspltisw_v4sf): Name pattern.
2089 (altivec_vslw_v4sf): New pattern.
2090
2091 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
2092
2093 * doc/include/gcc-common.texi: Define DEVELOPMENT.
2094
2095 2002-12-23 Mark Mitchell <mark@codesourcery.com>
2096
2097 * stor-layout.c (update_alignment_for_field): Correct handling of
2098 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2099 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2100 bitfield does not affect alignment.
2101
2102 2002-12-23 David Edelsohn <edelsohn@gnu.org>
2103
2104 * expr.c (expand_assignment): Apply special treatment to
2105 ARRAY_TYPE.
2106
2107 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
2108
2109 * config/h8300/h8300-protos.h: Update the prototype of
2110 expand_a_shift.
2111 * config/h8300/h8300.c (expand_a_shift): Change the return
2112 type to void.
2113 * config/h8300/h8300.md: Update all the uses of
2114 expand_a_shift.
2115
2116 2002-12-22 Nathan Sidwell <nathan@codesourcery.com>
2117
2118 * tree.c (save_expr): Allow either side of a dyadic operand to be
2119 constant.
2120
2121 * doc/portability.texi (portability): Update portability goals.
2122
2123 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
2124
2125 * config/h8300/h8300.c (output_a_shift): Remove unused code.
2126
2127 2002-12-22 Mark Mitchell <mark@codesourcery.com>
2128
2129 * stor-layout.c (update_alignment_for_field): Guard use of
2130 ADJUST_FIELD_ALIGN with #ifdef.
2131
2132 * stor-layout.c (update_alignment_for_field): Use
2133 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2134 bitfield when PCC_BITFIELD_TYPE_MATTERS.
2135
2136 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
2137
2138 * genautomata.c: Fix comment typos.
2139
2140 Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
2141
2142 * params.def (tracer-min-branch-probability-feedback): Fix default.
2143 * final.c (compute_alignments): Use profile to avoid code bloat.
2144
2145 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
2146
2147 * config/h8300/h8300.c (get_shift_alg): Make shift insn
2148 sequences end with a valid cc0 whenever possible.
2149
2150 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
2151
2152 * config/h8300/h8300.md (negsf2): New.
2153 (*negsf2_h8300): Likewise.
2154 (*negsf2_h8300hs): Likewise.
2155
2156 2002-12-21 Geoffrey Keating <geoffk@apple.com>
2157
2158 * integrate.c (output_inline_function): Don't hold private
2159 pointers to 'struct function' over GC calls.
2160
2161 2002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
2162
2163 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2164 NO_FPSCR_VALUES.
2165 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2166
2167 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
2168
2169 * config/h8300/h8300.md (zero_extendqisi2): Correct the
2170 length.
2171
2172 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
2173
2174 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2175 second alternative "#".
2176 (*zero_extendqihi2_h8300hs): Likewise.
2177 (a define_split): New.
2178
2179 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
2180
2181 * config/h8300/h8300-protos.h: Update the prototype for
2182 split_adds_subs.
2183 Add prototypes for const_le_2_operand and const_le_6_operand.
2184 * config/h8300/h8300.c (split_adds_subs): Add an argument to
2185 specify whether inc/dec should be used when possible.
2186 (const_le_2_operand): New.
2187 (const_le_6_operand): Likewise.
2188 * config/h8300/h8300.md (two peepholes): New.
2189
2190 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
2191
2192 * config/fr30/fr30.md: Fix a comment typo.
2193 * config/i386/i386.c: Likewise.
2194 * config/ip2k/ip2k.h: Likewise.
2195
2196 2002-12-20 Jim Wilson <wilson@redhat.com>
2197
2198 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2199 (__ev_subw, __ev_subiw): New.
2200 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2201 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2202
2203 2002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
2204
2205 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2206 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2207 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2208 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
2209
2210 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
2211
2212 * config/h8300/h8300-protos.h: Add prototypes for
2213 incdec_operand and eqne_operator.
2214 * config/h8300/h8300.c (incdec_operand): New.
2215 (eqne_operator): Likewise.
2216 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2217 (CONST_OK_FOR_O): Likewise.
2218 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2219 CONST_OK_FOR_O.
2220 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2221 (addhi3_incdec): New.
2222 (addsi3_incdec): Likewise.
2223 (two peepholes): Likewise.
2224
2225 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
2226
2227 * config/h8300/h8300.c (dosize): Remove warnings.
2228 (print_operand): Likewise.
2229
2230 2002-12-20 Richard Henderson <rth@redhat.com>
2231
2232 * config/alpha/alpha.c (decl_has_samegp): New.
2233 (samegp_function_operand): Use it. Rename from
2234 current_file_function_operand.
2235 (direct_call_operand): Handle -msmall-text via symbol->jump.
2236 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2237 (tls_symbolic_operand_type): Likewise.
2238 (alpha_encode_section_info): Likewise. Handle -msmall-text.
2239 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2240 (alpha_end_function): Set symbol->jump for functions defined in
2241 the text section.
2242 * config/alpha/alpha-protos.h: Update.
2243 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2244 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2245 (PREDICATE_CODES): Update.
2246 * config/alpha/alpha.md (call patterns): Update for
2247 samegp_function_operand rename; use !samegp reloc if
2248 TARGET_EXPLICIT_RELOCS.
2249 * doc/invoke.text: Document -msmall-text and -mlarge-text.
2250
2251 2002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2252
2253 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2254 all registers capable of holding a double float.
2255 (*rcond): change name of "reverse branch" insns to
2256 something more meaningful.
2257 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2258 comparisons properly.
2259 (*ffs): Change operand 0 from write to read-modify-write.
2260 (*ffsssi2): Drop constraints from define_expand.
2261
2262 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2263 MOVE_RATIO as default for store operations.
2264
2265 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2266 LONG_REGS class.
2267 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2268 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2269 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2270
2271 * config/ns32k/STATUS: New File
2272 * config/ns32k/NOTES: New file.
2273
2274 2002-12-20 Hartmut Penner <hpenner@de.ibm.com>
2275
2276 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2277 option for S/390 and zSeries.
2278 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2279 s390_arch_string): New variables.
2280 (override_options): Checking for options and setting of
2281 appropriate target_flags, cpu and arch flags.
2282 * config/s390/s390.h: (processor_type): New enum.
2283 (TARGET_SWITCHES): New switches -mesa/zarch.
2284 * config/s390/s390.md: New attribute 'cpu'.
2285
2286 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
2287
2288 * c-pretty-print.h: Fix comment typos.
2289 * integrate.c: Likewise.
2290 * varasm.c: Likewise.
2291 * config/c4x/c4x.h: Likewise.
2292 * config/c4x/c4x.md: Likewise.
2293 * config/fr30/fr30.md: Likewise.
2294 * config/frv/frv.c: Likewise.
2295 * config/h8300/h8300.c: Likewise.
2296 * config/i386/i386.c: Likewise.
2297 * config/i386/i386.h: Likewise.
2298 * config/ia64/ia64.c: Likewise.
2299 * config/ia64/ia64.h: Likewise.
2300 * config/ip2k/ip2k.md: Likewise.
2301 * config/m68hc11/m68hc11-crt0.S: Likewise.
2302 * config/m68hc11/m68hc11.h: Likewise.
2303 * config/m68hc11/m68hc11.md: Likewise.
2304 * config/m68hc11/m68hc12.h: Likewise.
2305 * config/mcore/mcore.md: Likewise.
2306 * config/mips/mips.c: Likewise.
2307 * config/mips/mips.md: Likewise.
2308 * config/mmix/mmix-modes.def: Likewise.
2309 * config/pa/pa.c: Likewise.
2310 * config/rs6000/rs6000.c: Likewise.
2311 * config/rs6000/rs6000.h: Likewise.
2312 * config/rs6000/rs6000.md: Likewise.
2313
2314 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
2315
2316 * config/h8300/h8300.md (output_a_shift): Clean up the code to
2317 output shifts using rotation.
2318
2319 2002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2320
2321 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2322
2323 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
2324
2325 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2326 pointer.
2327 (pushqi_h8300hs): Likewise.
2328 (pushhi_h8300): Likewise.
2329 (pushhi_h8300hs): Likewise.
2330
2331 Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
2332
2333 * sched-rgn.c (init_regions): Update comment.
2334
2335 2002-12-19 David Edelsohn <edelsohn@gnu.org>
2336
2337 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2338 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2339 attributes.
2340 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2341 (get_vrsave_internal,set_vrsave_internal): Same.
2342 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2343 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2344 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2345
2346 2002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
2347 Danny Smith <dannysmith@users.sourceforge.net>
2348 Eric Kohl <ekohl@rz-online.de>
2349
2350 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2351 attributes incompatible with fastcall attribute.
2352 (ix86_handle_regparm_attribute): Likewise.
2353
2354 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2355 fastcall types.
2356
2357 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2358 attributes.
2359 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2360 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2361 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2362 i386_pe_output_labelref rather than here.
2363 (gen_fastcall_suffix): New function. Decorates a label name with the
2364 fastcall prefix (@) and the stdcall suffix.
2365 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2366 has a fastcall attribute.
2367 (i386_pe_output_labelref): New function. Outputs a label reference.
2368 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2369 valid attribute.
2370 (ix86_return_pops_args): Fastcall functions pop the stack.
2371 (init_cumulative_args): Reserve registers ECX and EDX if function has
2372 fastcall attribute.
2373 (function_arg): Use registers ECX and EDX if function has fastcall
2374 attribute.
2375 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2376 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2377 (FASTCALL_PREFIX): Define as '@'.
2378 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2379 attributes.
2380 * doc/extend.texi: Add documentation of fastcall attribute.
2381
2382 2002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
2383
2384 * configure.in: FORBUILD when build!=host changed from
2385 ../$build-alias to ../build-$build_alias to match change made
2386 in top directory.
2387 * configure: Regenerated.
2388
2389 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2390
2391 PR optimization/8988
2392 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2393 the biv when eliminating.
2394
2395 2002-12-19 Devang Patel <dpatel@apple.com>
2396 * gcc.c (struct default_compiler): Recognizes input file name with
2397 .CPP extension as C++ source files
2398 * cp/lang-spec.h: Same
2399 * doc/invoke.texi: Add documentation for .CPP support.
2400
2401 2002-12-19 Aldy Hernandez <aldyh@redhat.com>
2402
2403 PR 8553
2404 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2405 registers.
2406 ("absv16qi2"): Same.
2407 ("absv4si2"): Same.
2408 ("absv4sf2"): Same.
2409 ("altivec_abss_v16qi"): Same.
2410 ("altivec_abss_v8hi"): Same.
2411 ("altivec_abss_v4si"): Same.
2412
2413 2002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
2414
2415 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2416 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2417
2418 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2419
2420 PR target/8340
2421 * stmt.c (expand_asm_operands): Produce an error when
2422 the PIC register is clobbered.
2423
2424 2002-12-18 Daniel Berlin <dberlin@dberlin.org>
2425
2426 * Makefile.in (OBJS): Add alloc-pool.o
2427 (alloc-pool.o): New object.
2428
2429 * alloc-pool.c: New file.
2430 * alloc-pool.h: New file.
2431
2432 2002-12-18 Loren James Rittle <rittle@labs.mot.com>
2433
2434 * gcc.c (validate_switches): Robustify against skipping past '\0'.
2435
2436 2002-12-18 Geoffrey Keating <geoffk@apple.com>
2437
2438 * config.gcc: Set extra_objs in the generic Darwin rule,
2439 not in the machine-specific rules.
2440
2441 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
2442
2443 * ChangeLog: Follow spelling conventions.
2444 * ChangeLog.2: Likewise.
2445 * ChangeLog.4: Likewise.
2446 * ChangeLog.5: Likewise.
2447 * cppexp.c: Likewise.
2448 * df.c: Likewise.
2449 * gcov.c: Likewise.
2450 * gengtype.c: Likewise.
2451 * reload1.c: Likewise.
2452 * sched-rgn.c: Likewise.
2453 * stmt.c: Likewise.
2454 * stor-layout.c: Likewise.
2455 * timevar.c: Likewise.
2456 * toplev.c: Likewise.
2457 * tree.h: Likewise.
2458 * varasm.c: Likewise.
2459 * config/fr30/fr30.md: Likewise.
2460 * config/i386/i386.c: Likewise.
2461 * config/ia64/ia64.c: Likewise.
2462 * config/pa/pa.c: Likewise.
2463
2464 2002-12-18 Roger Sayle <roger@eyesopen.com>
2465
2466 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2467
2468 2002-12-18 Aldy Hernandez <aldyh@redhat.com>
2469
2470 PR 8551
2471 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2472 macro.
2473 (vec_cmplt C++ functions): Reverse arguments.
2474
2475 2002-12-18 Geoffrey Keating <geoffk@apple.com>
2476
2477 * config/rs6000/t-rs6000: Move contents to t-fprules,
2478 add rules for dependencies of rs6000.o and to build rs6000-c.o
2479 * config/rs6000/t-fprules: New file from t-rs6000.
2480 * config/rs6000/t-beos: Remove soft-fp rules.
2481 * config/rs6000/t-ppccomm: Likewise.
2482 * config/rs6000/t-newas: Likewise.
2483 * config/rs6000/t-rs6000-c-rule: Delete.
2484 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2485 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2486 Create generic Darwin rules.
2487
2488 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2489
2490 2002-12-18 Doug Evans <dje@sebabeach.org>
2491
2492 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2493 and LIT_NAME_P.
2494 (move_src_operand): Remove compile-time warning.
2495 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2496
2497 2002-12-18 Jason Merrill <jason@redhat.com>
2498
2499 * unwind-dw2-fde.c (frame_downheap): Split out from...
2500 (frame_heapsort): Here.
2501
2502 2002-12-17 Jason Merrill <jason@redhat.com>
2503
2504 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2505 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2506
2507 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2508
2509 * calls.c (expand_call): Don't try to be clever about expanding
2510 the return slot address.
2511
2512 2002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
2513
2514 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2515 Define.
2516
2517 2002-12-17 Jason Merrill <jason@redhat.com>
2518
2519 * genmultilib: Use 'cd ./foo'.
2520
2521 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
2522
2523 * doc/c-tree.texi: Restore deliberate spelling mistakes.
2524
2525 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
2526
2527 * doc/c-tree.texi: Fix typos and follow spelling conventions.
2528 * doc/cpp.texi: Likewise.
2529 * doc/extend.texi: Likewise.
2530 * doc/gty.texi: Likewise.
2531 * doc/install.texi: Likewise.
2532 * doc/invoke.texi: Likewise.
2533 * doc/md.texi: Likewise.
2534 * doc/passes.texi: Likewise.
2535 * doc/rtl.texi: Likewise.
2536 * doc/sourcebuild.texi: Likewise.
2537 * doc/tm.texi: Likewise.
2538
2539 2002-12-17 Jerry Quinn <jlquinn@optonline.net>
2540
2541 * doc/invoke.texi: Minor spelling and grammar fixes.
2542
2543 2002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
2544
2545 * config/s390/s390.c (s390_output_constant_pool): Replace
2546 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2547
2548 Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
2549
2550 * convert.c (convert_to_real): Disable function transformation for
2551 now.
2552
2553 2002-12-16 Geoffrey Keating <geoffk@apple.com>
2554
2555 * gcc.c (handle_braces): Allow '@' as a switch name.
2556
2557 2002-12-16 Jason Merrill <jason@redhat.com>
2558
2559 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2560 with special struct-return ABIs.
2561
2562 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2563 doesn't match the begin SCOPE_STMT in partialness.
2564
2565 2002-12-16 Geoffrey Keating <geoffk@apple.com>
2566
2567 * genmultilib: Create temporary files in unique subdirectory.
2568
2569 * gcc.c (validate_switches): Allow '@' as a switch name.
2570
2571 2002-12-16 Loren J. Rittle <ljrittle@acm.org>
2572
2573 * Makefile.in (gcov-iov.h): Improve portability.
2574
2575 Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
2576
2577 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2578 gas
2579 * mips.md (tablejump insn): Likewise.
2580
2581 2002-12-16 Mark Mitchell <mark@codesourcery.com>
2582
2583 * doc/include/gcc-common.texi: Change version number to 3.4.
2584
2585 2002-12-16 Bruce Korb <bkorb@gnu.org>
2586
2587 * fixinc/fixlib.h: add: #include <signal.h>
2588 * fixinc/fixincl.c: remove: #include <signal.h>
2589
2590 Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
2591
2592 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2593 (EXTRA_CONSTRAINT): Use it.
2594 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2595
2596 2002-12-15 Zack Weinberg <zack@codesourcery.com>
2597
2598 * config.gcc (need_64bit_hwint): New variable.
2599 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2600 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2601 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2602 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2603 Set it.
2604 (powerpc*-*-darwin*): Unset it.
2605 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2606 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2607 deleted/nonexistent xm-*.h headers.
2608 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2609 target set need_64bit_hwint in config.gcc.
2610 * configure, config.in: Regenerate.
2611
2612 * hwint.h: Overhaul. Don't bother trying int for
2613 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
2614 decision to force 64-bit HOST_WIDE_INT on
2615 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
2616 not visible at this point. Don't allow prior definition of
2617 any macro defined by this file.
2618
2619 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
2620 HOST_BITS_PER_WIDE_INT.
2621 * config/c4x/c4x.h: Adjust redefinition of
2622 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
2623 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
2624 config/i386/xm-i386-interix.h: Delete file.
2625
2626 2002-12-14 Rodney Brown <rbrown64@csc.com.au>
2627 John David Anglin <dave@hiauly1.hia.nrc.ca>
2628
2629 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
2630 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2631
2632 2002-12-14 Zack Weinberg <zack@codesourcery.com>
2633
2634 * mkconfig.sh: Correct comment. Add copyright boilerplate.
2635
2636 2002-12-14 Zack Weinberg <zack@codesourcery.com>
2637
2638 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
2639 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
2640 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
2641 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
2642 config/v850/t-v850: Correct dependencies and normalize
2643 compilation commands for files that include coretypes.h and tm.h.
2644
2645 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
2646 not config.h and system.h.
2647
2648 Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
2649
2650 * i386.c (flags_reg_operand): New function.
2651 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
2652 * i386.md (cmov splitter, movqicc): Use new predicate.
2653
2654 Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
2655
2656 * i386.md (movqicc splitter): Fix template.
2657
2658 2002-12-13 Jason Merrill <jason@redhat.com>
2659
2660 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
2661 * calls.c (expand_call): Handle it.
2662 * tree-inline.c (struct inline_data): Remove target_exprs field.
2663 (optimize_inline_calls): Don't initialize it.
2664 (expand_call_inline): Don't modify it. Handle
2665 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
2666 (declare_return_variable): Take return slot addr.
2667 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
2668 to return_slot_addr.
2669 * langhooks-def.h, langhooks.c: Adjust.
2670 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
2671 a decl with no DECL_INITIAL.
2672
2673 * expr.c (expand_expr): Don't discard the target of a call which
2674 returns in memory.
2675
2676 2002-12-13 Neil Booth <neil@daikokuya.co.uk>
2677
2678 * cppinit.c (path_include): Take an environment variable name.
2679 Tidy up.
2680 (init_standard_includes): Simplify environment handling, and
2681 move to ...
2682 (cpp_read_main_file): ...here as -nostdinc should not affect
2683 environment variable paths.
2684
2685 2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
2686
2687 * pa.c (output_millicode_call): Correct typo.
2688 (output_call): Likewise.
2689
2690 Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
2691
2692 * config/mn10300/mn10300.c (print_operand) <case N>: Check
2693 operand's range. Print value directly, without aid from
2694 output_address.
2695 <case U>: New.
2696 <case S>: Make sure argument to fprintf has the right type.
2697 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
2698 (EXTRA_CONSTRAINT): Adjust.
2699 * config/mn10300/mn10300.md: Add new all-QImode pattern for
2700 bclr. Use %U for immediate operands of bset and bclr.
2701 (iorqi3): New expand, with insns for AM33 and mn10300.
2702
2703 Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
2704
2705 * sh.c (sh_register_operand): New function.
2706 (prepare_move_operands): Use it.
2707 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
2708 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
2709 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
2710 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
2711 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
2712 (movv2si_i): Likewise.
2713
2714 2002-12-13 Jim Wilson <wilson@redhat.com>
2715
2716 * doc/extend.texi (Complex Numbers): Update info on debug info.
2717
2718 2002-12-13 Kazu Hirata <kazu@cs.umass.edu>
2719
2720 * config/h8300/h8300.md (addhi3_h8300): Remove the last
2721 alternative.
2722
2723 2002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2724
2725 * hooks.h (hook_tree_tree_bool_false): Declare
2726 hook_bool_tree_tree_false instead.
2727
2728 2002-12-12 Devang Patel <dpatel@apple.com>
2729
2730 * doc/invoke.texi: Document Darwin linker options, -bundle
2731 -bind_at_load, -all_load and -arch_errors_fatal
2732
2733 2002-12-12 Jim Wilson <wilson@redhat.com>
2734
2735 * dbxout.c (dbxout_fptype_value): New.
2736 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
2737
2738 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
2739
2740 * c-decl.c: Fix a comment typo.
2741 * cfg.c: Likewise.
2742 * cfgcleanup.c: Likewise.
2743 * cfglayout.c: Likewise.
2744 * cfgrtl.c: Likewise.
2745 * c-typeck.c: Likewise.
2746 * dominance.c: Likewise.
2747 * dwarf2asm.c: Likewise.
2748 * dwarfout.c: Likewise.
2749 * expmed.c: Likewise.
2750 * expr.c: Likewise.
2751 * final.c: Likewise.
2752 * flow.c: Likewise.
2753 * function.c: Likewise.
2754 * gcc.c: Likewise.
2755 * genautomata.c: Likewise.
2756 * integrate.c: Likewise.
2757 * loop.c: Likewise.
2758 * loop.h: Likewise.
2759 * output.h: Likewise.
2760 * profile.c: Likewise.
2761 * ra.h: Likewise.
2762 * reload1.c: Likewise.
2763 * reload.c: Likewise.
2764 * sched-rgn.c: Likewise.
2765 * stmt.c: Likewise.
2766 * tree.h: Likewise.
2767 * vmsdbgout.c: Likewise.
2768
2769 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
2770
2771 * config/h8300/h8300.md: Add a new peephole2.
2772
2773 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
2774
2775 * config/h8300/h8300.md (a peephole2): Accept a constant
2776 that's accepted by CONST_OK_FOR_J.
2777
2778 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
2779
2780 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
2781 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
2782 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
2783 (*addhi_h8300hs): Likewise.
2784
2785 Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
2786
2787 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
2788 (sh_register_move_cost): Add clause for SImode fp-fp moves.
2789 Increase cost for moves involving multiple general purpose registers.
2790 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
2791 TARGET_FMOVD.
2792 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
2793 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
2794 (enum reg_class reg_class_from_letter): No longer const.
2795 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
2796 REGCLASS_HAS_GENERAL_REG.
2797 Handle SImode moves from/to fp registers.
2798 ! TARGET_SHMEDIA && TARGET_FMOVD.
2799 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
2800 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
2801
2802 2002-12-12 Andreas Schwab <schwab@suse.de>
2803
2804 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
2805 change and some warnings.
2806
2807 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
2808
2809 * doc/md.texi (pushm): Fix a typo.
2810
2811 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
2812
2813 * config/mips/mips.c (mips_output_conditional_branch): Support
2814 PIC-safe out-of-range branch and branch-likely.
2815 * config/mips/mips.md (attr length): PIC-safe out-of-range
2816 branches are longer.
2817 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
2818 unused code to support indirect jumps.
2819
2820 2002-12-11 Zack Weinberg <zack@codesourcery.com>
2821
2822 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
2823 $(tm_file_list).
2824
2825 2002-12-11 David Edelsohn <edelsohn@gnu.org>
2826
2827 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
2828
2829 Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
2830
2831 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
2832
2833 2002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
2834
2835 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
2836 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
2837 BIGGEST_ALIGNMENT.
2838 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
2839 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
2840
2841 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
2842
2843 * doc/invoke.texi: Correct dump file names.
2844
2845 2002-12-09 Steve Ellcey <sje@cup.hp.com>
2846
2847 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
2848 name to globalize_label or assemble_name.
2849
2850 Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
2851
2852 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
2853 if not TARGET_SHMEDIA.
2854
2855 Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
2856
2857 * sh.h (REG_CLASS_HAS_FP_REG): New.
2858 (REGISTER_MOVE_COST) Use it. Put body into a function and
2859 move it into:
2860 * sh.c (sh_register_move_cost).
2861 * sh-protos.h (sh_register_move_cost): Declare.
2862
2863 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
2864 (sh_adjust_cost): Always return a value.
2865
2866 Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
2867
2868 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
2869 (REGISTER_MOVE_COST): Use it.
2870
2871 2002-12-11 Richard Henderson <rth@redhat.com>
2872
2873 * tree.h (MODULE_LOCAL_P): Kill.
2874 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
2875
2876 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
2877
2878 * config/h8300/h8300.md (two define_peephole2): New.
2879
2880 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
2881
2882 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
2883 (CONST_OK_FOR_K): Likewise.
2884 (CONST_OK_FOR_M): Likewise.
2885 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
2886
2887 2002-12-11 Neil Booth <neil@daikokuya.co.uk>
2888
2889 * c-common.c (builtin_define_type_max): Handle unsigned
2890 types too.
2891
2892 2002-12-10 David Edelsohn <edelsohn@gnu.org>
2893
2894 * haifa-sched.c (rank_for_schedule): Correct style.
2895
2896 2002-12-10 Per Bothner <pbothner@apple.com>
2897
2898 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
2899 directive_index into an unsigned field and a new is_directive field.
2900 * cppinit.c (mark_named_operators): Update to set new fields.
2901 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
2902 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
2903 No longer need to subtract 1 from directive_index.
2904 (_cpp_init_directives): No longer need to add 1 to directive_index.
2905 * cpptrad.c (scan_out_logical_line): Use is_directive field.
2906
2907 2002-12-10 Roger Sayle <roger@eyesopen.com>
2908
2909 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
2910 check for evaluating sqrt of a constant at compile time.
2911 * simplify-rtx.c (simplify_unary_operation): Likewise.
2912
2913 2002-12-10 Janis Johnson <janis187@us.ibm.com>
2914
2915 PR other/8882
2916 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
2917
2918 2002-12-10 Devang Patel <dpatel@appple.com>
2919
2920 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
2921 * doc/invoke.texi: Add new "Darwin Options" section.
2922
2923 2002-12-10 Jim Wilson <wilson@redhat.com>
2924
2925 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
2926 memory.
2927
2928 2002-12-10 Andrew Haley <aph@redhat.com>
2929
2930 * cse.c (cse_insn): Don't cse past a basic block boundary.
2931
2932 2002-12-10 Jakub Jelinek <jakub@redhat.com>
2933
2934 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
2935 -shared.
2936 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
2937 * config/alpha/linux.h (LIB_SPEC): Likewise.
2938 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
2939 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
2940 * config/sparc/linux.h (LIB_SPEC): Likewise.
2941 * config/sparc/linux64.h (LIB_SPEC): Likewise.
2942
2943 2002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
2944
2945 * doc/invoke.texi: Document UltraSparc III option.
2946
2947 2002-12-09 Richard Henderson <rth@redhat.com>
2948
2949 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
2950 __tune_pentium2__ and __tune_pentium3__ as necessary.
2951
2952 2002-12-09 Richard Henderson <rth@redhat.com>
2953
2954 * target.h (gcc_target): Add cannot_force_const_mem.
2955 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
2956 (TARGET_INITIALIZER): Add it.
2957 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
2958 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
2959 * reload1.c (reload): Likewise.
2960 * hooks.c (hook_bool_rtx_false): New.
2961 * hooks.h: Declare it.
2962
2963 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
2964 (TARGET_CANNOT_FORCE_CONST_MEM): New.
2965 (ix86_expand_move): Remove de-const-pooling hack.
2966
2967 Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
2968
2969 * toplev.c (dump_file): Fix order to match reality.
2970
2971 2002-12-08 Geoffrey Keating <geoffk@apple.com>
2972
2973 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
2974 (store_multiple): Likewise.
2975
2976 2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2977
2978 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
2979 function pointers in page 0.
2980
2981 2002-12-09 Steve Ellcey <sje@cup.hp.com>
2982
2983 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
2984 definition
2985 (MEMBER_TYPE_FORCES_BLK): Move.
2986 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
2987 aggregate arguments.
2988 (ia64_function_value): Use PARALLEL to return aggregate values.
2989
2990 2002-12-09 Steve Ellcey <sje@cup.hp.com>
2991
2992 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
2993 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
2994 * calls.c (store_unaligned_arguments_into_pseudos) Remove
2995 FUNCTION_ARG_REG_LITTLE_ENDIAN.
2996 * stmt.c (expand_return): Ditto.
2997 * expr.c (move_block_from_reg): Ditto.
2998 (copy_blkmode_from_reg): Ditto.
2999 * expmed.c (store_bit_field): Ditto.
3000
3001 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
3002
3003 * config.gcc: Added tic4x-* target as an alias to c4x-*
3004
3005 Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
3006
3007 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3008 constructing insn directly.
3009
3010 2002-12-06 Per Bothner <pbothner@apple.com>
3011
3012 * cpplib.h (struct cpp_hashnode): Change field directive_index from
3013 char to an int bit-field, for hosts where char is unsigned.
3014
3015 2002-12-07 Roger Sayle <roger@eyesopen.com>
3016 Richard Henderson <rth@redhat.com>
3017
3018 * real.c (ieee_extended_motorola_format,
3019 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3020 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3021 Provide appropriate values for new signbit field.
3022
3023 2002-12-07 Roger Sayle <roger@eyesopen.com>
3024
3025 * real.h (real_format): Add signbit field.
3026 * real.c (ieee_single_format, ieee_double_format,
3027 ieee_extended_motorola_format, ieee_extended_intel_96_format,
3028 ieee_extended_intel_128_format, ibm_extended_format,
3029 ieee_quad_format, vax_f_format, vax_d_format,
3030 vax_g_format, i370_single_format, i370_double_format,
3031 c4x_single_format, c4x_extended_format, real_internal_format):
3032 Provide suitable signbit value, or -1 to avoid bit twiddling.
3033
3034 * optabs.c (expand_unop): Try implementing negation of
3035 floating point modes by flipping the sign bit.
3036 (expand_abs): Try implementing abs of floating point modes
3037 by clearing the sign bit.
3038
3039 Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
3040
3041 * i386.c (ix86_expand_int_movcc): Use force_operand instead
3042 of constructing insn directly.
3043
3044 2002-12-07 Kazu Hirata <kazu@cs.umass.edu>
3045
3046 * config/h8300/h8300.md (*iorhi_shift_8): New.
3047
3048 2002-12-06 Bernd Schmidt <bernds@redhat.com>
3049
3050 * doc/invoke.texi: Document FRV port options.
3051 * doc/md.texi: Document FRV register classes.
3052
3053 2002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3054
3055 * doc/install.texi (Configuration): Improve description of cases
3056 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3057
3058 2002-12-06 Per Bothner <pbothner@apple.com>
3059
3060 * cpplib.h (NODE_MACRO_ARG): New flag.
3061 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
3062 Remove value.operator field. Move arg_index field to value union.
3063 (directive_index): Make signed, since also used for C++ operators.
3064 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
3065 check for duplicate parameter. Set NODE_MACRO_ARG flag.
3066 Save node->value, and set node->value.arg_index.
3067 (_cpp_create_definition): For each paramater, restore node->value.
3068 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
3069 * cpptrad.c (scan_out_logical_line): Likewise.
3070 (scan_out_logical_line): Check for directive > 0.
3071 * cpplib.c (cpp_handle_directive): Likewise.
3072 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
3073 by negative of directive_index.
3074 * cppinit.c (mark_named_operators): Likewise.
3075
3076 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
3077
3078 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3079
3080 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3081 FPU.
3082 (push): Generate push_fpscr.
3083 (pop): Generate pop_fpscr.
3084 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3085 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
3086
3087 Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3088
3089 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3090 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3091
3092 Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
3093
3094 * sh.md (movdi_i): Name. Remove inappropriate comment.
3095
3096 Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
3097 Merged from basic improvements branch (excerpt):
3098
3099 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
3100 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3101
3102 2002-12-06 Jakub Jelinek <jakub@redhat.com>
3103
3104 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3105
3106 Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
3107
3108 * i386.md (dimode peep2s): Re-add "&& 1".
3109
3110 Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
3111
3112 * i386.c (ix86_expand_prologue): Add comment, do not use
3113 fast prologues for cold and normal functions.
3114
3115 Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
3116
3117 * i386.c (x86_rep_movl_optimal): New variable.
3118 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3119 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3120
3121 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3122 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3123 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3124 generate unnecesary subregs.
3125
3126 2002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3127
3128 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3129 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3130
3131 2002-12-05 Dale Johannesen <dalej@apple.com>
3132
3133 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
3134
3135 2002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
3136
3137 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3138 PROFILE_HOOK.
3139 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3140
3141 2002-12-05 Aldy Hernandez <aldyh@redhat.com>
3142
3143 * config/rs6000/spe.h (__ev_mwlufi): Remove.
3144 (__ev_mwlufia): Remove.
3145 (__ev_mwlumfaaw): Remove.
3146 (__ev_mwlusfaaw): Remove.
3147 (__ev_mwlumfanw): Remove.
3148 (__ev_mwlusfanw): Remove.
3149
3150 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
3151
3152 * config/h8300/h8300.md (*andorsi3_shift_8): New.
3153
3154 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
3155
3156 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3157 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3158 (get_shift_alg): Return optimal assembly instructions for the
3159 shifts mentioned above.
3160
3161 Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
3162
3163 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3164 condtiional moves.
3165
3166 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
3167
3168 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3169 implement ashiftrt:HI by 13 bits on H8S.
3170
3171 2002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3172
3173 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3174 * pa.md (canonicalize_funcptr_for_compare): Output library call to
3175 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3176 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3177 CTOR_LIST_BEGIN): New defines.
3178 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3179 (fptr.c): Add make rules.
3180
3181 2002-12-04 Geoffrey Keating <geoffk@apple.com>
3182
3183 * combine.c (combine_simplify_rtx): Add new canonicalizations.
3184 * doc/md.texi (Insn Canonicalizations): Document new
3185 canonicalizations for multiply/add combinations.
3186 * config/rs6000/rs6000.md: Add and modify floating add/multiply
3187 patterns to ensure they're used whenever they can be.
3188
3189 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
3190
3191 * config/h8300/h8300.c: Update the comments related to shifts.
3192
3193 2002-12-04 Chris Demetriou <cgd@broadcom.com>
3194
3195 * config/mips/mips.md (get_fnaddr): Correct length attribute.
3196
3197 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
3198
3199 * config/h8300/h8300.md (*extzv_8_8): New.
3200 (*extzv_8_16): Likewise.
3201
3202 2002-12-04 Jason Merrill <jason@redhat.com>
3203
3204 PR c++/8461, c++/8625
3205 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3206 references.
3207 * tree-inline.c (initialize_inlined_parameters): Likewise.
3208
3209 * tree.c (variably_modified_type_p): Just return an error_mark_node.
3210
3211 2002-12-04 Chris Demetriou <cgd@broadcom.com>
3212
3213 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3214 macro instruction in a branch delay slot, to avoid assembler
3215 warnings.
3216
3217 2002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3218
3219 PR c/7622
3220 * c-semantics (genrtl_scope_stmt): Do not output inlined
3221 nested functions that contain no code.
3222
3223 Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
3224
3225 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
3226 to be forced into nonfallthru.
3227
3228 2002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
3229
3230 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3231
3232 2002-12-03 Aldy Hernandez <aldyh@redhat.com>
3233
3234 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3235
3236 2002-12-03 Richard Henderson <rth@redhat.com>
3237
3238 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3239
3240 2002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
3241
3242 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3243 Initialize tmp.using_obstack to 0.
3244
3245 2002-12-03 Andreas Schwab <schwab@suse.de>
3246
3247 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3248 (EH_RETURN_STACKADJ_RTX): Define.
3249 (EH_RETURN_HANDLER_RTX): Define.
3250 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3251 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
3252 registers and don't save fixed registers.
3253 (m68k_output_function_prologue): Use it.
3254 (use_return_insn): Likewise.
3255 (m68k_output_function_epilogue): Likewise.
3256
3257 2002-12-03 Kazu Hirata <kazu@cs.umass.edu>
3258
3259 * config/h8300/h8300.c (single_one_operand): Fix a warning.
3260 (single_zero_operand): Likewise.
3261
3262 2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
3263
3264 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3265 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3266 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3267 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3268 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3269 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3270 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3271 doc/install-old.texi: Replace hconfig.h with bconfig.h.
3272 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3273
3274 2002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
3275
3276 * config/rs6000/rs6000.md (ffssi): Convert to expander.
3277 (ffsdi): Likewise.
3278 (cntlzw2, cntlzd2): New patterns.
3279
3280 2002-12-02 H.J. Lu <hjl@gnu.org>
3281
3282 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3283 (mips*-*-linux*): Remove mips/t-linux.
3284
3285 Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
3286
3287 * i386.c (ix86_expand_int_movcc): Avoid overflow.
3288
3289 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
3290
3291 * config/h8300/h8300.c (dosize): Replace argument op with
3292 sign.
3293 (h8300_output_function_prologue): Update the call to dosize.
3294 (h8300_output_function_epilogue): Likewise.
3295
3296 2002-12-02 Bob Wilson <bob.wilson@acm.org>
3297
3298 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3299
3300 2002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
3301
3302 * configure.in: Use "missing" script to generate warning if
3303 flex or bison programs not found, instead of invoking "false".
3304 * configure: Rebuilt.
3305
3306 Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
3307
3308 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3309
3310 Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
3311
3312 * i386.c (ix86_expand_int_movcc): Avoid overflow.
3313
3314 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
3315
3316 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3317 (push): Likewise.
3318 (pop): Likewise.
3319 (h8300_output_function_prologue): Likewise.
3320 (h8300_output_function_epilogue): Likewise.
3321
3322 Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
3323
3324 * expmed.c (store_bit_field): Use int_mode_for_mode to find
3325 corresponding mode of non-integer mode, unless it is VOIDmode.
3326
3327 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
3328
3329 * config/h8300/h8300.md (stm_h8300s_2): New.
3330 (stm_h8300s_3): Likewise.
3331 (stm_h8300s_4): Likewise.
3332 (five define_peephole2): Likewise.
3333
3334 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
3335
3336 * ra-build.c: Fix a comment typo.
3337
3338 Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
3339
3340 * i386.c (ix86_expand_int_movcc): fix
3341 reversed BRANCH_COST test; be curefull about infinite recursion.
3342
3343 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
3344
3345 * config/h8300/h8300.c (h8300_output_function_prologue):
3346 Remove variable idx.
3347 (h8300_output_function_epilogue): Likewise.
3348
3349 2002-12-01 Zack Weinberg <zack@codesourcery.com>
3350
3351 * config/frv/xm-frv.h: Delete, unnecessary.
3352
3353 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
3354
3355 * config/h8300/h8300.md: Add comments for define_peephole2.
3356
3357 2002-12-01 Mark Mitchell <mark@codesourcery.com>
3358
3359 * builtin-types.def (BT_SIZE): Use size_type_node.
3360 * builtins.c (fold_builtin): Make the builtin strlen returns a
3361 size_t, not a sizetype.
3362 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3363 c_size_type_node.
3364 (c_alignof_expr): Likewise.
3365 (c_common_nodes_and_builtins): Likewise.
3366 * c-common.h (CTI_C_SIZE_TYPE): Remove.
3367 (c_size_type_node): Likewise.
3368 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3369 * tree.h (TI_SIZE_TYPE): New enumeral.
3370 (size_type_node): Likewise.
3371
3372 2002-11-30 Zack Weinberg <zack@codesourcery.com>
3373
3374 * configure.in: Don't put ${tm_file} into host_xm_file,
3375 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
3376 Take location of tm-preds.h into account when calculating
3377 tm_p_file_list.
3378 * configure: Regenerate.
3379 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3380 arguments. Do not provide rtx, rtvec, tree, or GTY here.
3381 Remove special case code for tm_p.h and *config.h; add new
3382 special case code for tm.h and tconfig.h. Clean up a bit.
3383
3384 * Makefile.in (tm_file, tm_file_list): New variables set from
3385 @-substitutions.
3386 (GCONFIG_H): Deleted.
3387 (GTM_H, TM_H): New.
3388 (CONFIG_H): Is now just config.h $(host_xm_file_list).
3389 (TM_P_H): Move up with the other mkconfig.sh-generated
3390 headers; don't mention tm-preds.h explicitly.
3391 (tm.h, cs-tm.h): New rule.
3392 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3393 invocations of mkconfig.sh for changes to that program.
3394 (mostlyclean): Delete print-rtl1.c.
3395 (clean): Delete tm.h.
3396 Update dependencies for the files listed below.
3397
3398 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3399
3400 * coretypes.h: New file.
3401 * system.h: #define malloc to xmalloc and realloc to xrealloc
3402 when FLEX_SCANNER or YYBISON is defined, independent of the
3403 value of GCC_VERSION.
3404 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3405 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3406 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3407 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3408 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3409 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3410 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3411 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3412 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3413 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3414 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3415 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3416 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3417 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3418 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3419 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3420 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3421 genconstants.c, genemit.c, genextract.c, genflags.c,
3422 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3423 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3424 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3425 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3426 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3427 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3428 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3429 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3430 print-tree.c, profile.c, protoize.c, ra-build.c,
3431 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3432 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3433 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3434 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3435 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3436 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3437 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3438 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3439 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3440 xcoffout.c, config/darwin-c.c, config/darwin.c,
3441 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3442 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3443 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3444 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3445 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3446 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3447 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3448 config/i960/i960-c.c, config/i960/i960.c,
3449 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3450 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3451 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3452 config/mips/irix6-libc-compat.c, config/mips/mips.c,
3453 config/mmix/mmix.c, config/mn10200/mn10200.c,
3454 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3455 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3456 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3457 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3458 config/sparc/sparc.c, config/stormy16/stormy16.c,
3459 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3460 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3461 Include coretypes.h and tm.h.
3462
3463 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3464 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3465 genrecog.c: Include coretypes.h and tm.h from the file
3466 generated by this program.
3467
3468 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3469 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3470 coretypes.h and tm.h, and tsystem.h when not already included.
3471 No need to include stddef.h nor stdlib.h.
3472
3473 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
3474 include auto-host.h or ansidecl.h/
3475 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3476 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
3477 include auto-host.h, ansidecl.h, or system.h.
3478 * fixinc/server.c: Likewise. Also, do not include signal.h,
3479 and do not redefine volatile.
3480
3481 Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
3482
3483 * i386.md (movdf_integer): Always enable in 64bit.
3484 (movdf_nointeger): Always disable in 64bit.
3485
3486 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3487
3488 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3489 pseudo register number plus 1.
3490
3491 Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
3492
3493 * expmed.c (store_bit_field): Use int_mode_for_mode to find
3494 corresponding mode of non-integer mode, unless it is VOIDmode.
3495
3496 2002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
3497
3498 * cpplib.c (_cpp_test_assertion): Default *value to 0.
3499
3500 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3501
3502 2002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
3503
3504 * config/s390/t-crtstuff: New target makefile fragment.
3505 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3506
3507 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
3508
3509 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3510 alternatives to correct the length when the memory operand is
3511 either pre_dec or post_inc.
3512
3513 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
3514
3515 * config/h8300/h8300.md (an anonymous pattern): Give an
3516 internal name *tst_extzv_bitqi_1_n.
3517 Accept bit_operand instead of bit_memory_operand.
3518 Do not accept bit tests with the MSB.
3519 (*tst_extzv_memqi_1_n): New.
3520
3521 Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
3522
3523 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3524 sharing when operand is SUBREG.
3525
3526 Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
3527
3528 * athlon.md (athlon-decodev): New reservation unit.
3529 (athlon-direct0): New reservation.
3530 (athlon-vector): New use athlon-decodev.
3531 (athlon-double, athlon-direct): Better model.
3532 (athlon_imul_k8): Use athlon-direct0.
3533 (athlon_movlpd_load): New insn reservation.
3534
3535 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
3536
3537 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3538 Fix a comment typo.
3539 (h8300_tiny_constant_address_p): Likewise.
3540
3541 2002-11-28 Michael Matz <matz@suse.de>
3542
3543 * doc/passes.texi: Mention the other register allocator.
3544
3545 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
3546
3547 * config/h8300/h8300.md (6 new peephole2 patterns): New.
3548
3549 2002-11-28 Jakub Jelinek <jakub@redhat.com>
3550
3551 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3552 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3553 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3554
3555 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
3556
3557 * config/h8300/h8300.c (h8300_and_costs): New.
3558 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3559 * config/h8300/h8300-protos.h: Add a prototype for
3560 h8300_and_costs.
3561
3562 Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
3563
3564 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3565 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3566 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3567 * i386.md (truncdfsf patterns and splitters): Use
3568 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3569
3570 2002-11-27 Zack Weinberg <zack@codesourcery.com>
3571
3572 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3573 pointer argument in the prototypes of the following builtins
3574 be (const TYPE *) rather than (TYPE *):
3575 + __builtin_altivec_ld_internal_4sf
3576 + __builtin_altivec_ld_internal_4si
3577 + __builtin_altivec_ld_internal_8hi
3578 + __builtin_altivec_ld_internal_16qi
3579 + __builtin_altivec_lvsl
3580 + __builtin_altivec_lvsr
3581 + __builtin_altivec_lvebx
3582 + __builtin_altivec_lvehx
3583 + __builtin_altivec_lvewx
3584 + __builtin_altivec_lvxl
3585 + __builtin_altivec_lvx
3586 + __builtin_altivec_dst
3587 + __builtin_altivec_dstt
3588 + __builtin_altivec_dstst
3589 + __builtin_altivec_dststt
3590
3591 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3592
3593 * except.c (default_exception_section): Move variable into the
3594 scope where it is used.
3595
3596 2002-11-27 Krister Walfridsson <cato@df.lth.se>
3597
3598 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3599 correct version.
3600
3601 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
3602
3603 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3604
3605 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
3606
3607 * config/h8300/h8300.c (h8300_shift_costs): New.
3608 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3609 * config/h8300/h8300-protos.h: Add a prototype for
3610 h8300_shift_costs.
3611
3612 2002-11-27 Jim Wilson <wilson@redhat.com>
3613
3614 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
3615 in output template.
3616
3617 2002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
3618
3619 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
3620 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
3621 DLL_IMPORT_EXPORT_PREFIX, not '@'.
3622 (i386_pe_dllimport_name_p): Likewise.
3623 (i386_pe_mark_dllexport): Likewise.
3624 (i386_pe_mark_dllimport): Likewise.
3625 (i386_pe_encode_section_info): Likewise.
3626 (i386_pe_strip_name_encoding): Likewise.
3627
3628 2002-11-27 Richard Henderson <rth@redhat.com>
3629
3630 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
3631 (nm && NF == 3): Set sawsymbol true.
3632 (END): Exit if no symbols seen.
3633 (output): Fix map syntax error if no globals for the version.
3634
3635 Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
3636
3637 * builtins.def (DEF_C99_BUILTIN): Fix.
3638
3639 2002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
3640
3641 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
3642 (all): Add .size and .type information.
3643
3644 Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
3645
3646 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
3647 partial_reg_stall target.
3648
3649 Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
3650
3651 * i386.md (movhicc): Allow general operand.
3652 (movqicc): New expander.
3653 (movqicc_noc): New pattern.
3654 * i386.c (ix86_expand_carry_flag_compare): New function.
3655 (ix86_expand_int_movcc): Optimize harder using sbb; support more
3656 HImode conversion; support QImode conditional moves
3657
3658 Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
3659
3660 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
3661 (ix86_expand_prologue): Multiply the count by amount of registers to be
3662 pushed.
3663
3664 Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
3665
3666 * i386.c (override_options): Error about wrong -mcpu on x86-64
3667 compilation.
3668
3669 2002-11-26 NIIBE Yutaka <gniibe@m17n.org>
3670
3671 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
3672
3673 Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
3674
3675 * i386-protos.h (x86_extended_QIreg_mentioned_p,
3676 x86_extended_reg_mentioned_p): Declare.
3677 * i386.c (extended_reg_mentioned_1): New static function.
3678 (x86_extended_QIreg_mentioned_p,
3679 x86_extended_reg_mentioned_p): New global functions.
3680 * i386.h (REX_SSE_REGNO_P): New macro.
3681 * i386.md (prefix_rex): New attribute.
3682 (length attribute): Add rex.
3683
3684 2002-11-26 Andrew Haley <aph@redhat.com>
3685
3686 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
3687 from_Unwind_Find_Enclosing_Function.
3688 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
3689 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
3690 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
3691 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
3692 * unwind.h (_Unwind_FindEnclosingFunction): Add.
3693
3694 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
3695
3696 * config/s390/s390.c (390_output_constant_pool): Set alignment
3697 before label in 64 bit mode, behind otherwise.
3698
3699 2002-11-26 Richard Henderson <rth@redhat.com>
3700
3701 * c-common.c (handle_visibility_attribute): Accept "default".
3702 * tree.h (enum symbol_visibility): New.
3703 (decl_visibility): Declare.
3704 * target.h (gcc_target.visibility): Take visibility arg as integer.
3705 * varasm.c (default_assemble_visibility): Likewise.
3706 (decl_visibility): New.
3707 (maybe_assemble_visibility): Use it.
3708 * output.h (default_assemble_visibility): Update prototype.
3709 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
3710 visibility arg as integer.
3711 * doc/extend.texi: Document default visibility.
3712
3713 2002-11-26 Kazu Hirata <kazu@cs.umass.edu>
3714
3715 * config/h8300/h8300.c: Adjust spacing.
3716 * config/h8300/h8300.h: Likewise.
3717
3718 2002-11-26 Richard Henderson <rth@redhat.com>
3719
3720 * hooks.c (hook_bool_void_false, hook_void_tree_int,
3721 hook_void_FILEptr_constcharptr): Rename so that the return
3722 type is first.
3723 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
3724 hook_bool_tree_false): New.
3725 * hooks.h: Update.
3726 * langhooks-def.h: Update for renames.
3727 * target-def.h: Likewise.
3728 * tree.c (default_comp_type_attributes,
3729 default_set_default_type_attributes, default_insert_attributes,
3730 default_function_attribute_inlinable_p,
3731 default_ms_bitfield_layout_p): Remove.
3732 * tree.h: Update.
3733
3734 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
3735
3736 * pa-protos.h (function_value): New prototype.
3737 * pa.c (function_value): Use a PARALLEL to return small aggregates on
3738 TARGET_64BIT.
3739 * pa.h (FUNCTION_VALUE): Use function_value.
3740 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
3741 call_value_internal_reg, sibcall_value_internal_symref,
3742 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
3743 value.
3744
3745 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
3746
3747 * expr.c (gen_group_rtx, emit_group_move): New functions.
3748 * expr.h (gen_group_rtx, emit_group_move): Prototype.
3749 * function.c (expand_function_start): Use gen_group_rtx to create a
3750 PARALLEL rtx to hold the return value when the real return rtx is a
3751 PARALLEL.
3752 (expand_function_end): Use emit_group_move to move the return value
3753 from a PARALLEL to the real return registers.
3754 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
3755 in PARALLELs.
3756
3757 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
3758
3759 * config/t-libc-ok: Fix typo.
3760
3761 2002-11-26 Jakub Jelinek <jakub@redhat.com>
3762
3763 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
3764 before AC_PROG_CC.
3765 * configure: Rebuilt.
3766
3767 2002-11-26 Nathan Sidwell <nathan@codesourcery.com>
3768
3769 * c-decl.c: (start_struct): Commonize flag setting.
3770
3771 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
3772
3773 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
3774 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
3775 RS6000_CPU_CPP_ENDIAN_BUILTINS.
3776 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
3777
3778 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
3779
3780 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
3781 insns.
3782 * config/s390/s390.c (struct machine_function): Introduction of
3783 struct machine_function.
3784 (s390_output_symbolic_const): Use of cfun.
3785 (s390_optimize_prolog): Likewise.
3786 (s390_fixup_clobbered_return_reg): Likewise.
3787 (s390_frame_info): Likewise.
3788 (s390_emit_prologue, s390_emit_epilogue): Likewise.
3789 (s390_init_machine_status): New function.
3790 (override_options): call s390_init_machine_status.
3791 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
3792 prototype.
3793
3794 2002-11-26 Jakub Jelinek <jakub@redhat.com>
3795
3796 * varasm.c (output_constant_pool): For pool constants in mergeable
3797 section ensure each constant is padded to multiple of entity size.
3798
3799 2002-11-26 Jakub Jelinek <jakub@redhat.com>
3800
3801 * varasm.c (default_exception_section): Move to...
3802 * except.c (default_exception_section): ... here. Make
3803 .gcc_except_table read-only if it is not expected to have any
3804 dynamic relocations and linker handles it.
3805 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
3806 if it is not expected to have any dynamic relocations and linker
3807 handles it.
3808 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
3809 when linking read-only and read-write sections together.
3810 * configure, config.in: Rebuilt.
3811 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
3812 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
3813
3814 Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
3815
3816 * i386.md (pushsf_rex64): Fix typo.
3817
3818 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
3819
3820 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
3821 new function.
3822 (__ev_create_ufix32_fs): Same.
3823 (__ev_get_sfix32_fs_internal): New.
3824 (__ev_get_sfix32_fs): Define to use function.
3825 (__ev_get_ufix32_fs_internal): New.
3826 (__ev_get_ufix32_fs): Define to use function.
3827 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
3828 (__ev_get_lower_ufix32_fs): Same.
3829 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
3830 (__ev_get_lower_sfix32_fs): Same.
3831 (__ev_set_sfix32_fs_internal): New.
3832 (__ev_set_ufix32_fs_internal): New.
3833 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
3834 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
3835 (__ev_set_upper_sfix32_fs): Call function.
3836 (__ev_set_lower_sfix32_fs): Same.
3837 (__ev_set_upper_ufix32_fs): Same.
3838 (__ev_set_lower_ufix32_fs): Same.
3839
3840 2002-11-25 Douglas B Rupp <rupp@gnat.com>
3841
3842 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
3843
3844 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
3845
3846 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
3847 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
3848 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
3849 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
3850 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
3851 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
3852 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
3853 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
3854 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
3855 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
3856 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
3857 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
3858 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
3859 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
3860 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
3861 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
3862 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
3863 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
3864 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
3865 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
3866 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
3867 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
3868 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
3869 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
3870 defining.
3871 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
3872 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
3873
3874 2002-11-25 Dave Pitts <dpitts@cozx.com>
3875
3876 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
3877
3878 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
3879
3880 * config/h8300/h8300.md (an anonymous pattern): New.
3881
3882 2002-11-25 Richard Henderson <rth@redhat.com>
3883
3884 * alias.c (find_base_value): Use new_reg_base_value if it's live.
3885 (copying_arguments): Make boolean.
3886
3887 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
3888
3889 * gcc.c (static_spec_functions): Add if-exists-else spec
3890 function.
3891 (if_exists_else_spec_function): New function.
3892 * doc/invoke.texi: Document the if-exists-else spec function.
3893
3894 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
3895 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
3896
3897 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
3898
3899 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
3900 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
3901 "${tmake_file} rs6000/t-netbsd".
3902 * config/rs6000/netbsd.h: Rewrite.
3903 * config/rs6000/t-netbsd: New file.
3904
3905 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
3906
3907 * config/h8300/h8300.md (an anonymous pattern): Relax the
3908 condition for the pattern.
3909
3910 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
3911
3912 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
3913 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
3914 evmwlssfanw, evmwlsmfanw.
3915
3916 * config/rs6000/rs6000.c (bdesc_2arg): Same.
3917
3918 * config/rs6000/spe.md: Same for patterns.
3919
3920 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
3921
3922 PR c/8639
3923 * fold-const.c (extract_muldiv): Don't propagate division unless
3924 both arguments are multiples of C.
3925
3926 2002-11-25 Andrew Haley <aph@redhat.com>
3927
3928 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
3929 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
3930 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
3931 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
3932
3933 Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
3934
3935 * i386.c (x86_use_ffreep): New global variable.
3936 * i386.h (x86_use_frfeep): Declare
3937 (TARGET_USE_FFREEP): New macro
3938 * i386.md (movs?f*): Use freep when asked for.
3939 (push?f): Remove dead code.
3940
3941 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
3942
3943 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
3944 target help message.
3945
3946 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
3947
3948 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
3949 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
3950 crtbeginT.o".
3951 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
3952 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
3953 to "" for a.out configurations.
3954 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
3955
3956 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
3957
3958 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
3959 NETBSD_CPP_SPEC directly.
3960 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
3961 netbsd_endfile_spec.
3962 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
3963
3964 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
3965
3966 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
3967 NETBSD_STARTFILE_SPEC.
3968 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
3969 (ENDFILE_SPEC): Likewise.
3970 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
3971
3972 2002-11-24 Andreas Schwab <schwab@suse.de>
3973
3974 * Makefile.in (install-driver): Remove versioned link before
3975 trying to create it.
3976
3977 * config/m68k/m68k.c: Fix typo in last change defining
3978 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
3979
3980 2002-11-23 H.J. Lu <hjl@gnu.org>
3981
3982 * aclocal.m4: Include ../config/accross.m4.
3983 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
3984 (gcc_AC_C_COMPILE_ENDIAN): Removed.
3985 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
3986 instead of $ac_cv_c_compile_endian.
3987
3988 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
3989 AC_COMPILE_CHECK_SIZEOF.
3990 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
3991 * configure: Rebuild.
3992
3993 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
3994
3995 * config/h8300/h8300.c (print_operand): Update the use of
3996 h8300_tiny_constant_address_p.
3997 (h8300_adjust_insn_length): Likewise.
3998 (h8300_tiny_constant_address_p): Check if the given rtx is a
3999 variable declared with __attribute__ ((tiny_data)).
4000
4001 2002-11-22 Dale Johannesen <dalej@apple.com>
4002
4003 * toplev.c (rest_of_compilation): Fix comments.
4004
4005 2002-11-22 Geoffrey Keating <geoffk@apple.com>
4006
4007 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4008 allow mmap from /dev/zero. Don't make decisions for the host
4009 based on presence or absence of /dev/zero on the build machine.
4010 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4011 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4012 * configure: Regenerate.
4013
4014 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
4015
4016 * gcc.c (make_relative_prefix, split_directories)
4017 (free_split_directories): Removed.
4018
4019 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
4020
4021 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4022 * configure: Regenerated.
4023
4024 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
4025
4026 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4027 length computation when xor.l is output.
4028
4029 2002-11-21 Douglas B Rupp <rupp@gnat.com>
4030
4031 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4032 (call_vms_1, call_value_vms_1): Cleanup syntax.
4033
4034 Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
4035
4036 * athlon.md (define_atuomaton): Add athlon_load.
4037 (athlon-double): New reservation.
4038 (athlon-ieu0): New CPU unit.
4039 (athlon-load?): Use athlon_load automaton.
4040 (*_k8 reservations): New.
4041 (other insn revervations): Activate for K8.
4042
4043 Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
4044
4045 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
4046
4047 2002-11-21 Jim Wilson <wilson@redhat.com>
4048
4049 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4050 vectors to SI.
4051
4052 2002-11-21 Bob Wilson <bob.wilson@acm.org>
4053
4054 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4055 * config/xtensa/xtensa.c (struct machine_function): Add
4056 incoming_a7_copied flag.
4057 (xtensa_copy_incoming_a7): Define.
4058 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4059 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4060
4061 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
4062
4063 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4064 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4065 x86_64_nonmemory_operand, x86_64_movabs_operand,
4066 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4067 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4068 (local_symbolic_operand): Do not care the 64bit limits.
4069 (x86_64_sign_extended_value): Remove allow_rip support.
4070 (legitimate_pic_address_disp_p): Handle all cases allowed
4071 with RIP addressing.
4072 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4073 (legitimize_pic_address): Reorganize.
4074 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4075
4076 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
4077
4078 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4079 * config/arm/netbsd-elf.h: New file.
4080
4081 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
4082
4083 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4084 subtarget_asm_float_spec.
4085 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4086 defaults from...
4087 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
4088
4089 2002-11-21 Nick Clifton <nickc@redhat.com>
4090
4091 * config/fr30/fr30.md (movsf_constant_store): Move code to
4092 detect 0.0 into fr30.c.
4093 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4094 Prototype.
4095 * config/fr30/fr30.c (fr30_const_double_is_zero): New
4096 function. Return true if the rtx is 0.0.
4097
4098 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
4099
4100 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4101 if -mlittle-endian is specified.
4102
4103 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
4104
4105 PR optimization/2903
4106 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4107 (anddi_notsesidi_di): Likewise.
4108
4109 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
4110
4111 * config/h8300/h8300.c (print_operand): Use
4112 h8300_eightbit_constant_address_p and
4113 h8300_tiny_constant_address_p.
4114 (h8300_adjust_insn_length): Likewise.
4115 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4116 (TINY_CONSTANT_ADDRESS_P): Likewise.
4117 (OK_FOR_U): Use eightbit_constant_address_p.
4118
4119 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
4120
4121 * config/s390/libgcc-libc.ver: Add multilib support.
4122 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4123 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4124 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4125 EXTRA_MULTILIB_PARTS): Define.
4126
4127 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
4128
4129 * arm.c (arm_get_frame_size): A leaf function does not need its
4130 stack padding to an aligned boundary if it has no frame.
4131 (thumb_get_frame_size): Likewise.
4132
4133 Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
4134
4135 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4136 (override_options): Likewise.
4137
4138 Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
4139
4140 * config.gcc: Add k8 target alias support
4141 * i386.c (_cost): Declare costs for various variants of divides and
4142 multiplies.
4143 (k8_cost): New.
4144 (m_K8, m_ATHLON_K8): New macros.
4145 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4146 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4147 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4148 x86_integer_DFmode_moves, x86_partial_reg_dependency,
4149 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4150 x86_prologue_using_move, x86_epilogue_using_move,
4151 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4152 x86_sse_typeless_stores): Set for K8
4153 (override_options): Add k8 support; fix athlon alignment;
4154 complain about non-x86-64 capable CPU being used in x86-64 compilation.
4155 (ix86_issue_rate): Set for K8.
4156 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4157 x86_machine_dependent_reorg): Handle K8 like
4158 * i386.h
4159 (x86_costs): Change mult_init and divide into array.
4160 (TARGET_K8, TARGET_ATHLON): New macros.
4161 (MODE_INDEX): New macro.
4162 (RTX_COST): Use new costs.
4163 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
4164 (TARGET_CPU_DEFAULT_NAMES): Add k8
4165 (TARGET_CPU_DEFAULT_k8): New constant
4166 (enum processor_type): Add PROCESSOR_K8.
4167 * i386.md (cpu attribute): Add k8.
4168
4169 * invoke.texi: Document -march=k8.
4170
4171 * i386.md (type attribute): Add leave
4172 (mode attribute): Remove unknownfp.
4173 (length_immediate, modrm, memory attributes): Handle leave correctly.
4174 (fp comparison patterns): Determine FP mode.
4175 (leave, leave_rex64): Remove special cases.
4176 * ppro.md (ppro_uops, ppro_p2): Add leave
4177 * pentiun.md (pent_pop): Handle leave too.
4178 * k6.md (k6_load): Handle leave.
4179 * athlon.md (athlon_leave, athlon_pop): Fix.
4180 (athlon_decode): Handle leave.
4181
4182 2002-11-20 Steve Ellcey <sje@cup.hp.com>
4183
4184 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4185 to component type using GET_MODE_INNER.
4186 * expr.c (emit_move_insn_1): Ditto.
4187 * optabs.c (expand_binop): Ditto.
4188 (expand_unop): Ditto.
4189 (expand_complex_abs): Ditto.
4190
4191 2002-11-20 Douglas B Rupp <rupp@gnat.com>
4192
4193 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4194
4195 2002-11-20 DJ Delorie <dj@redhat.com>
4196
4197 * config/stormy16/stormy16.c (s16builtins,
4198 xstormy16_init_builtins, xstormy16_expand_builtin): New.
4199 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4200
4201 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
4202
4203 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4204 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4205 (executing gencheck, genconfigs, genconditions, genflags,
4206 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4207 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4208 gengtype, genprotos): Prepend $(RUN_GEN).
4209 * configure.in: Move host compiler tests before --enable-checking
4210 tests.
4211 (--enable-checking=valgrind): New.
4212 * config.in, configure: Regenerate.
4213 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4214 Define as empty.
4215 (read_include_file): When doing the mmap+1 trick,
4216 valgrind-annotate the byte after the mmap:ed area as readable.
4217 (purge_cache): Remove above annotation.
4218 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4219 VALGRIND_PATH -q to each command.
4220
4221 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4222 Define as empty.
4223 (ggc_realloc): Update valgrind annotations.
4224 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4225 Define as empty.
4226 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4227 valgrind-annotate memory.
4228
4229 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
4230
4231 * recog.c (constrain_operands): Prefer exact match over reloadable
4232 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4233
4234 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4235 operands in Pmode.
4236
4237 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
4238
4239 PR c/8518
4240 * c-decl.c (duplicate_decls): Outline the second definition
4241 of an extern inline function in all cases.
4242
4243 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
4244
4245 * stor-layout.c (place_field): Update rli->offset as well as
4246 rli->bitpos.
4247
4248 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
4249
4250 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4251
4252 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
4253
4254 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4255 into a libcall block.
4256 (divsi3): Likewise divsi3_i4_media.
4257
4258 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
4259
4260 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4261 out another register.
4262
4263 2002-11-20 Jakub Jelinek <jakub@redhat.com>
4264
4265 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4266 (not just mask) are set in C.
4267
4268 2002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
4269
4270 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4271
4272 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4273
4274 * profile.c (index_counts_file): Fix obvious mistake.
4275
4276 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4277
4278 * Makefile.in (profile.o): Add hashtab.h dependency.
4279 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4280 * profile.c: Include hashtab.h.
4281 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4282 cleanup_counts_index, index_counts_file, struct section_reference,
4283 struct da_index_entry, counts_file_name, counts_file_index): New.
4284 (get_exec_counts, init_branch_prob): Modified.
4285
4286 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
4287
4288 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4289 to tmake_file. Remove setting gas and gnu_ld here.
4290 * config/sh/libgcc-glibc.ver: New file.
4291 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4292 (SHLIB_MAPFILES): New.
4293 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4294 (MD_STARTFILE_PREFIX): Likewise.
4295 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4296 (DWARF2_UNWIND_INFO): Redefine.
4297 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4298 (LINK_EH_SPEC): Redefine.
4299 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4300 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4301 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4302 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4303 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4304 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4305 SH_DWARF_FRAME_FPSCR): Likewise.
4306 * config/sh/sh-protos.h (sh_set_return_address): Declare.
4307 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4308 registers if the current function calls EH return.
4309 (sh_expand_epilogue): Handle EH stack adjustments.
4310 (sh_set_return_address): New function.
4311 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4312 Don't abort even if the number is mapped to -1.
4313 (EH_RETURN_DATA_REGNO): Define.
4314 (EH_RETURN_STACKADJ_RTX): Define.
4315 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4316 (eh_return): New pattern.
4317 (eh_set_ra_di, eh_set_ra_si): Likewise.
4318 Add splitter to perform EH return after reload.
4319
4320 Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
4321
4322 * stor-layout.c (excess_unit_span): New function.
4323 (place_field): Use it.
4324
4325 2002-11-19 Andreas Schwab <schwab@suse.de>
4326
4327 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4328 not valid in C++.
4329
4330 2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
4331
4332 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4333 * configure: Regenerate.
4334
4335 Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
4336
4337 * convert.c (strip_float_extensions): New function.
4338 (convert_to_real): Optimize some cases.
4339
4340 2002-11-19 Andreas Jaeger <aj@suse.de>
4341
4342 * loop.c (record_giv): Initialize not_replaceable.
4343 (check_final_value): Likewise.
4344
4345 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
4346
4347 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4348 MASK_H8300S.
4349
4350 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
4351
4352 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4353 only if -mh or -ms present.
4354 (h8300_eightbit_constant_address_p): Support the normal mode.
4355 (h8300_tiny_constant_address_p): Likewise.
4356 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4357 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4358 (Pmode): Evaluate to HImode for the normal mode.
4359 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4360 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4361 (ASM_WORD_OP): Evaluate to word for the normal mode.
4362 * config/h8300/h8300.md (tablejump_normal_mode): New.
4363 (indirect_jump_normal_mode): New.
4364 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4365 directory.
4366 (MULTILIB_DIRNAMES): Create target dependent directory
4367 'normal'.
4368 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4369 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4370
4371 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
4372
4373 * i386.md (length_immediate): Do not refer to insn address.
4374 (jcc*, jmp patterns): Compute length explicitly.
4375
4376 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4377
4378 PR c/8588
4379 * optabs.c (expand_binop): Convert CONST_INTs in shift
4380 operations too.
4381
4382 2002-11-19 Roger Sayle <roger@eyesopen.com>
4383
4384 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4385
4386 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
4387
4388 * config/h8300/h8300.md (an anonymous pattern): Relax the
4389 condition to accept the same operands and/or subregs.
4390
4391 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
4392
4393 * config/sh/sh.c (gen_shl_and): Revert previous patch.
4394 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4395 reload_completed.
4396
4397 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
4398
4399 * config/h8300/h8300.c (print_operand): Update the use of
4400 EIGHTBIT_CONSTANT_ADDRESS_P.
4401 (h8300_adjust_insn_length): Likewise.
4402 (h8300_eightbit_constant_address_p): Check if the given rtx is
4403 a variable with __attribute__((eightbit_data)).
4404 * config/h8300/h8300.h (OK_FOR_U): Update the use of
4405 EIGHTBIT_CONSTANT_ADDRESS_P.
4406
4407 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4408
4409 * doc/contrib.texi (Contributors): Add self as second contact in
4410 addition to Jeff Law.
4411
4412 2002-11-19 Andreas Jaeger <aj@suse.de>
4413
4414 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4415 find_alloca_call to right place.
4416
4417 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
4418
4419 * cppfiles.c: Fix formatting.
4420
4421 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
4422
4423 * gcc.c (The Specs Language): Document spec functions.
4424 (static_spec_functions, lookup_spec_function)
4425 (eval_spec_function, handle_spec_function)
4426 (if_exists_spec_function, alloc_args): New.
4427 (execute): Abort if processing_spec_function is true.
4428 (do_spec_1): Hand off spec to handle_spec_function if %:
4429 is encountered. If processing_spec_function is true,
4430 end any pending argument when the end of the string is reached.
4431 (main): Use alloc_args to allocate the initial argument vector.
4432 * gcc.h (struct spec_function): New.
4433 (lang_specific_spec_functions): New extern.
4434
4435 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4436 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4437 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4438
4439 * doc/invoke.texi: Document spec functions.
4440
4441 * cppspec.c (lang_specific_spec_functions): New.
4442 * gccspec.c: Likewise.
4443
4444 2002-11-18 Steve Ellcey <sje@cup.hp.com>
4445
4446 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4447 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4448 (fixunstfsi_libfunc): Change.
4449 (fixunstfdi_libfunc): Change.
4450 (sdiv_optab): Don't zero out SImode handler.
4451 (udiv_optab): Don't zero out SImode handler.
4452 (smod_optab): Don't zero out SImode handler.
4453 (umod_optab): Don't zero out SImode handler.
4454
4455 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
4456
4457 PR preprocessor/8524
4458 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4459 Add a new one in its place, which hopefully works.
4460 (skip_rest_of_line): Change test for bottom-of-context-stack.
4461
4462 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
4463
4464 * i386.md (addqi_1_slp): Fix output template.
4465 (subqi_1_slp): Fix type.
4466
4467 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
4468
4469 * calls.c (alloca_call_p): New global function.
4470 * tree.h (alloca_call_p): New.
4471 * tree-inline.c (inlinable_function_p): Do not inline when
4472 function calls alloca.
4473 (find_alloca_call, find_alloca_call_1): New functions.
4474
4475 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
4476
4477 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4478 bst. Update the insn length.
4479 (*andorhi3): Likewise.
4480 (*andorsi3): Likewise.
4481
4482 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
4483
4484 * config/sh/sh-protos.h (sh_mark_label): Declare.
4485 * config/sh/sh.c (sh_mark_label): New function, taken from
4486 movdi_const, but fixing the case when the address has an addend.
4487 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4488
4489 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
4490
4491 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4492 (add_constant): Set it.
4493 (dump_table): Don't reorder a constant if part_of_sequence_p.
4494 (machine_dependent_reorg): Assume that float constants will
4495 stay in their original order if used as a sequence.
4496
4497 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
4498
4499 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4500 in compact code.
4501
4502 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
4503
4504 * config/sh/sh.md (initialize_trampoline): Do not force the
4505 trampoline address into R0_REGS here.
4506
4507 Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
4508
4509 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4510 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4511 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4512 generate unnecesary subregs.
4513
4514 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
4515
4516 * df.c: Fix formatting.
4517
4518 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
4519
4520 * config/h8300/h8300.md (two anonymous patterns): Fix insn
4521 lengths.
4522
4523 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
4524
4525 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4526 is not an arith_reg_operand.
4527
4528 2002-11-17 Graham Stott <graham.stott@btinternet.com>
4529
4530 * real.c (real_to_decimal): Fix buffer overrun when buffer size
4531 is smaller than representation.
4532
4533 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
4534
4535 * builtins.c: Fix formatting.
4536
4537 Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
4538
4539 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4540 floats?dff2_i387):
4541 Work around regclass stupidity.
4542 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
4543
4544 Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
4545
4546 * i386.md (fop_df_6): New pattern.
4547 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4548 (fop_xf_6): Rewrite
4549 (fop_xf_7): Delete.
4550 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4551 (fop_tf_6): Rewrite
4552 (fop_tf_7): Delete.
4553
4554 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4555
4556 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4557
4558 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4559
4560 * config/h8300/h8300.md: Fix formatting.
4561
4562 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4563
4564 * config/h8300/h8300.md: Replace spaces with tabs.
4565 * config/h8300/t-h8300: Remove a trailing empty line.
4566
4567 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4568
4569 * tlink.c: Fix formatting.
4570
4571 2002-11-16 David Edelsohn <edelsohn@gnu.org>
4572
4573 PR 8362
4574 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4575 * config/rs6000/rs6000.md (movti_string): Remove output modifier
4576 when scratch register never needed.
4577 (ldmsi[3-8]): New patterns.
4578
4579 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4580
4581 * hard-reg-set.h: Follow spelling conventions.
4582 * real.c: Likewise.
4583 * target.h: Likewise.
4584
4585 2002-11-16 Jakub Jelinek <jakub@redhat.com>
4586
4587 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
4588
4589 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
4590
4591 * optabs.c: Fix formatting.
4592
4593 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
4594
4595 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
4596 * i386.md (attribute type): Add type shift1 and rotate1.
4597 (*_slp): Rewrite to have just two operands to avoid reload problems.
4598
4599 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
4600
4601 * config/h8300/h8300.md (4 anonymous patterns): New.
4602
4603 2002-11-15 Geoffrey Keating <geoffk@apple.com>
4604
4605 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
4606 * doc/invoke.texi: Correct description of what needs to be done to
4607 force collection at every ggc_collect call.
4608
4609 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4610
4611 * config/s390/s390.c (optimization_options): Set
4612 flag_asynchronous_unwind_tables to 1 by default.
4613
4614 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4615
4616 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4617
4618 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
4619
4620 * i386-protos.h (x86_function_profiler): New function
4621 * i386.h (MCOUNT_NAME): New.
4622 (PROFILE_COUNT_REGISTER): New.
4623 (FUNCTION_PROFILER): Move offline to ...
4624 * i386.c (x86_function_profiler) ... here; fix 64bit support
4625 * beos-elf.h (FUNCTION_PROFILER): Kill.
4626 (MCOUNT_NAME): New.
4627 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
4628 (MCOUNT_NAME): New.
4629 (PROFILE_COUNT_REGISTER): New.
4630 * linux.h (FUNCTION_PROFILER): Kill.
4631 (MCOUNT_NAME): New.
4632 * x86-64.h (FUNCTION_PROFILER): Kill.
4633 (MCOUNT_NAME): New.
4634 * freebsd.h (FUNCTION_PROFILER): Kill.
4635 (MCOUNT_NAME): New.
4636
4637 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4638
4639 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
4640 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
4641 * config/arm/arm.c (arm_va_arg,
4642 arm_function_arg_pass_by_reference): New.
4643 * config/arm/arm-protos.h: Add prototypes.
4644
4645 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
4646
4647 * gthr-single.h: Fix formatting.
4648
4649 2002-11-14 Zack Weinberg <zack@codesourcery.com>
4650
4651 * tree.c (tree_vec_elt_check_failed): New function.
4652 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
4653 (TREE_VEC_ELT): Use it.
4654
4655 * tree-inline.c (optimize_inline_calls): Don't copy a
4656 zero-length vector.
4657
4658 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
4659
4660 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
4661
4662 2002-11-14 Jakub Jelinek <jakub@redhat.com>
4663
4664 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
4665 both operands contain local relocations.
4666 (categorize_decl_for_section): Don't use mergeable sections if
4667 initializer has any relocations.
4668
4669 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
4670
4671 * gthr-vxworks.h: Fix formatting.
4672
4673 2002-11-13 Janis Johnson <janis187@us.ibm.com>
4674
4675 * doc/install.texi (Testing): Document extra Java testing.
4676 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
4677
4678 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
4679
4680 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
4681 beginning of the spec.
4682 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
4683 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
4684 regarding problems with global constructors when using GNU ld.
4685
4686 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
4687
4688 * gthr-solaris.h: Fix formatting.
4689
4690 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
4691
4692 * gthr-posix.h: Fix formatting.
4693
4694 2002-11-12 Devang Patel <dpatel@apple.com>
4695 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
4696 (process_command): Same.
4697 * doc/invoke.texi: Info about these two new options.
4698
4699 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
4700
4701 * config/h8300/h8300.md (*andorsi3): New.
4702
4703 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4704
4705 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
4706
4707 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
4708
4709 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
4710 expressions appropriately.
4711
4712 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
4713
4714 * gthr-win32.h: Fix formatting.
4715
4716 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
4717
4718 * config/h8300/h8300.c (single_one_operand): Correctly compute
4719 mask when mode is SImode.
4720 (single_zero_operand): Likewise.
4721 * config/h8300/h8300.md (two new anonymous insns): New.
4722
4723 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4724
4725 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
4726 to that entire project.
4727
4728 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4729
4730 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
4731 directories.
4732
4733 2002-11-11 Zack Weinberg <zack@codesourcery.com>
4734
4735 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
4736 * doc/invoke.texi: Document them.
4737
4738 * ggc-page.c: Include params.h. Remove definitions of
4739 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
4740 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
4741 (init_gcc): Don't set G.allocated_last_gc here.
4742 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
4743 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
4744 perform collection.
4745 * ggc-simple.c: Similarly.
4746 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
4747 dependencies.
4748
4749 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
4750
4751 * gthr-dce.h: Fix formatting.
4752
4753 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4754
4755 PR c/8467
4756 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
4757 mode of DECL_RTL case.
4758
4759 2002-11-11 Janis Johnson <janis187@us.ibm.com>
4760
4761 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
4762
4763 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
4764
4765 * i386.c (construct_container): Fix handling of SSE_CLASS.
4766
4767 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
4768
4769 * config/m68k/t-crtstuff (crti.o): Use this...
4770 ($(T)crti.o): ... instead.
4771 (crtn.o): Use this...
4772 ($(T)crtn.o): ... instead.
4773
4774 2002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
4775
4776 PR c/8439
4777 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
4778 if there is something new to be simplified.
4779
4780 2002-11-10 H.J. Lu <hjl@gnu.org>
4781
4782 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
4783 * expr.c (PUSH_ARGS_REVERSED): Likewise.
4784
4785 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
4786
4787 2002-11-10 Zack Weinberg <zack@codesourcery.com>
4788
4789 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
4790 * config/rs6000/linux.h, config/rs6000/linux64.h,
4791 config/rs6000/windiss.h: ... not here.
4792
4793 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
4794
4795 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
4796 __ABICALLS__ if TARGET_ABICALLS.
4797
4798 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
4799
4800 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
4801
4802 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
4803
4804 * c-decl.c (grokdeclarator): Make error for duplicate type
4805 qualifiers into a pedwarn, disabled for C99.
4806
4807 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
4808
4809 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
4810 as FUNCTION_ARG_PASS_BY_REFERENCE.
4811
4812 2002-11-09 Zack Weinberg <zack@codesourcery.com>
4813
4814 * doc/install.texi: Add *-*-vxworks* specific installation
4815 instructions.
4816
4817 * config/vxlib.c: Rewrite using generation numbers to identify
4818 valid TSD keys.
4819
4820 Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
4821
4822 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
4823
4824 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4825
4826 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
4827
4828 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
4829 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
4830 * pa.c (output_millicode_call): Use symbol difference rather than
4831 $PIC_pcrel$0 when using HP assembler.
4832 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
4833 not elfos.h (i.e., gas) is being used.
4834 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4835 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
4836 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
4837 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
4838 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
4839 using elfos.h.
4840 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
4841 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
4842 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
4843 using elfos.h.
4844 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4845 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
4846 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
4847 Don't define when not using elfos.h.
4848 (ASM_DECLARE_RESULT): Don't define.
4849 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
4850 doesn't work on hppa64-hp-hpux11.
4851 (hppa*-hp-hpux11): Update.
4852
4853 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
4854
4855 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
4856 to the assembler if -mno-abicalls was specified.
4857
4858 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4859
4860 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4861 ASM_OUTPUT_DEF): Delete.
4862
4863 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
4864
4865 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
4866
4867 2002-11-08 Roger Sayle <roger@eyesopen.com>
4868
4869 * real.c (real_sqrt): Update comment with bibliographic reference.
4870
4871 Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
4872
4873 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
4874
4875 Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
4876
4877 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
4878
4879 Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
4880
4881 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
4882 (expand_builtin): Likewise.
4883 * builtins.def: Add
4884 __builtin_floor, __builtin_floorf, __builtin_floorl
4885 __builtin_ceil, __builtin_ceilf, __builtin_ceill
4886 __builtin_round, __builtin_roundf, __builtin_roundl
4887 __builtin_trunc, __builtin_truncf, __builtin_truncl
4888 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
4889 * genopinit.c (optabs): Initialize the new optabs.
4890 * optab.c (init_optabs): Likewise.
4891 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
4892 OTI_round, OTI_nearbyint.
4893 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
4894 * doc/md.texi: Document new named patterns.
4895 * doc/extend.texi (builtin functions) Document
4896 floor, floorf, floorl, ceil, ceilf,
4897 ceill, round, roundf, roundl, trunc,
4898 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
4899
4900 Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
4901
4902 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
4903
4904 2002-11-08 Dale Johannesen <dalej@apple.com>
4905
4906 * dbxout.c (dbxout_type): Fix stabs info for vector types.
4907
4908 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
4909
4910 PR preprocessor/8497
4911 PR preprocessor/8501
4912 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
4913 start a directive. In assembler, #NUM is not a line directive.
4914
4915 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
4916
4917 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
4918 buffers.
4919
4920 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
4921
4922 * config/h8300/h8300.md (two anonymous test insns): New.
4923
4924 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
4925
4926 * jump.c (mark_jump_label): Handle subregs of label_refs.
4927
4928 Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
4929
4930 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
4931 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
4932
4933 2002-11-07 David Mosberger <davidm@hpl.hp.com>
4934
4935 * config/ia64/crtend.asm: Include "auto-host.h".
4936 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
4937 * config/ia64/crtbegin.asm: Similarly.
4938 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
4939 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
4940
4941 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
4942 * configure.in: Use it if --enable-initfini-array not specified.
4943 * doc/install.texi (Configuration): Document --enable-initfini-array.
4944 * configure, config.in: Rebuild.
4945
4946 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
4947
4948 * config/arm/arm-protos.h (arm_get_frame_size)
4949 (thumb_get_frame_size): New prototypes.
4950 * config/arm/arm.c (arm_get_frame_size)
4951 (thumb_get_frame_size): New functions.
4952 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
4953 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
4954 arm_get_frame_size.
4955 (thumb_expand_prologue, thumb_expand_epilogue): Use
4956 thumb_get_frame_size.
4957 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
4958 (machine_function): Add frame_size member.
4959 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
4960
4961 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
4962
4963 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
4964 Adjust code to use portable unsigned bit manipulation.
4965 (insn_flags, tune_flags): Change type to unsigned.
4966 (struct processors): Make flags unsigned long.
4967 (arm_override_options): Change type of count and current_bit_count
4968 to unsigned.
4969
4970 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
4971
4972 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
4973
4974 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4975
4976 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
4977
4978 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
4979
4980 * reg-stack.c (compensate_edge): Fix sanity check.
4981
4982 2002-11-05 Geoffrey Keating <geoffk@apple.com>
4983
4984 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
4985 crt2.o. Rearrange t-darwin makefiles.
4986 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
4987 * unwind-dw2-fde-darwin.c: New.
4988 * unwind-dw2-fde-glibc.c: Correct comment.
4989 * unwind-dw2-fde.c (__register_frame_info_bases)
4990 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
4991 (classify_object_over_fdes): Use last_fde.
4992 (add_fdes): Likewise.
4993 (linear_search_fdes): Likewise.
4994 * unwind-dw2-fde.h (struct object)
4995 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
4996 (last_fde): New.
4997 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
4998 (ENDFILE_SPEC): No crtend.o.
4999 * config/t-darwin: New.
5000 * config/i386/t-darwin: Delete.
5001 * config/darwin-crt2.c: New.
5002 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5003 or config/t-darwin.
5004
5005 2002-11-06 Douglas B Rupp <rupp@gnat.com>
5006
5007 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5008 MASK_MS_BITFIELD_LAYOUT
5009 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5010 MS bitfields for Objective-C.
5011 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5012 defines.
5013
5014 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5015 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5016 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5017
5018 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5019 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5020 (TARGET_SWITCHES): Add above mask.
5021
5022 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5023 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5024 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5025 flags for interix.
5026
5027 Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
5028
5029 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5030 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5031 assembler.
5032 * config/mips/mips.md (tablejump_internal3): Output .cpadd
5033 before jump on ABI_N32 too.
5034 (tablejump_internal4): Ditto on ABI_64. Increase maximum
5035 length to match.
5036
5037 Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
5038
5039 * i386.md (negsf splitter): Accept memory operand in second register.
5040 (abssf/absdf splitters): Simplify
5041 (sse_loadss, sse_loadsd): Turn into expander.
5042
5043 2002-11-06 David Edelsohn <edelsohn@gnu.org>
5044
5045 PR target/8480
5046 * config/rs6000/rs6000.md (movdi_internal64): Discourage
5047 FPR to FPR moves.
5048
5049 2002-11-06 Janis Johnson <janis187@us.ibm.com>
5050
5051 * doc/contrib.texi: Merge in the list from the Java web pages.
5052
5053 2002-11-06 David O'Brien <obrien@FreeBSD.org>
5054
5055 * config/sparc/freebsd: Fix typo.
5056
5057 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
5058
5059 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5060
5061 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
5062
5063 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5064 non-SImode addresses.
5065
5066 Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
5067
5068 * i386.md (float_truncate SSE splitter): Ensure that operand is not
5069 stack register.
5070 (float SSE splitters): Reorder conditional.
5071
5072 2002-11-05 Bob Wilson <bob.wilson@acm.org>
5073
5074 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5075
5076 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
5077
5078 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5079 (STARTFILE_SPEC): Remove p and pg options.
5080
5081 2002-11-05 Andrew Haley <aph@redhat.com>
5082
5083 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5084 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5085
5086 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
5087
5088 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5089 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5090
5091 2002-11-04 Zack Weinberg <zack@codesourcery.com>
5092
5093 * gthr-vxworks.h: Rewritten from scratch.
5094 * config/vxlib.c: New file.
5095 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5096 * config/rs6000/t-vxworks: Add config/vxlib.c to
5097 LIB2FUNCS_EXTRA here too, because of clash with
5098 config/rs6000/t-ppccomm.
5099
5100 2002-11-04 Dale Johannesen <dalej@apple.com>
5101
5102 * doloop.c (doloop_modify_runtime): Fix loop count computation
5103 for unrolled loops.
5104 * loop.c (loop_invariant_p): Support calling from unroller.
5105
5106 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
5107
5108 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5109 for comparison.
5110
5111 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
5112
5113 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5114
5115 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5116 (CLASS_CANNOT_CHANGE_MODE): Remove.
5117 (CANNOT_CHANGE_MODE_CLASS): New.
5118
5119 * config/alpha/alpha.h: Same.
5120
5121 * config/ia64/ia64.h: Same.
5122
5123 * config/mips/mips.h: Same.
5124
5125 * config/s390/s390.h: Same.
5126
5127 * config/sh/sh.h: Same.
5128
5129 * config/pa/pa64-regs.h: Same.
5130
5131 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5132
5133 * config/sh/sh.c (sh_cannot_change_mode_class): New.
5134
5135 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5136 prototype.
5137
5138 * config/mips/mips.c (mips_cannot_change_mode_class): New.
5139
5140 * doc/tm.texi (Register Classes): Remove
5141 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5142 Document CANNOT_CHANGE_MODE_CLASS.
5143
5144 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5145 (push_reload): Same.
5146
5147 * simplify-rtx.c (simplify_subreg): Same.
5148
5149 * reload1.c (choose_reload_regs): Same.
5150
5151 * recog.c (register_operand): Same.
5152
5153 * regrename.c (mode_change_ok): Change to use new
5154 CANNOT_CHANGE_MODE_CLASS infrastructure.
5155
5156 * regclass.c (cannot_change_mode_set_regs): New.
5157 Declare subregs_of_mode.
5158 (regclass): Use subregs_of_mode.
5159 Remove references to reg_changes_mode.
5160 (init_reg_sets_1): Remove class_can_change_mode and
5161 reg_changes_mode code.
5162 (invalid_mode_change_p): New.
5163 (dump_regclass): Use invalid_mode_change_p instead of
5164 class_can_change_mode.
5165 (regclass): Same.
5166 (record_operand_costs): Do not set reg_changes_mode.
5167
5168 * local-alloc.c (struct qty): Remove changes_mode field.
5169 (alloc_qty): Remove changes_mode initialization.
5170 (update_qty_class): Remove set of changes_mode.
5171 (find_free_reg): Use subregs_of_mode.
5172
5173 * global.c (find_reg): Use subregs_of_mode info.
5174
5175 * rtl.h (cannot_change_mode_set_regs): New prototype.
5176 (invalid_mode_change_p): Same.
5177 (REG_CANNOT_CHANGE_MODE_P): New macro.
5178
5179 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
5180 REG_CHANGES_MODE.
5181 (life_analysis): Clear subregs_of_mode.
5182
5183 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5184 Remove use of CLASS_CANNOT_CHANGE_MODE.
5185 (simplify_set): Same.
5186 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
5187 REG_CHANGES_MODE.
5188
5189 * regs.h: Add extern for subregs_of_mode;
5190 Include hard-reg-set and basic-block.
5191 (REG_CHANGES_MODE): Delete.
5192
5193 2002-11-03 Roger Sayle <roger@eyesopen.com>
5194
5195 * real.c (real_sqrt): New function to calculate square roots.
5196 * real.h (real_sqrt): Add function prototype.
5197 * builtins.c (fold_builtin): Fold sqrt of constant argument.
5198 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5199 of constant argument.
5200
5201 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
5202
5203 * jump.c (never_reached_warning): Don't set contains_insn until the
5204 first line note is seen.
5205
5206 2002-11-03 David Edelsohn <edelsohn@gnu.org>
5207
5208 * config/rs6000/rs6000.md (movti_string): Use string instructions.
5209
5210 2002-11-03 Roger Sayle <roger@eyesopen.com>
5211
5212 PR c/7128
5213 * c-typeck.c (c_expand_asm_operands): Defend against
5214 error_mark_nodes in the output argument to avoid ICE.
5215
5216 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5217
5218 PR middle-end/8408
5219 * genrecog.c (preds): Handle ADDRESSOF.
5220 (validate_pattern): Mark it as an lvalue.
5221
5222 2002-11-02 David Edelsohn <edelsohn@gnu.org>
5223
5224 * config/rs6000/rs6000.c (rs6000_override_options): Use string
5225 instructions when optimizing for size.
5226
5227 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
5228
5229 * config/h8300/h8300.h: Fix comment typos.
5230 * config/h8300/h8300.md: Likewise.
5231 * config/h8300/lib1funcs.asm: Likewise.
5232
5233 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5234
5235 Revert this change:
5236
5237 *doc/install.texi (Installing GCC: Configuration): Clarify
5238 the only supported ways to configure gcc.
5239
5240 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
5241
5242 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5243 instead of 'O' for the constraint for the second operand.
5244
5245 2002-11-01 Mark Mitchell <mark@codesourcery.com>
5246
5247 PR c++/8391
5248 * toplev.c (rest_of_compilation): Do not refuse to output code for
5249 an inline function in a local class.
5250
5251 2002-11-01 David O'Brien <obrien@FreeBSD.org>
5252
5253 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5254 (TRANSFER_FROM_TRAMPOLINE): Reformat.
5255 Add comment.
5256
5257 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
5258
5259 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5260
5261 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
5262
5263 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5264
5265 2002-11-01 Steve Ellcey <sje@cup.hp.com>
5266
5267 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5268 (MASK_INLINE_DIV_THR): Remove.
5269 (TARGET_INLINE_DIV_LAT): Remove.
5270 (TARGET_INLINE_DIV_THR): Remove.
5271 (TARGET_INLINE_DIV): Remove.
5272 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5273 (MASK_INLINE_FLOAT_DIV_THR): New macro.
5274 (MASK_INLINE_INT_DIV_LAT): New macro.
5275 (MASK_INLINE_INT_DIV_THR): New macro.
5276 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5277 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5278 (TARGET_INLINE_INT_DIV_LAT): New macro.
5279 (TARGET_INLINE_INT_DIV_THR): New macro.
5280 (TARGET_INLINE_FLOAT_DIV): New macro.
5281 (TARGET_INLINE_INT_DIV): New macro.
5282 * config/ia64/ia64.md (divsi3): Change to use new macros.
5283 (modsi3): Ditto.
5284 (udivsi3): Ditto.
5285 (umodsi3): Ditto.
5286 (divsi3_internal): Ditto.
5287 (divdi3): Ditto.
5288 (moddi3): Ditto.
5289 (udivdi3): Ditto.
5290 (umoddi3): Ditto.
5291 (divdi3_internal_lat): Ditto.
5292 (divdi3_internal_thr): Ditto.
5293 (divsf3): Ditto.
5294 (divsf3_internal_lat): Ditto.
5295 (divsf3_internal_thr): Ditto.
5296 (divdf3): Ditto.
5297 (divdf3_internal_lat): Ditto.
5298 (divdf3_internal_thr): Ditto.
5299 (divtf3): Ditto.
5300 (divtf3_internal_lat): Ditto.
5301 (divtf3_internal_thr): Ditto.
5302 * config/ia64/ia64.c (ia64_override_options): Change
5303 to check new macros for conflicts in settings.
5304 * doc/invoke.texi (-minline-divide-min-latency): Remove.
5305 (-minline-divide-max-throughput): Remove.
5306 (-minline-float-divide-min-latency): New.
5307 (-minline-float-divide-max-throughput): New.
5308 (-minline-int-divide-min-latency): New.
5309 (-minline-int-divide-max-throughput): New.
5310
5311 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
5312
5313 PR target/7856
5314 * arm.c (use_return_insn): Don't use a return insn if there are
5315 saved integer regs, but LR is not one of them.
5316
5317 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
5318
5319 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
5320 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5321
5322 Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
5323
5324 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
5325 (movps, movpd splitters): Use canonical form.
5326 (movv2di): Fix merge problem.
5327
5328 Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
5329
5330 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5331
5332 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
5333
5334 PR optimization/6162
5335 * doc/md.texi: Document restriction on commutative operand
5336 specification.
5337
5338 2002-10-31 Eric Christopher <echristo@redhat.com>
5339
5340 * explow.c (convert_memory_address): Use shallow_copy_rtx.
5341
5342 2002-10-31 Steve Ellcey <sje@cup.hp.com>
5343
5344 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5345
5346 2002-10-31 Steve Ellcey <sje@cup.hp.com>
5347
5348 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5349
5350 Thu Oct 31 Dale Johannesen <dalej@apple.com>
5351
5352 * config/rs6000/darwin.h: Correct formatting in previous.
5353
5354 Thu Oct 31 Dale Johannesen <dalej@apple.com>
5355
5356 * config/rs6000/darwin.h: Enable -falign-xxx options.
5357
5358 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
5359
5360 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5361 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5362 * i386.c (optimization_options): Set flag_omit_frame_pointer,
5363 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5364 Do not clear -momit-leaf-frame-pointer when profiling.
5365 (ix86_frame_pointer_required): Frame pointer is always required when
5366 profiling.
5367
5368 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
5369
5370 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5371
5372 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
5373
5374 * sh.h (binary_logical_operator): Declare.
5375 * sh.c (binary_logical_operator): New function.
5376 * sh.md (xordi3+1): New combiner splitter pattern.
5377
5378 2002-10-31 David O'Brien <obrien@FreeBSD.org>
5379
5380 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5381 __enable_execute_stack function.
5382
5383 2002-10-30 Zack Weinberg <zack@codesourcery.com>
5384
5385 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5386 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5387 * unwind-sjlj.c (fc_key_dtor): Delete.
5388 (fc_key_init): Adjust __gthread_key_create call to match.
5389
5390 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
5391
5392 * c-common.c: Add GTY to vector_type_node_list.
5393
5394 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
5395
5396 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5397 * pa-protos.h (attr_length_millicode_call, attr_length_call,
5398 pa_init_machine_status): Declare new global functions.
5399 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5400 implement new functions.
5401 (attr_length_millicode_call, attr_length_call): Implement.
5402 (total_code_bytes): Change type to long.
5403 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5404 Reset counter if flag_function_sections.
5405 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5406 (output_cbranch): Move call to gen_label_rtx.
5407 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5408 delay slot in all variants, shorten pc-relative calls.
5409 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5410 slot usage and exposure, various new call variants, and shortened
5411 sequences for some variants on TARGET_PA_20.
5412 Miscellaneous format changes.
5413 * pa.h (total_code_bytes): Change type to long.
5414 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5415 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5416 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5417 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5418 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5419 stores on TARGET_ELF32.
5420 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5421 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5422 canonicalize_funcptr_for_compare expanders): Calculate attribute length
5423 attr_length_millicode_call().
5424 (call_internal_symref, call_value_internal_symref): Clobber register 1.
5425 Calculate attribute length using attr_length_call().
5426 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5427 to delay slot.
5428 (sibcall, sibcall_value): Rewrite.
5429 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5430 register 1. Use attr_length_call().
5431 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5432 New patterns.
5433 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5434 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5435 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5436 * doc/invoke.texi (mlong-calls): Document.
5437
5438 2002-10-30 Roger Sayle <roger@eyesopen.com>
5439
5440 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
5441 handling of cases where one or both branches of the conditional
5442 have void type, i.e. throw an exception or don't return.
5443 (fold): Only apply (and undo) type conversion to the non-void
5444 branches of a COND_EXPR.
5445
5446 2002-10-30 Mark Mitchell <mark@codesourcery.com>
5447
5448 PR c++/8333
5449 * varasm.c (asm_output_aligned_bss): Do not call
5450 ASM_GLOBALIZE_LABEL.
5451
5452 2002-10-30 David Edelsohn <edelsohn@gnu.org>
5453 Torbjorn Granlund <tege@swox.com>
5454
5455 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5456 for addressibility.
5457 (load_toc_v4_PIC_1b): Same.
5458
5459 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
5460
5461 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5462 Truncate the addresses for H8/300 using HImode.
5463
5464 Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
5465
5466 * i386.md (negdf splitter): Fix construction of the constant.
5467
5468 Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
5469
5470 * i386.md (negsf, negdf): Reorganize to use vector modes
5471 for SSE variants.
5472 (abssf, absdf): Use force_reg.
5473 (movv4sf, movv2df): New splitters.
5474 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5475 * i386.c (zero_extended_scalar_load_operand
5476
5477 * i386-protos.h (ix86_expand_call): Update prototype.
5478 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5479 (ix86_expand_call): Use r11 for indirect sibcalls.
5480 * i386.md (call, call_value, untyped_call, call_value_pop):
5481 update x86_expand_call call.
5482 (sibcall, sibcall_value): new patterns
5483 (call_rex64, call_value_rex64): Do not accept sibcalls.
5484 (sibcall_rex64, sibcall_value_rex64,
5485 sibcall_rex64_v, sibcall_value_rex64_v): New.
5486
5487 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
5488
5489 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5490 before final pass.
5491
5492 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
5493
5494 * toplev.c (rest_of_type_compilation): Return early in case of
5495 errors.
5496 (check_global_declarations): Don't call debug_hooks->global_decl
5497 in case of errors.
5498
5499 2002-10-28 Andreas Bauer <baueran@in.tum.de>
5500
5501 * doc/c-tree.texi (Tree overview): Fix typos.
5502
5503 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
5504
5505 * Makefile.in (gnucompare*): Only record bad comparisons
5506 if there really was a bad comparison.
5507
5508 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
5509
5510 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5511 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5512 * md.texi (machine dependent constraints): Document 'C'
5513
5514 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5515
5516 * i386.c (ix86_expand_vector_move): Fix.
5517
5518 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5519 * i386.md (sse2_maskmovdqu_rex64): New pattern
5520
5521 PR target/8322
5522 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5523 (ix86_init_mmx_sse_builtins): Fix type.
5524
5525 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
5526
5527 * gthr-posix.h: Include <unistd.h> for feature tests.
5528 (sched_get_priority_max, sched_get_priority_min)
5529 (pthread_getschedparam, pthread_setschedparam): Only use
5530 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5531 (__gthread_objc_thread_set_priority): Don't treat all nonzero
5532 returns from sched_get_priority_max and sched_get_priority_min
5533 as an error.
5534
5535 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
5536
5537 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5538 MASK_QUICKCALL.
5539
5540 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
5541
5542 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5543 (h8300_tiny_constant_address_p): Likewise.
5544 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5545 h8300_eightbit_constant_address_p.
5546 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5547 * config/h8300/h8300-protos.h: Add the prototypes for the two
5548 new functions.
5549
5550 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
5551
5552 * reload1.c (update_eliminables): Unconditionally check if
5553 frame_pointer_needed has changed.
5554
5555 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
5556
5557 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5558 before final pass.
5559
5560 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
5561
5562 PR optimization/8334
5563 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5564 check for zero operands explicitly.
5565
5566 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
5567
5568 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5569 memory after adjusting to BLKmode.
5570
5571 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
5572
5573 * config/h8300/h8300.h (MASK_*): New.
5574 (TARGET_*): Use MASK_*.
5575
5576 2002-10-28 Zack Weinberg <zack@codesourcery.com>
5577
5578 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5579 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5580 config/rs6000/vxworks.h: New files.
5581 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5582
5583 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5584 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5585 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5586 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5587 sparc-*-vxsim*): Delete stanzas.
5588 * gthr-vxworks.h: Rip out all substantive code and just
5589 include gthr-single.h.
5590
5591 * config/alpha/vxworks.h, config/arm/vxarm.h,
5592 config/i386/vxi386.h, config/i960/t-vxworks960,
5593 config/i960/vx960-coff.h, config/i960/vx960.h,
5594 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
5595 config/mips/vxworks.h, config/rs6000/vxppc.h,
5596 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
5597 config/sparc/vxsim.h, config/sparc/vxsparc.h,
5598 config/sparc/vxsparc64.h: Delete files.
5599
5600 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
5601
5602 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
5603 tm_defines if pthreads are enabled.
5604 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
5605 if NETBSD_ENABLE_PTHREADS is defined.
5606
5607 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
5608
5609 * ChangeLog.1: Fix typos.
5610 * cse.c: Fix a comment typo.
5611 * reload1.c: Likewise.
5612
5613 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
5614
5615 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
5616 * fixinc/tests/base/_G_config.h: New file.
5617
5618 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
5619
5620 * combine.c: Fix comment formatting.
5621 * loop.c: Likewise.
5622 * real.c: Likewise.
5623 * regclass.c: Likewise.
5624 * regmove.c: Likewise.
5625 * regrename.c: Likewise.
5626 * reg-stack.c: Likewise.
5627 * reload1.c: Likewise.
5628 * reload.c: Likewise.
5629 * reload.h: Likewise.
5630 * unroll.c: Likewise.
5631
5632 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
5633
5634 * reload1.c (reload): Fix a comment typo.
5635
5636 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
5637
5638 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
5639
5640 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5641
5642 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
5643 * dwarf2out.c: Include hashtab.h.
5644 (is_main_source): New static variable.
5645 (attr_checksum, die_checksum): Modified to handle die references.
5646 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
5647 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
5648 record_comdat_symbol_number): New static functions.
5649 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
5650 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
5651 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
5652 declarations added.
5653
5654 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
5655
5656 * config/h8300/h8300.c (initial_offset): Change to
5657 h8300_initial_elimination_offset.
5658 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
5659 h8300_initial_elimination_offset.
5660 * config/h8300/h8300-protos.h: Update the prototype.
5661
5662 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
5663
5664 * config/mmix/mmix.h (LIBCALL_VALUE): Use
5665 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
5666 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
5667 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
5668 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
5669 and RTX_CODE.
5670 (mmix_function_value_regno_p): Declare.
5671
5672 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
5673 invalid for floating point mode result, with fix.
5674
5675 Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
5676
5677 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
5678 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
5679 (stage1_build): Likewise.
5680
5681 2002-10-25 Mike Stump <mrs@apple.com>
5682
5683 Fixes gcc.dg/warn-1.c.
5684 * c-typeck.c (warn_for_assignment): Don't print argument number,
5685 if zero.
5686
5687 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
5688
5689 * toplev.c (dump_file_index): Add DFI_ce3.
5690 (dump_file_info): Likewise.
5691 (rest_of_compilation): Run first ifcvt pass before tracer.
5692
5693 2002-10-25 Steve Ellcey <sje@cup.hp.com>
5694
5695 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
5696
5697 2002-10-25 Richard Henderson <rth@redhat.com>
5698
5699 * real.c (real_to_decimal): If the >1 tens reduction loop results
5700 in a negative exponent, fall into the <1 pten computation.
5701
5702 2002-10-25 Zack Weinberg <zack@codesourcery.com>
5703
5704 PR middle-end/6994
5705 * c-objc-common.c (inline_forbidden_p): Can not inline
5706 functions containing structures or unions containing VLAs.
5707 * tree-inline.c (walk_tree): For all class 't' nodes, walk
5708 TYPE_SIZE and TYPE_SIZE_UNIT.
5709 (copy_tree_r): Copy types if they are variably modified.
5710
5711 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
5712
5713 * config/s390/s390.md: Remove old-style peepholes.
5714
5715 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
5716
5717 * config/s390/s390.c (s390_decompose_address): Do not range check the
5718 displacement if base or index is the argument pointer register.
5719
5720 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
5721
5722 PR other/3337
5723 PR bootstrap/6763
5724 PR bootstrap/8122
5725 * fixinc/inclhack.def (libc1_G_va_list): New fix.
5726 * fixinc/fixincl.x: Regenerate.
5727 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
5728 ifndef IN_LIBGCC2. Wrap it together with signal.h and
5729 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
5730 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
5731 * config.in, configure: Regenerate.
5732
5733 2002-10-24 Igor Shevlyakov <igor@microunity.com>
5734
5735 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
5736
5737 2002-10-24 Richard Henderson <rth@redhat.com>
5738
5739 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
5740
5741 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
5742
5743 * config/h8300/h8300.c (initial_offset): Simplify by using
5744 round_frame_size.
5745
5746 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
5747
5748 * doc/install.texi (avr): Update required binutils version.
5749
5750 2002-10-24 Theodore A. Roth <troth@openavr.org>
5751
5752 * doc/install.texi: Point avr users at more up-to-date information.
5753
5754 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
5755
5756 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
5757 to pull operands out of the literal pool where possible.
5758
5759 2002-10-24 Denis Chertykov <denisc@overta.ru>
5760
5761 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
5762
5763 2002-10-24 Steve Ellcey <sje@cup.hp.com>
5764
5765 * expr.c (convert_move): If unsignedp is less then zero there
5766 is no equivalent code.
5767
5768 2002-10-24 Zack Weinberg <zack@codesourcery.com>
5769
5770 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
5771
5772 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
5773
5774 * config/s390/s390.h: Rework comments; re-sort target macro definitions
5775 according to the sequence they are defined in the manual.
5776 (POINTER_BOUNDARY): Remove.
5777
5778 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
5779
5780 * config/h8300/h8300.c (round_frame_size): Replace 8 with
5781 BITS_PER_UNIT.
5782
5783 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
5784
5785 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
5786 64-bit safe.
5787 (TINY_CONSTANT_ADDRESS_P): Likewise.
5788
5789 2002-10-24 Richard Henderson <rth@redhat.com>
5790
5791 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
5792 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
5793 vcall offset.
5794
5795 2002-10-24 Richard Henderson <rth@redhat.com>
5796
5797 PR opt/7944
5798 * reload.c (find_reloads_toplev): Mode of X is not important
5799 when simplifying subregs of constants.
5800
5801 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
5802
5803 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
5804 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
5805 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
5806 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
5807 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
5808
5809 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
5810
5811 * optabs.c (expand_binop): Don't reuse the shift target in the
5812 middle of shift sequences.
5813
5814 Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
5815
5816 * i386.md (abs splitters): Do not produce nested subregs.
5817
5818 Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
5819
5820 * i386.md (movti_rex64): Fix constraints.
5821
5822 Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
5823
5824 * i386.md (abssf,absdf): Use vector operands for SSE
5825 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
5826 vector operand.
5827
5828 2002-10-23 Ziemowit Laski <zlaski@apple.com>
5829
5830 * objc/objc-act.c (get_static_reference): Remove unneeded
5831 TYPE_BINFO initialization.
5832 (get_object-reference): Likewise.
5833 (build_constructor): Tighten precondition check.
5834 (finish_message_expr): Likewise.
5835
5836 2002-10-23 Jakub Jelinek <jakub@redhat.com>
5837
5838 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
5839 after CONST test.
5840
5841 2002-10-23 Steve Ellcey <sje@cup.hp.com>
5842
5843 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
5844 in HFAs.
5845
5846 2002-10-23 Richard Henderson <rth@redhat.com>
5847
5848 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
5849 (alpha_output_mi_thunk_osf): Handle vcall_offset.
5850
5851 2002-10-23 Zack Weinberg <zack@codesourcery.com>
5852
5853 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
5854 var_mod_type_p.
5855 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
5856 hook_tree_bool_false.
5857
5858 * tree.c (variably_modified_type_p): Moved here from
5859 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
5860 language-specific cases. Due to this, must weaken some 'if
5861 and only if' checks to merely 'if'.
5862 * tree.h: Prototype variably_modified_type_p.
5863
5864 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
5865
5866 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
5867
5868 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
5869 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
5870
5871 * config/s390/s390-protos.h (fp_operand): Remove.
5872 * config/s390/s390.c (fp_operand): Remove.
5873 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
5874 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
5875 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
5876 (movdi_31, movdf_31 splitters): Likewise.
5877
5878 * config/s390/s390.h (IEEE_FLOAT): Remove.
5879 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
5880 (INT_REGNO_P): Rename to ...
5881 (GENERAL_REGNO_P): ... this.
5882 (FLOAT_REGNO_P): Rename to ...
5883 (FP_REGNO_P): ... this.
5884 (ADDR_REGNO_P): New macro.
5885 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
5886 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
5887 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
5888 (HARD_REGNO_NREGS): Adapt to macro renaming.
5889 (HARD_REGNO_MODE_OK): Likewise.
5890
5891 2002-10-23 David Edelsohn <edelsohn@gnu.org>
5892 Geoff Keating <geoffk@apple.com>
5893
5894 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
5895 (rs6000_memory_move_cost): New function.
5896 * config/rs6000/rs6000-protos.h: Declare them.
5897 * config/rs6000/rs6000.h: Use them.
5898
5899 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
5900
5901 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
5902 inlining it into other libgcc2 routines.
5903 (__udivmoddi4): Likewise.
5904
5905 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
5906
5907 * doc/sourcebuild.texi (Test Suites): Improve.
5908
5909 2002-10-22 Stan Shebs <shebs@apple.com>
5910
5911 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
5912 case for Darwin.
5913
5914 2002-10-22 Jim Wilson <wilson@redhat.com>
5915
5916 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
5917
5918 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
5919
5920 PR other/8289
5921 * xmmintrin.h: Add const to the argument of loads.
5922
5923 * i386.md (pushv2di): New pattern.
5924 PR target/6890
5925 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
5926
5927 2002-10-22 Richard Henderson <rth@redhat.com>
5928
5929 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
5930 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
5931 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
5932 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
5933 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5934 (TARGET_ASM_OUT): Update.
5935 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
5936 (hook_bool_tree_hwi_hwi_tree_true): New.
5937 (default_can_output_mi_thunk_no_vcall): New.
5938 * hooks.h: Declare them.
5939 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
5940
5941 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5942 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
5943 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
5944 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
5945 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
5946 config/stormy16/stormy16.c: Similarly.
5947
5948 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
5949 Handle 64-bit properly. Streamline.
5950 (x86_output_mi_vcall_thunk): Remove.
5951 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
5952 (x86_can_output_mi_thunk): New.
5953 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
5954 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5955 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
5956
5957 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
5958 output_mi_thunk; make static; always use function_section.
5959 (TARGET_ASM_OUTPUT_MI_THUNK): New.
5960 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5961 (rs6000_ra_ever_killed): Test no_new_pseudos not
5962 targetm.asm_out.output_mi_thunk in conjunction with thunks.
5963 * config/rs6000/rs6000-protos.h: Update.
5964 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
5965 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
5966 xcoffout_declare_function when using rs6000_output_mi_thunk.
5967
5968 * config/s390/s390.c (s390_output_mi_thunk): Rename from
5969 s390_output_mi_vcall_thunk.
5970 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
5971 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5972
5973 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
5974 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
5975 * config/vax/vax-protos.h: Update.
5976 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
5977
5978 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
5979
5980 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
5981 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
5982 * i386.md (movti_internal): Use 'C'
5983
5984 * xmmintrin.h (_mm_cmplt_epi*): New.
5985
5986 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
5987
5988 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
5989 ("*movdf_64"): Likewise.
5990 ("*lshrdi3_64"): Likewise.
5991 ("blockage"): Add length attribute.
5992 ("lit"): Likewise.
5993
5994 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
5995
5996 * i386.md: FIx typo.
5997 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
5998 (sse2_umulv2siv2di3): Fix predicate.
5999 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6000 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6001 * xmmintrin.h (_mm_mul_epu16): Rename to...
6002 (_mm_mul_epu32): This one.
6003 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6004
6005 (contains_128bit_aligned_vector_p): Undo accidental checkin.
6006
6007 2002-10-22 Eric Christopher <echristo@redhat.com>
6008
6009 * config/sparc/sparc.h: Add #error.
6010
6011 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
6012
6013 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6014 [s390x-*-linux*]: Likewise.
6015 * config/s390/t-linux: Remove.
6016 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6017
6018 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
6019
6020 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6021 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6022 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6023 * i386.md (mmx_punpck?dq): Simplify.
6024 (sse2_pubpcklqdq): Fix.
6025 (sse2_pubpckhqdq): New.
6026 * xmmintrin.h (_mm_unpackhi_epi32): New.
6027
6028 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6029 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6030
6031 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
6032
6033 PR c++/7209
6034 * fold_const.c (fold_binary_op_with_conditional_arg): Always
6035 build compound_expr if we used save_expr.
6036
6037 2002-10-22 Alan Modra <amodra@bigpond.net.au>
6038
6039 * output.h (SECTION_NOTYPE): Define.
6040 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6041 init array sections.
6042 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6043 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
6044 merge TLS support.
6045
6046 2002-10-21 Richard Henderson <rth@redhat.com>
6047
6048 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6049 the function type, not the return type.
6050
6051 2002-10-21 Richard Henderson <rth@redhat.com>
6052
6053 * real.c (sticky_rshift_significand): Return inexact, don't
6054 or it in immediately.
6055 (sub_significands): Accept incomming carry.
6056 (div_significands, rtd_divmod): Update for sub_significands change.
6057 (round_for_format): Update for sticky_rshift_significand change.
6058 (do_add): Don't involve the inexact bit in addition, do give the
6059 inexact bit as the subtraction carry-in.
6060 (encode_internal, decode_internal, real_internal_format): New.
6061 * real.h (real_internal_format): Declare.
6062
6063 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
6064
6065 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6066 don't define sdiv_qrnnd.
6067
6068 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
6069
6070 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6071 using IN_RANGE.
6072 (TINY_CONSTANT_ADDRESS_P): Likewise.
6073
6074 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
6075
6076 * i386.c (builtin_description): Add punpcklqdq and movdq2q
6077 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6078 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6079 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6080 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6081 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6082 __builtin_ia32_setzero128.
6083 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6084 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6085 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6086 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6087 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6088 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6089 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6090 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6091 sse2_movq): New patterns.
6092 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6093 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6094 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6095 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6096 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6097 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6098 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6099 (_mm_insert_epi16): Fix.
6100
6101 2002-10-21 Dale Johannesen <dalej@apple.com>
6102
6103 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6104 unsafe math reversals correctly for RTL generation.
6105 (output_cbranch): Replace rs6000_reverse_condition call
6106 by its former definition.
6107
6108 2002-10-21 Jakub Jelinek <jakub@redhat.com>
6109
6110 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6111 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6112 from constant pool or LABEL_REFs as sign extended if allow_rip.
6113 Change all +-1GB limits to +-16MB.
6114 (x86_64_general_operand, x86_64_szext_general_operand,
6115 x86_64_nonmemory_operand, x86_64_movabs_operand,
6116 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6117 legitimate_address_p, ix86_expand_int_movcc): Update callers.
6118 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6119 in CM_SMALL_PIC model.
6120 (legitimate_pic_address_disp_p): Don't check offsets before
6121 calling local_symbolic_operand.
6122 (legitimize_pic_address): Force offsets bigger than +-16MB into
6123 register.
6124 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6125 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6126 prototype.
6127
6128 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6129 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
6130 * configure: Rebuilt.
6131 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6132 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
6133 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6134 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6135 -fpic.
6136 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6137 non-pic code if TARGET_64BIT.
6138 (legitimize_address): Generate 64-bit TLS sequences.
6139 (output_pic_addr_const): Support x86-64 TLS operators.
6140 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6141 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6142 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6143 (output_addr_const_extra): Support x86-64 TLS operators.
6144 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6145 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6146 unconditionally.
6147 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6148 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6149 (*tls_global_dynamic_sun): Renamed to...
6150 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6151 (tls_global_dynamic): Renamed to...
6152 (tls_global_dynamic_32): ... this.
6153 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6154 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6155 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6156 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6157 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6158 (tls_local_dynamic_base_dynamic): Renamed to...
6159 (tls_local_dynamic_base_dynamic_32): ... this.
6160 (tls_local_dynamic_base_dynamic_64,
6161 *tls_local_dynamic_base_dynamic_64): New.
6162 (*tls_local_dynamic_once): Renamed to...
6163 (*tls_local_dynamic_32_once): ... this.
6164
6165 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
6166
6167 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6168 __divdi3, __umoddi3, or __moddi3.
6169
6170 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
6171
6172 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6173 instead of just opt_index as switch expression.
6174
6175 * calls.c (store_one_arg): Change type of 'excess_align'
6176 to unsigned int.
6177
6178 * profile.c (output_gcov_string): Change type of 'temp'
6179 to size_t.
6180
6181 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
6182
6183 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6184 (__fixunssfdi, __fixsfdi): Likewise.
6185 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6186 (s390_single_qi): Likewise.
6187 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
6188 unsigned comparison warning.
6189 (s390_return_addr_rtx): New function.
6190 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6191 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6192 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6193
6194 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
6195
6196 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6197 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6198 (s390_output_mi_thunk): Remove.
6199 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6200
6201 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
6202
6203 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6204
6205 2002-10-20 Zack Weinberg <zack@codesourcery.com>
6206
6207 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6208 inverted test in the conditional determining the possibility
6209 of sibcalls in PIC mode.
6210
6211 2002-10-20 Richard Henderson <rth@redhat.com>
6212
6213 * target.h (struct gcc_target): Line wrap.
6214
6215 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6216 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6217 * config/alpha/alpha.h: ... not here.
6218 * config/alpha/alpha-protos.h: Update.
6219
6220 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6221 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6222 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6223 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6224 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6225 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6226 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6227 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6228 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6229 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6230 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6231 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6232 config/sparc/sparc.c, config/sparc/sparc.h,
6233 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6234 config/stormy16/stormy16.h: Similarly.
6235
6236 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6237 selection logic from call patterns.
6238
6239 2002-10-20 Mark Mitchell <mark@codesourcery.com>
6240
6241 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6242
6243 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6244
6245 PR other/8202
6246 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6247 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6248 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6249 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6250
6251 2002-10-20 Roger Sayle <roger@eyesopen.com>
6252
6253 PR c/761
6254 * toplev.c (flag_unsafe_profile_arcs): Remove.
6255 (flag_bounded_pointers): Remove.
6256 (flag_bounds_check): Correct comments.
6257 (lang_independent_options): Remove -funsafe-profile-arcs and
6258 -fbounded-pointers. Correct -fbounds-check comments.
6259
6260 * flags.h: Correct flag_schedule_interblock comments.
6261 (flag_bounded_pointers): Remove prototype.
6262 (flag_bounds_check): Correct comments.
6263
6264 * c-opts.c (c_common_init_options): No need to mark
6265 flag_bounds_check as unspecified.
6266 (c_common_post_options): And no need to set it from
6267 flag_bounded_pointers if its still unspecified.
6268
6269 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6270 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6271 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6272 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6273
6274 Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
6275 Angela Marie Thomas <angela@releasedominatrix.com>
6276 Brendan Kehoe <brendan@zen.org>
6277 Nick Clifton <nickc@redhat.com>
6278 Andrew Haley <aph@redhat.com>
6279
6280 * configure.in (--with-sysroot): New. Don't inhibit libc if
6281 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6282 and CROSS_SYSTEM_HEADER_DIR.
6283 * configure: Rebuilt.
6284 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6285 (TARGET_SYSTEM_ROOT): New.
6286 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6287 CROSS_SYSTEM_HEADER_DIR.
6288 (install-gcc-tooldir): New target.
6289 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6290 if SYSTEM_HEADER_DIR does not exist and it's not the default
6291 sys-include directory.
6292 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6293 (install-mkheaders): Likewise.
6294 * gcc.c (target_system_root): New variable.
6295 (add_sysrooted_prefix): New function.
6296 (process_command): Recompute run-time target_system_root from
6297 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6298 does not exist.
6299 (do_spec_1): Process 'R' spec.
6300 (main): Add md_exec_prefix to exec_prefixes regardless of
6301 startfile_prefix_spec. Use add_sysrooted_prefix for
6302 startfile_prefixes, and don't skip the default ones when cross
6303 compiling with sysroot enabled. Removed unused case of
6304 non-absolute standard_startfile_prefix.
6305 * config/interix.h: Remove the only potential, yet disabled,
6306 occurrence of non-absolute (empty) standard_startfile_prefix.
6307 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6308 linking.
6309 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6310 * doc/install.texi (--with-sysroot): Document.
6311 (--with-headers, --with-libs): Deprecate.
6312
6313 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6314 Mark Mitchell <mark@codesourcery.com>
6315
6316 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6317 match target.h.
6318 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6319 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6320 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6321 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6322 x86_output_mi_thunk): Likewise.
6323 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6324 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6325 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6326 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6327 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6328 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6329 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6330 Likewise.
6331 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6332
6333 * target.h (gcc_target): Update output_mi_thunk and
6334 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6335 vcall_index.
6336
6337 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6338 TARGET_ASM_OUTPUT_MI_THUNK in comments.
6339 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6340 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6341 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6342 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6343 signature.
6344 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6345 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6346 TARGET_ASM_OUTPUT_MI_THUNK in comments.
6347 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6348 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6349 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6350 TARGET_ASM_OUTPUT_MI_THUNK in comments.
6351 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6352 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6353
6354 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6355 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6356
6357 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
6358
6359 * real.c (do_add): Fix 0+0 sign corner case.
6360 (do_divide): Fix Inf/0 corner case.
6361
6362 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
6363
6364 * i386.c (classify_argument): Pass MMX arguments in memory
6365 (ix86_expand_builtin): Expand proper address mode for cflush.
6366 * i386.md (movdqa): Fix typo.
6367 (sse2_cflush): Accept DImode addresses.
6368
6369 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6370 (_mm_max_sd): Fix pasto.
6371 (_mm_storeh_pd, _mm_storel_pd): Fix.
6372
6373 * i386.c (bdesc_comi): Fix to match specification.
6374 (ix86_expand_sse_comi): Emit the comparison properly.
6375 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6376 Do not use comparison operator.
6377 (vnmaskcmp): Fix template.
6378
6379 * xmmintrin.h (_mm_cvtps_pi16): Fix.
6380
6381 2002-10-19 Sebastian Pop <s.pop@laposte.net>
6382
6383 * dependence.c : Removed.
6384 * Makefile.in : Remove dependence.o.
6385
6386 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
6387
6388 * mmintrin.h (__m64): typedef it to v2si.
6389 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6390 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6391 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6392 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6393 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6394 * xmmintrin.h (_mm_setzero_si64): Likewise.
6395
6396 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6397 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6398
6399 PR target/7693
6400 Patch by Shawn Wagner
6401 * mmintrin.h: Replace pi64 by si64.
6402
6403 2002-10-18 David Edelsohn <edelsohn@gnu.org>
6404
6405 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6406 Use length of 4 not *.
6407 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
6408 (movdf_softfloat64): Likewise.
6409 (movdi_internal32): Use length of 4 not *.
6410 (movti_power): Same.
6411 (ctrsi, ctrdi): Same.
6412
6413 2002-10-18 Zack Weinberg <zack@codesourcery.com>
6414
6415 * c-decl.c (start_decl): Point users of the old initialized-
6416 typedef extension at __typeof__.
6417
6418 2002-10-18 Richard Henderson <rth@redhat.com>
6419
6420 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6421 (real_to_decimal): Re-implement using the logic from the
6422 gcc 3.2 etoasc. Comment heavily.
6423 (div_significands): Simplify loop startup and comparison logic.
6424
6425 2002-10-18 Mark Mitchell <mark@codesourcery.com>
6426
6427 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6428 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6429 (TARGET_ASM_OUT): Add them.
6430 * target.h (asm_out): Add output_mi_thunk and
6431 output_mi_vcall_thunk.
6432 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6433 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6434 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6435 * config/arm/arm.c (arm_output_mi_thunk): Define.
6436 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6437 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6438 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6439 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6440 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6441 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6442 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6443 prototype.
6444 (x86_output_mi_vcall_thunk): Declare.
6445 * config/i386/i386.c (override_options): Clear
6446 output_mi_vcall_thunk in 64-bit mode.
6447 (ix86_fntype_regparm): New function.
6448 (ix86_return_pops_args): Use it.
6449 (ia32_this_parameter): New function.
6450 (x86_output_mi_vcall_thunk): New function.
6451 (x86_output_mi_thunk): Use it
6452 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6453 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6454 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6455 * config/i960/i960.c (i960_output_mi_thunk): New function.
6456 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6457 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6458 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6459 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6460 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6461 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6462 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6463 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6464 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6465 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6466 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6467 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6468 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6469 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6470 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6471 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6472 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6473 * config/s390/s390.c (s390_output_mi_thunk): Define.
6474 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6475 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6476 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6477 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6478 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6479 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6480 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6481 * config/vax/vax.c (vax_output_mi_thunk): Define.
6482 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6483 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6484 * doc/tm.texi: Adjust documentation.
6485
6486 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
6487
6488 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6489 __enable_execute_stack function.
6490 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6491 as NETBSD_ENABLE_EXECUTE_STACK.
6492 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6493 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6494 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6495 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6496 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6497
6498 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
6499
6500 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6501 to __enable_execute_stack with the address of the trampoline
6502 if TRANSFER_FROM_TRAMPOLINE is defined.
6503 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6504 constant if building libgcc2.
6505
6506 Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
6507
6508 * i386.c (pentium4_cost): Fix according to Intel recommendations.
6509 (ix86_memory_move_cost): Fix for 64bit compilation.
6510
6511 2002-10-17 Roger Sayle <roger@eyesopen.com>
6512
6513 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6514
6515 2002-10-17 Geoffrey Keating <geoffk@apple.com>
6516
6517 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6518 in CTR/LR/MQ.
6519 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6520 to/from CTR/LR/MQ.
6521 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6522 (movsf_softfloat): Likewise.
6523
6524 2002-10-17 Janis Johnson <janis187@us.ibm.com>
6525
6526 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6527
6528 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
6529
6530 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6531 tramp, not addr, to pass the trampoline address to
6532 __enable_execute_stack.
6533
6534 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
6535
6536 * mmintrin.h: Guard by __MMX__
6537 * xmmintrin.h: Guard by __SSE__
6538
6539 PR other/8062
6540 * xmmintrin.h (_MM_SHUFFLE2): New macro.
6541 (_mm_load*_?d): New functions.
6542 (_mm_set*_?d): New functions.
6543 (_mm_store*_?d): New functions.
6544
6545 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
6546
6547 Really commit patch announced at Oct 14
6548 PR c/7344
6549 * predict.c (can_predict_insn_p): New function.
6550 (estimate_probability): Avoid unnecesary work.
6551 (process_note_prediction): Likewise.
6552 * toplev.c (rest_of_compilation): Account early branch prediction pass
6553 as TV_BRANCH_PROB.
6554
6555 PR other/8048
6556 Found by Ian Ollmann
6557 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6558 (_mm_load?_pd): Likewise.
6559 (_mm_store?_pd): Likewise.
6560
6561 PR target/7386
6562 * i386.c (builtin_description):Drop cmpg[te]s[sd].
6563 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6564 swapped alternative.
6565
6566 PR opt/7630
6567 * reload1.c (reload_inner_reg_of_subreg): New argument output;
6568 (push_reload): Update call.
6569
6570 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
6571
6572 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6573 if using mips/elf.h or mips/elf64.h.
6574 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6575 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6576
6577 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
6578
6579 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6580 SI.
6581
6582 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
6583
6584 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6585 (LPREFIX): Likewise.
6586 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6587 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
6588 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
6589 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
6590 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
6591
6592 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
6593 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
6594 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6595 BSS_SECTION_ASM_OP): Move from linux.h.
6596 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6597 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6598
6599 * config/s390/s390.c (s390_function_profiler): Use
6600 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
6601
6602 2002-10-15 Eric Christopher <echristo@redhat.com>
6603
6604 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
6605 * java/parse.y (obtain_incomplete_type): Make pointer
6606 ptr_mode.
6607
6608 2002-10-15 Richard Henderson <rth@redhat.com>
6609
6610 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
6611 as arguments. Bound DIGITS by the available buffer size.
6612 (real_to_hexadecimal): Likewise.
6613 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
6614 (REAL_VALUE_TO_DECIMAL): Remove.
6615 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
6616 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
6617 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
6618 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6619 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
6620 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
6621 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
6622 use real_to_decimal directly, and with the proper arguments.
6623 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
6624
6625 2002-10-15 Jim Wilson <wilson@redhat.com>
6626
6627 * reload1.c (merge_assigned_reloads): After converting overlapping
6628 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
6629
6630 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
6631
6632 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
6633
6634 * expr.c (do_tablejump): Fix typo in my previous commit.
6635
6636 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
6637
6638 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
6639
6640 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
6641
6642 * config/s390/s390.c (s390_split_branches): Add return
6643 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
6644
6645 (find_base_register_in_addr): New function.
6646 (find_base_register_ref): New function.
6647 (replace_base_register_ref): New function.
6648
6649 (struct constant_pool): Add members pool_insn, insns, and anchor.
6650 Remove member last_insn.
6651 (s390_start_pool): Initialize them.
6652 (s390_end_pool): Emit pool placeholder insn.
6653 (s390_add_pool_insn): New function.
6654 (s390_find_pool): Use insns bitmap instead of addresses.
6655 (s390_dump_pool): Replace placeholder insn. Emit anchor.
6656 Replace unspec 104 by local-pool-relative references.
6657 (s390_output_constant_pool): Output anchor label if required.
6658 (s390_output_symbolic_const): Handle unspec 104 and 105.
6659 (s390_add_pool): Remove, replace by ...
6660 (s390_add_constant, s390_find_constant): ... these new functions.
6661 (s390_add_anchor): New function.
6662
6663 (s390_chunkify_pool): Delete, replace by ...
6664 (s390_chunkify_start, s390_chunkify_finish,
6665 s390_chunkify_cancel): ... these new functions.
6666 (s390_optimize_prolog): Add parameter TEMP_REGNO.
6667 Recompute register live data for special registers.
6668 (s390_fixup_clobbered_return_reg): New function.
6669 (s390_machine_dependent_reorg): Rewrite to use new
6670 s390_chunkify_... routines.
6671
6672 config/s390/s390.md ("reload_base"): Rename to ...
6673 ("reload_base_31"): ... this.
6674 ("reload_base_64"): New insn.
6675 ("reload_base2"): Remove.
6676 ("reload_anchor"): New insn.
6677 ("pool"): New insn.
6678
6679 s390.c (s390_pool_overflow): Remove.
6680 s390.h (s390_pool_overflow): Likewise.
6681 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
6682
6683 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
6684
6685 * sh.md (movv8qi_i+2): Don't split if source is -1.
6686
6687 2002-10-15 Janis Johnson <janis187@us.ibm.com>
6688
6689 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
6690
6691 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
6692
6693 PR opt/7409
6694 * loop.c (loop_regs_scan): Mark registers used for function
6695 argument passing as MAY_NOT_OPTIMIZE.
6696
6697 Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
6698
6699 * gcov-io.h (gcov_info): Fix type.
6700 * profile.c (create_profiler): Fix type mismatch.
6701
6702 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
6703
6704 * i386.md (movv2di_internal): New pattern.
6705 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
6706 (movv2di): New expander.
6707 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
6708
6709 * i386.c (ix86_expand_timode_binop_builtin): Delete.
6710 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
6711 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
6712 (ix86_expand_builtin): Likewise.
6713 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6714 sse_andti3,
6715 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
6716 sse_andnti3,
6717 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
6718 sse_orti3,
6719 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
6720 sse_xorti3): Kill.
6721 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
6722 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
6723 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
6724 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6725 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
6726 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
6727
6728 * xmmintrin.h (__m128i): Define as __v2di.
6729
6730 PR c++/6419
6731 (expand_expr): Use DECL_RTL_SET_P.
6732
6733 2002-10-14 Roger Sayle <roger@eyesopen.com>
6734
6735 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
6736
6737 2002-10-14 Roger Sayle <roger@eyesopen.com>
6738 Zack Weinberg <zack@codesourcery.com>
6739
6740 * config/i386/i386.c (k6_cost): Correct typo.
6741
6742 2002-10-14 Mark Mitchell <mark@codesourcery.com>
6743
6744 PR optimization/6631
6745 * alias.c (objects_must_conflict_p): Check honor_readonly when
6746 examining TYPE_READONLY.
6747 * function.c (assign_stack_temp_for_type): Likewise.
6748
6749 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6750
6751 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
6752 Swap zero extension arguments.
6753 (umaxhi3): Fix instruction class.
6754 PR target/7211
6755 (prefetch): Fix prefetch instructions.
6756 PR target/7238
6757 (pkwb): Fix output constraint.
6758
6759 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
6760
6761 * config/mips/mips.c (print_operand): Increase buffer size for
6762 real numbers.
6763
6764 2002-10-14 Richard Henderson <rth@redhat.com>
6765
6766 PR opt/8165
6767 * gcse.c (adjust_libcall_notes): Revert last change.
6768 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
6769
6770 2002-10-14 Andrew Haley <aph@redhat.com>
6771
6772 * tree-inline.c (remap_block): All local class initialization
6773 flags go in the outermost scope.
6774 (expand_call_inline): Call java_inlining_map_static_initializers.
6775 (expand_call_inline): Call java_inlining_merge_static_initializers.
6776 * java/lang.c (merge_init_test_initialization): New.
6777 (java_inlining_merge_static_initializers): New.
6778 (inline_init_test_initialization): New.
6779 (java_inlining_map_static_initializers): New.
6780
6781 * tree-inline.c (expand_call_inline): Convert retvar to expected
6782 type.
6783
6784 2002-10-14 Graham Stott <graham.stott@btinternet.com>
6785
6786 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
6787
6788 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
6789
6790 * stmt.c: Fix typo in comment.
6791
6792 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
6793
6794 * c-common.c (c_common_type_for_mode): Add V2HImode case.
6795 * tree.c (build_common_tree_nodes_2): Initialize
6796 unsigned_V2HI_type_node and V2HI_type_node.
6797 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
6798 (unsigned_V2HI_type_node, V2HI_type_node): Define.
6799
6800 2002-10-14 Jakub Jelinek <jakub@redhat.com>
6801
6802 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
6803 Handle TARGET_64BIT.
6804
6805 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
6806
6807 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
6808 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
6809 (MULTILIB_DIRNAMES): Remove long32.
6810 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
6811 (MULTILIB_REDUNDANT_DIRS): Remove.
6812
6813 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
6814
6815 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
6816 * gcc.c (driver_self_specs): New variable.
6817 (do_self_spec): New function.
6818 (main): Use it to process driver_self_specs.
6819
6820 2002-10-13 Richard Henderson <rth@redhat.com>
6821
6822 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
6823 indirect sibcalls when regparm >= 3.
6824
6825 * config/i386/i386.c (sibcall_insn_operand): New.
6826 * config/i386/i386.h (PREDICATE_CODES): Update.
6827 * config/i386/i386-protos.h: Update.
6828 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
6829
6830 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
6831
6832 2002-10-12 Roger Sayle <roger@eyesopen.com>
6833
6834 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
6835 arithmetic right shifts of ~0 during RTL simplifications.
6836
6837 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
6838
6839 PR preprocessor/7862
6840 PR preprocessor/8190
6841 * gcc.c (cpp_unique_options): Don't delete .d files.
6842 Remove stray whitespace.
6843
6844 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
6845
6846 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
6847 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
6848 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
6849 (pdp11_output_function_epilogue, output_ascii): Likewise.
6850 (output_addr_const_pdp11): Likewise.
6851 * pdp11.md (movdi): Use offsetable memory for floating store.
6852 (lshrsi3, negsi2): Delete irrelevant comment.
6853
6854 2002-10-11 Andreas Bauer <baueran@in.tum.de>
6855
6856 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
6857 indirect calls to be sibcall optimized.
6858 * config/i386/i386.md (sibcall_1): New.
6859 (call_1): Add no-sibcalls condition.
6860 (sibcall_value_1): New.
6861 (call_value_1): Add no-sibcalls condition.
6862
6863 2002-10-11 Eric Christopher <echristo@redhat.com>
6864
6865 * output.h (default_valid_pointer_mode): Declare.
6866 * varasm.c (default_valid_pointer_mode): Define.
6867 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
6868 * target.h: Ditto.
6869 * tree.c (build_pointer_type_for_mode): New function.
6870 (build_pointer_type): Use.
6871 (build_reference_type_for_mode): New function.
6872 (build_reference_type): Use.
6873 * tree.h: Declare new functions.
6874 * c-common.c (handle_mode_attribute): Use new functions, check
6875 for type.
6876 * stor-layout.c (layout_type): Depend on machine mode for
6877 REFERENCE_TYPE and POINTER_TYPE.
6878 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
6879 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
6880 and REFERENCE_TYPE.
6881 * config/mips/mips.c (mips_valid_pointer_mode): New function.
6882 (TARGET_VALID_POINTER_MODE): Use and define.
6883 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
6884
6885 2002-10-11 Geoffrey Keating <geoffk@apple.com>
6886
6887 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
6888 not the address of the REG.
6889 (struct cse_reg_info): Make subreg_ticked unsigned.
6890
6891 2002-10-11 Janis Johnson <janis187@us.ibm.com>
6892
6893 * doc/compat.texi: Add info about C++ libraries.
6894
6895 2002-10-11 Richard Henderson <rth@redhat.com>
6896
6897 PR opt/8165
6898 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
6899
6900 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6901
6902 * cfganal.c (dfs_enumerate_from): Use PARAMS.
6903 * genautomata.c (output_insn_code_cases): Likewise.
6904 * real.c (real_format): Likewise.
6905 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
6906 ensure value is promoted before doing subtraction.
6907
6908 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
6909
6910 * calls.c (expand_call): Simplify noreturn call.
6911
6912 PR c/7344
6913 * cfgbuild.c (make_edges): Create edge cache when we do have
6914 large jumptable.
6915 * expr.c (do_tablejump): Note size of maximal jumptable.
6916 * function.c (prepare_function_start): Zero out size.
6917 * function.h (function): Add max_jumptable_ents.
6918
6919 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
6920
6921 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
6922
6923 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
6924 register for mperm_w operation.
6925
6926 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
6927
6928 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
6929 an integer, use simplify_gen_subreg.
6930
6931 2002-10-10 Diego Novillo <dnovillo@redhat.com>
6932
6933 * calls.c (flags_from_decl_or_type): Make extern.
6934 (ECF_*): Move ...
6935 * rtl.h (ECF_*): ... here.
6936 (flags_from_decl_or_type): Declare.
6937
6938 2002-10-10 Roger Sayle <roger@eyesopen.com>
6939 Nathan Sidwell <nathan@codesourcery.com>
6940
6941 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
6942 shifts of the form -1 >> x.
6943
6944 Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
6945
6946 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
6947
6948 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
6949
6950 * extend.texi (Vector Extensions): Remove comment about single
6951 element vectors.
6952
6953 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6954
6955 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
6956 * function.c (insns_for_mem_hash): Likewise.
6957 * varasm.c (STRHASH): Likewise.
6958
6959 2002-10-10 Stuart Hastings <stuart@apple.com>
6960
6961 * cse.c (struct cse_reg_info): Add subreg_ticked.
6962 (SUBREG_TICKED): New.
6963 (get_cse_reg_info): Initialize SUBREG_TICKED.
6964 (mention_regs): Use it.
6965 (invalidate): Set SUBREG_TICKED.
6966 (invalidate_for_call): Likewise.
6967 (addr_affects_sp_p): Likewise.
6968
6969 2002-10-10 Jakub Jelinek <jakub@redhat.com>
6970
6971 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
6972 into proper operand.
6973
6974 2002-10-10 Denis Chertykov <denisc@overta.ru>
6975
6976 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
6977 deallocation.
6978 * config/ip2k/libgcc.S: Combine routines used by function
6979 epilogue.
6980
6981 2002-10-10 Jim Wilson <wilson@redhat.com>
6982
6983 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
6984 UDIV.
6985
6986 2002-10-10 David Edelsohn <edelsohn@gnu.org>
6987
6988 * config/rs6000/aix52.h: New file.
6989 * config/rs6000/t-aix52: New File.
6990 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
6991 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
6992
6993 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
6994
6995 PR target/5610
6996 * invoke.texi (-msse-math): Kill
6997 (-msse): Add note to mfpmath=sse.
6998
6999 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
7000
7001 PR target/7723
7002 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7003
7004 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
7005
7006 PR preprocessor/8179
7007 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7008 as cc1_options.
7009 (default_compilers): Pass debug options when preprocessing
7010 stdin.
7011
7012 2002-10-06 Richard Henderson <rth@redhat.com>
7013
7014 * toplev.c (rest_of_compilation): Revert opt/2960 change.
7015
7016 Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
7017
7018 * i386.c (*_cost): Add branch costs.
7019 (override_options): set ix86_branch_cost.
7020 (ix86_expand_int_movcc): Use BRANCH_COST.
7021 * i386.h (costs): Add branch_cost.
7022
7023 2002-10-09 Zack Weinberg <zack@codesourcery.com>
7024
7025 PR c/7353
7026 * c-decl.c (start_decl): Unconditionally issue error for
7027 'typedef foo = bar'.
7028 (finish_decl): Remove special case for TYPE_DECL with initializer.
7029
7030 * doc/extend.texi: Delete "Naming Types" section. Change all
7031 cross-references to that section to refer to "Typeof" instead.
7032 Add the useful safe-max()-macro example from "Naming Types" to
7033 "Typeof", rewritten using that extension. Add some compatibility
7034 notes to "Typeof."
7035
7036 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7037
7038 * loop.c: Revert 2002-08-15 change.
7039 (LOOP_REGNO_NREGS): Ensure type is int.
7040
7041 2002-10-09 David Edelsohn <edelsohn@gnu.org>
7042
7043 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7044 which copies first FPR and clears second.
7045 (extendsftf2): Same.
7046 (floatditf2): Fix typo.
7047 (floatsitf2): Same.
7048 (fix_trunctfdi2): Same.
7049 (fix_trunctfsi2): Same.
7050
7051 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7052
7053 * conflict.c (arc_hash): Change return type to hashval_t.
7054 * cselib.c (get_value_hash): Likewise.
7055 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7056 state_hash, automata_list_hash): Likewise.
7057 * read-rtl.c (def_hash): Likewise.
7058 * tree.c (type_hash_hash): Likewise.
7059
7060 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
7061
7062 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7063 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7064
7065 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
7066
7067 * sh.md (ffssi2): Fix emitted code.
7068
7069 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
7070
7071 * cse.c (insn_live_p): Pass insn pattern, not full insn
7072 to may_trap_p.
7073
7074 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
7075
7076 * cppmacro.c (paste_tokens): Only allow / to paste with =.
7077
7078 2002-10-09 David Edelsohn <edelsohn@gnu.org>
7079
7080 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7081 64-bit hosts.
7082 (movtf_internal): Reference correct displacement for second value
7083 in memory.
7084 (movtf splitter): Correct generation of constants in 64-bit mode.
7085
7086 2002-10-09 Alan Modra <amodra@bigpond.net.au>
7087
7088 * libgcc2.c (__floatdisf): Properly cure double rounding.
7089
7090 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
7091
7092 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7093 * doc/cpp.texi (Common Predefined Macros): Document.
7094
7095 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
7096
7097 PR doc/7484
7098 * doc/invoke.texi (Option Summary): List
7099 -Wmissing-declarations as a C only option.
7100
7101 2002-10-08 Roger Sayle <roger@eyesopen.com>
7102
7103 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7104 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7105 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7106
7107 Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
7108
7109 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7110 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7111 variables.
7112 (safe_vector_operand): Update sse_clrv4sf call.
7113 (ix86_expand_buildin): Likewise
7114 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7115 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7116 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7117 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7118 macros.
7119 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7120 movv4si): Obey the new flags.
7121 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7122 reformating penalty.
7123 (anddf, cmov patterns): Avoid reformating by first converting.
7124 (sse_cvtsd2ss): Fix predicate.
7125 (sse2_clrti): Fix mode,
7126 (sse_clrv4sf): Avoid unspec.
7127
7128 2002-10-08 Jakub Jelinek <jakub@redhat.com>
7129
7130 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7131 mno-app-regs|mcmodel=medany.
7132 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7133 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7134 (CRTSTUFF_T_CFLAGS): Define.
7135
7136 2002-10-08 Roger Sayle <roger@eyesopen.com>
7137
7138 PR target/8087
7139 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
7140 pool references that are constructed using LO_SUM.
7141
7142 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
7143
7144 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7145 -Wall.
7146 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7147 message.
7148 * flags.h (warn_strict_aliasing): Declare.
7149 * toplev.c (warn_strict_aliasing): Define.
7150 (lang_independent_options): Add it.
7151 * doc/invoke.texi (-Wstrict-aliasing): Document it.
7152
7153 2002-10-08 Zack Weinberg <zack@codesourcery.com>
7154
7155 * system.h (GCCBUGURL): Delete.
7156 * version.c (bug_report_url): New. Add commentary about
7157 modifying both these strings in modified distributions.
7158 * version.h: Declare bug_report_url.
7159
7160 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7161 bug_report_url.
7162
7163 2002-10-08 Nick Clifton <nickc@redhat.com>
7164
7165 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7166 convert uint64_t into __ev64_opaque__.
7167 (__ev_set_acc_s64): Likewise, but using signed types.
7168
7169 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
7170
7171 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7172 ("*doloop_di_long"): Likewise.
7173
7174 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
7175
7176 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7177
7178 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
7179
7180 * config/mips/mips.md (define_attr cpu): Add r4111.
7181
7182 2002-10-08 Anthony Green <green@redhat.com>
7183
7184 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7185
7186 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7187
7188 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7189 for REAL_VALUE_TO_DECIMAL output.
7190
7191 2002-10-07 Richard Henderson <rth@redhat.com>
7192
7193 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7194 function; cleanup PLUS case by using recursion. Update all users.
7195 (NONZERO_BASE_PLUS_P): Remove.
7196 (find_comparison_args): Use rtx_addr_can_trap_p instead.
7197 (fold_rtx): Use nonzero_address_p.
7198 * rtl.h (nonzero_address_p): Declare.
7199 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7200 (rtx_addr_can_trap_p): Likewise.
7201 (nonzero_address_p): New.
7202 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7203 (simplify_relational_operation): Use nonzero_address_p.
7204
7205 2002-10-07 David Edelsohn <edelsohn@gnu.org>
7206
7207 * config/rs6000/rs6000.c (rs6000_override_options): Set
7208 real_format_for_mode for IBM extended format, if enabled.
7209 (easy_fp_constant): Add TFmode.
7210 (rs6000_legitimize_address): Add TFmode.
7211 (rs6000_legitimate_address): Same.
7212 (function_arg_advance): TFmode uses two FPRs.
7213 (rs6000_emit_prologue): Fix warning.
7214 (rs6000_output_function_epilogue): Add TFmode.
7215 (output_toc): Add TFmode.
7216 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7217 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7218 * rs6000.md (movtf splitter): Load TFmode constant.
7219
7220 2002-10-07 Dale Johannesen <dalej@apple.com>
7221
7222 * rtl.h: Add NOTE_PRECONDITIONED.
7223 * unroll.c: Set it.
7224 * loop.c: Set loop_info->preconditioned from it.
7225 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
7226
7227 2002-10-07 Richard Henderson <rth@redhat.com>
7228
7229 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7230 new rtx for comparing the argument pointer against zero.
7231 (i960_va_start): Similarly.
7232
7233 2002-10-07 Richard Henderson <rth@redhat.com>
7234
7235 * config/i960/i960.md (*): Use TFmode, not XFmode.
7236 * config/i960/i960.c (*): Likewise.
7237 (i960_arg_size_and_align): Remove XFmode alignment hack.
7238 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7239 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7240 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7241 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7242
7243 2002-10-07 Richard Henderson <rth@redhat.com>
7244
7245 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7246 entry points; use void return value and argument list.
7247
7248 2002-10-06 Andreas Bauer <baueran@in.tum.de>
7249
7250 * calls.c (expand_call): Fix function-is-volatile check.
7251
7252 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7253
7254 * t-pdp11: Add MULTILIB support for msoft-float.
7255 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7256
7257 * t-pdp11: Add LIB2FUNCS_EXTRA.
7258 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7259 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7260 'fldd' to 'ldd', rename 'fstd' to 'std'.
7261 (pdp11_output_function_epilogue): Likewise.
7262 (output_move_quad): Make the comment gas compatible.
7263 (output_ascii): Add preceding 0 to the octal constant.
7264 (print_operand_address): Add pre_modify, post_modify.
7265 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7266 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7267 with the indication of Paul Koning.
7268 (PRINT_OPERAND): Fix floating constant.
7269 * pdp11.md (movdi): Restrict matching pattern.
7270 (movqi): Generalize the matching pattern.
7271 (movdf): Restrict matching pattern.
7272 (zero_extendqihi2): Change constant representation.
7273 (floatsidf2): Fix wrong operands.
7274 (addqi3): Fix wrong instruction name.
7275 (subqi3): Fix wrong instruction name.
7276 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7277 (xorsi3): Fix wrong insn.
7278 (one_cmplqi2): Add two operand pattern.
7279 (lsrsi3): New.
7280 (negsi2): New.
7281 (call): Add register indirect case.
7282 (mod): Fix wrong subreg.
7283
7284 2002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
7285 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7286
7287 PR c/7411
7288 * expr.c (expand_expr) [PLUS]: Simplify after the operands
7289 have been expanded in EXPAND_NORMAL mode.
7290
7291 2002-10-06 Richard Henderson <rth@redhat.com>
7292
7293 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7294
7295 2002-10-06 Richard Henderson <rth@redhat.com>
7296
7297 PR optimization/2960
7298 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7299 optimize_size.
7300
7301 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
7302
7303 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7304 previously definitions.
7305
7306 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
7307
7308 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7309 * c-opts.c (find_opt): Similarly.
7310
7311 Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
7312
7313 * athlon.md: rewrite to DFA.
7314 * i386 (ix86_adjust_cost): Drop memory latency code.
7315 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7316
7317 2002-10-05 Jakub Jelinek <jakub@redhat.com>
7318
7319 * gcc.c (set_multilib_dir): Don't access *end.
7320 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
7321 (print_multilib_info): Don't show paths starting with ".:".
7322 * genmultilib: Add new option, "yes" if multilibs are enabled.
7323 Update comments. If multilibs not enabled, print .:${osdirout}
7324 for each directory. If multilibs are enabled, always print
7325 ${dirout}:${osdirout}, even if the two are the same.
7326 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7327 Pass all MULTILIB_* variables to genmultilib even if
7328 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7329
7330 2002-10-04 Zack Weinberg <zack@codesourcery.com>
7331
7332 * gcc.c (process_command): Set .validated for -pipe. Correct
7333 grammar in comment.
7334
7335 2002-10-04 Bruce Korb <bkorb@gnu.org>
7336
7337 * fixinc/inclhack.def(hpux11_abs): use format fix
7338 * fixinc/fixincl.x: regenerate
7339 * fixinc/tests/base/stdlib.h: accommodate new fix test
7340
7341 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
7342
7343 * c-common.c (cb_register_builtins): Use really_no_inline.
7344
7345 2002-10-04 David Edelsohn <edelsohn@gnu.org>
7346
7347 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7348 copied instruction if the note is not loop invariant.
7349
7350 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
7351
7352 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7353
7354 2002-10-04 Steve Ellcey <sje@cup.hp.com>
7355
7356 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
7357 and -mhp-ld options to list of options. Add -mgnu-ld
7358 and -mhp-ld option descriptions.
7359
7360 2002-10-04 Steve Ellcey <sje@cup.hp.com>
7361
7362 * fixinc/inclhack.def (hpux11_abs): New.
7363 (stdio_va_list): change __va_list__ to __gnuc_va_list.
7364 * fixinc/fixincl.x: Rebuild.
7365
7366 2002-10-04 Roger Sayle <roger@eyesopen.com>
7367
7368 * config/i386/i386.h (processor_costs): Add new fields fadd,
7369 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7370 (RTX_COSTS): Use these fields to determine the RTX costs
7371 of floating point addition/subtraction, multiplication,
7372 division, fabs, negation and square root respectively.
7373 * config/i386/i386.c (size_cost): Provide instruction sizes
7374 for these new fields.
7375 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7376 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7377 counts for these new fields for all x86 processor variants.
7378
7379 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7380
7381 * mips.c (mips_const_double_ok): Delete unused variable.
7382
7383 * gengtype.c (rtx_next): Change type to int.
7384
7385 2002-10-04 Andreas Jaeger <aj@suse.de>
7386
7387 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7388
7389 2002-10-04 Richard Henderson <rth@redhat.com>
7390
7391 * real.h (SIGNIFICAND_BITS): Add one more word.
7392 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7393 * real.c (times_pten): New.
7394 (real_to_decimal, real_from_string): Use it.
7395 (sticky_rshift_significand): Use & to find modulus.
7396 (rshift_significand, lshift_significand): Likewise.
7397 (do_divide): Apply sticky bit after normalization.
7398 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7399
7400 2002-10-03 Andreas Bauer <baueran@in.tum.de>
7401
7402 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7403 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7404
7405 2002-10-03 Andreas Jaeger <aj@suse.de>
7406
7407 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7408 to unsigned long, adjust printf format string.
7409 (output_mangled_typename): Likewise.
7410
7411 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
7412
7413 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7414 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7415 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7416 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7417 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7418 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7419 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7420 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7421
7422 2002-10-03 Mark Mitchell <mark@codesourcery.com>
7423
7424 * doc/invoke.texi (-Wabi): Document mangling bug.
7425
7426 2002-10-04 Alan Modra <amodra@bigpond.net.au>
7427
7428 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7429 name for the tbtab label that depends on the function asm name.
7430 Don't output tbtab label unless optional_tbtab.
7431 (output_mi_thunk): Formatting.
7432
7433 2002-10-03 Richard Henderson <rth@redhat.com>
7434
7435 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7436 * config/m68k/m68k.c (override_options): ... here.
7437 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7438 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7439 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7440 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7441
7442 2002-10-03 Richard Henderson <rth@redhat.com>
7443
7444 * real.h (struct real_value): Use ENUM_BITFIELD.
7445
7446 2002-10-03 Richard Henderson <rth@redhat.com>
7447
7448 * config/i960/i960.md (call, call_value): Use emit_call_insn.
7449
7450 2002-10-03 Steve Ellcey <sje@cup.hp.com>
7451
7452 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7453
7454 2002-10-03 Steve Ellcey <sje@cup.hp.com>
7455
7456 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7457 * config/pa/pa.h (MASK_GNU_LD): New.
7458 (TARGET_GNU_LD): New.
7459 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7460 on gnu-ld and MASK_GNU_LD.
7461 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7462
7463 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
7464
7465 * i386.c (athlon_cost): Fix the move costs.
7466
7467 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
7468
7469 * final.c (final): Use symbol name as function name for profiling.
7470 * profile.c (get_exec_counts): Likewise.
7471 (branch_prob): Likewise.
7472
7473 2002-10-03 Jakub Jelinek <jakub@redhat.com>
7474
7475 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7476
7477 2002-10-03 Jakub Jelinek <jakub@redhat.com>
7478
7479 * gcc.c (print_multi_os_directory): New variable.
7480 (option_map): Support --print-multi-os-directory.
7481 (struct prefix_list): Add os_multilib field.
7482 (multilib_os_dir): New variable.
7483 (static_specs): Add multilib_options.
7484 (find_a_file): Add multilib argument. Search in GCC or OS multilib
7485 subdirs if nonzero.
7486 (read_specs, execute): Update callers.
7487 (find_file): Likewise. Don't prefix name with multilib_dir, instead
7488 pass 1 as multilib option.
7489 (display_help): Include --print-multi-os-directory.
7490 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
7491 (process_command): Update callers. Handle --print-multi-os-directory.
7492 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7493 set.
7494 (main): Update find_a_file and add_prefix callers.
7495 Handle print_multi_os_directory.
7496 (struct mdswitchstr): New.
7497 (mdswitches, n_mdswitches): New variables.
7498 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7499 present on the command line nor their mutually incompatible
7500 switches.
7501 (default_arg): Optimize.
7502 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
7503 array.
7504 (print_multilib_info): Only print GCC multilib dir name, not OS
7505 multilib dirname.
7506 * genmultilib: Add osdirnames parameter. Output multilib_options
7507 variable. If osdirnames is specified, output dirnames as
7508 dirname:osdirname.
7509 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7510 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7511 to compute libgcc_s soname and install path.
7512 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7513 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7514 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7515 argument.
7516
7517 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7518 (SHLIB_SLIBDIR_SUFFIXES): Remove.
7519 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7520 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7521 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7522 and -m64.
7523 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7524 (SHLIB_SLIBDIR_SUFFIXES): Remove.
7525 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7526 (STARTFILE_ARCH_SPEC): Remove.
7527 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7528 (SHLIB_SLIBDIR_SUFFIXES): Remove.
7529 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7530 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7531 (SHLIB_SLIBDIR_SUFFIXES): Remove.
7532
7533 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
7534
7535 * predict.c (choose_function_section): Avoid choice for linkonce functions.
7536
7537 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
7538
7539 * i386.md (lea to mul peep2): Fix condition.
7540
7541 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
7542
7543 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7544 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7545
7546 2002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
7547
7548 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7549 attribute "unused".
7550
7551 * config/t-libunwind: Mention unwind-sjlj.c.
7552 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7553 to #ifndef __USING_SJLJ_EXCEPTIONS__.
7554
7555 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7556 before inclusion of config.gcc, but after configuring the compiler etc.
7557 Determine default value for --enable-libunwind-exceptions based on
7558 whether the host has a libunwind library (not guaranteed to be correct,
7559 but it's a reasonable first guess and can always be overridden with an
7560 explicit --enable/disable-libunwind-exceptions.
7561 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7562 tmake_file when $use_libunwind_exceptions is enabled.
7563 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7564 ia64 (e.g., config/t-linux also updates it).
7565 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7566 along with the shared version of libgcc since the latter requires
7567 the former.
7568 * unwind-libunwind.c: New file.
7569 * config/t-libunwind: Ditto.
7570
7571 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
7572
7573 * config.gcc: Remove support for vax-*-vms*.
7574 * config/vax/vms.h: Remove.
7575 * config/vax/xm-vms.h: Remove.
7576 * config/vax/vax-protos.h: Remove VMS-specific code.
7577 * config/vax/vax.c: Remove VMS-specific code.
7578
7579 2002-10-02 Richard Henderson <rth@redhat.com>
7580
7581 PR opt/7124
7582 * config/i386/i386.c (ix86_register_move_cost): Increase cost
7583 for secondary_memory_needed pairs.
7584
7585 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
7586
7587 * doc/vms.texi: Blow away false include file section.
7588
7589 2002-10-02 Roger Sayle <roger@eyesopen.com>
7590
7591 PR optimization/6627
7592 * toplev.c (force_align_functions_log): New global variable.
7593 * flags.h (force_align_functions_log): Add extern prototype.
7594 * varasm.c (assemble_start_function): Use it to force minimum
7595 function alignment.
7596 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
7597 minimum function alignment to one byte.
7598 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
7599 the least significant bit of vtable member function pointers.
7600 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
7601 here from cp/cp-tree.h.
7602
7603 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
7604
7605 * i386.c (print_operand_address): Use RIP addressing for offsetted
7606 label refs too.
7607
7608 2002-09-30 David S. Miller <davem@redhat.com>
7609
7610 PR middle-end/7151
7611 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
7612 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
7613
7614 2002-10-01 Andreas Bauer <baueran@in.tum.de>
7615
7616 * calls.c (expand_call): Remove the `no indirect check'
7617 for sibcall optimization; use function_ok_for_sibcall
7618 target hook; refine check for `function is volatile'.
7619 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
7620 * hooks.c (hook_tree_tree_bool_false): New.
7621 * hooks.h (hook_tree_tree_bool_false): Declare.
7622 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7623 (TARGET_INITIALIZER): Add it.
7624 * target.h (struct gcc_target): Add function_ok_for_sibcall.
7625 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
7626 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7627 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7628 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
7629 Remove function declaration.
7630 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
7631 function static and accept another argument of type `tree'.
7632 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7633 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7634 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7635 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
7636 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7637 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7638 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7639 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
7640 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
7641 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7642 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7643 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
7644 Remove function declaration.
7645 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
7646 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
7647 rename first argument to `decl'; accept another argument
7648 of type `tree'; make static.
7649 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7650 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7651 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
7652 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7653 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7654 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
7655 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
7656 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7657 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
7658
7659 2002-10-01 Roger Sayle <roger@eyesopen.com>
7660
7661 * unroll.c (loop_iterations): Revert 2002-09-08 change.
7662
7663 2002-10-01 Richard Henderson <rth@redhat.com>
7664
7665 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
7666 (real_to_hexadecimal): Likewise.
7667 * print-rtl.c (print_rtx): If we are linked with real.c, don't
7668 dump the XWINT fields of a floating point CONST_DOUBLE.
7669
7670 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
7671
7672 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
7673
7674 2002-10-01 Richard Henderson <rth@redhat.com>
7675
7676 * calls.c (precompute_register_parameters): Force non-legitimate
7677 constants into pseudos.
7678
7679 2002-10-01 Nick Clifton <nickc@redhat.com>
7680
7681 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
7682 to assembler template.
7683
7684 2002-10-01 Richard Henderson <rth@redhat.com>
7685
7686 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
7687 for TLS debug info to !DECL_EXTERNAL.
7688
7689 2002-10-01 Matt Thomas <matt@3am-software.com>
7690 Jason Thorpe <thorpej@wasabisystems.com>
7691
7692 * config.gcc (vax-*-netbsdelf*): Enable configuration.
7693 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
7694 if not already defined.
7695 * config/vax/elf.h: New file.
7696 * config/vax/netbsd-elf.h: New file.
7697 * config/vax/vax.c: Include "debug.h".
7698 (vax_output_function_prologue): Add dwarf2 support. Use
7699 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
7700 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
7701 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
7702 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
7703 (VAX_ISTREAM_SYNC): Remove.
7704 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
7705 (JUMP_TABLES_IN_TEXT_SECTION): Define.
7706 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
7707 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
7708 and assemble_name.
7709 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7710 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
7711 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
7712 (INCOMING_RETURN_ADDR_RTX): Define.
7713 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
7714 (VUNSPEC_SYNC_ISTREAM): Define.
7715 (blockage): Use VUNSPEC_BLOCKAGE.
7716 (sync_istream): New insn.
7717
7718 2002-10-01 Richard Henderson <rth@redhat.com>
7719
7720 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
7721 (*call_value_pop, call, call_value): Add dwarf2 EH support.
7722 (*call): New insn.
7723
7724 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
7725
7726 PR c/8083
7727 * c-typeck.c (build_c_cast): Warn about type punning which breaks
7728 type based aliasing.
7729
7730 2002-10-01 Mark Mitchell <mark@codesourcery.com>
7731
7732 * stor-layout.c (update_alignment_for_field): New function.
7733 (place_union_field): Use it.
7734 (place_field): Likewise.
7735
7736 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
7737
7738 PR other/8077
7739 * gcc.c (cc1_options): Add space on -auxbase-strip.
7740
7741 2002-10-01 Jim Wilson <wilson@redhat.com>
7742
7743 * config/v850/v850.h (EPILOGUE_USES): Define.
7744
7745 2002-09-30 Andrew Haley <aph@redhat.com>
7746
7747 * flow.c (insn_dead_p): When using non-call-exceptions, don't
7748 eliminate insns that may trap.
7749 * cse.c (insn_live_p): Likewise.
7750
7751 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7752
7753 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
7754 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
7755 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
7756 * config/mips/mips.md: Apply same renaming here.
7757
7758 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7759
7760 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
7761 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
7762 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
7763 * config/mips/mips.md (define_attr cpu): Remove r4320.
7764 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
7765
7766 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7767
7768 * config/mips/mips.c (mips16_strings): New variable.
7769 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
7770 symbol in mips16_strings. Free the list.
7771 (mips_encode_section_info): Keep track of local strings.
7772
7773 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7774
7775 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
7776 (sordered_df, sordered_sf): Remove.
7777 * config/mips/mips.c (get_float_compare_codes): New fn.
7778 (gen_int_relational, gen_conditional_move): Use it.
7779
7780 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7781
7782 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
7783 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
7784 * config/mips/mips.c (fcc_register_operand): New function.
7785 (mips_emit_fcc_reload): New function, extracted from reload_incc.
7786 (override_options): Allow TFmode values in float registers
7787 if ISA_HAS_8CC.
7788 * cnfig/mips/mips.md (reload_incc): Change destination prediate
7789 to fcc_register_operand. Remove misleading source constraint.
7790 Use mips_emit_fcc_reload.
7791 (reload_outcc): Duplicate reload_incc.
7792
7793 2002-09-30 Zack Weinberg <zack@codesourcery.com>
7794
7795 * gcc.c (validate_switches): Handle all new forms of spec
7796 syntax introduced recently. Now returns a char *.
7797 (validate_all_switches): Repetitive logic broken out to...
7798 (validate_switches_from_spec): ...here.
7799 * mklibgcc.in: Don't @-flag commands to generate .oS files.
7800
7801 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
7802
7803 * longlong.h: Partially synchronize with GMP-4.1 version:
7804 Use i370 definitions also for s390.
7805 Add generic definition of umul_ppmm in terms of smul_ppmm.
7806 [s390] (umul_ppmm): Remove.
7807 [s390] (smul_ppmm): Fix incorrect assembler constraints.
7808 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
7809
7810 2002-09-30 Bob Wilson <bob.wilson@acm.org>
7811
7812 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
7813 Add new RL_REGS register class.
7814 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
7815 Call xtensa_preferred_reload_class for both input and output reloads.
7816 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
7817 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
7818 instead of either AR_REGS or GR_REGS classes.
7819 (xtensa_secondary_reload_class): Use new RL_REGS class.
7820 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
7821
7822 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7823
7824 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
7825 (pa_strip_name_encoding): Strip '@' and '*', in that order.
7826 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
7827 there is a '*' prefix in NAME.
7828
7829 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
7830
7831 * reload.c (push_reload): Handle subregs and secondary memory.
7832 * reload1.c (gen_reload): Likewise.
7833
7834 * jump.c (reg_or_subregno): New function.
7835 * rtl.h (reg_or_subregno): Declare
7836 * unroll.c (find_splittable_givs): Handle subregs.
7837
7838 2002-09-30 Mark Mitchell <mark@codesourcery.com>
7839
7840 * store-layout.c (finish_record_layout): Add free_p parameter.
7841 (layout_type): Pass it.
7842 * tree.h (finish_record_layout): Update prototype.
7843
7844 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
7845
7846 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
7847
7848 * gcse.c (cprop_jump): Check that the register has not
7849 been modified
7850 (cprop_jump): Likewise.
7851
7852 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
7853
7854 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
7855 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
7856 that we have a SImode access, and only then if reload hasn't completed;
7857 for all other cases, use LO_REGS.
7858
7859 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7860
7861 * openbsd.h: Fix typo in last change.
7862
7863 2002-09-29 Richard Henderson <rth@redhat.com>
7864
7865 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
7866
7867 2002-09-29 Richard Henderson <rth@redhat.com>
7868
7869 PR c/8002
7870 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
7871 for CONST_INT.
7872
7873 2002-09-29 David Edelsohn <edelsohn@gnu.org>
7874
7875 * real.h (ibm_extended_format): Declare.
7876 * real.c (encode_ibm_extended, decode_ibm_extended): New
7877 functions.
7878
7879 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7880
7881 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
7882
7883 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
7884
7885 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
7886
7887 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
7888
7889 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
7890
7891 * builtins.def: Fix comment formatting.
7892 * c-common.def: Likewise.
7893 * cfgcleanup.c: Likewise.
7894 * combine.c: Likewise.
7895 * gengtype.c: Likewise.
7896 * params.def: Likewise.
7897 * predict.def: Likewise.
7898 * rtl.def: Likewise.
7899 * stab.def: Likewise.
7900 * stor-layout.c: Likewise.
7901 * tree.def: Likewise.
7902 * config/darwin.c: Likewise.
7903 * config/darwin.h: Likewise.
7904 * config/dbxcoff.h: Likewise.
7905 * config/elfos.h: Likewise.
7906 * config/fp-bit.c: Likewise.
7907 * config/freebsd-spec.h: Likewise.
7908 * config/interix.h: Likewise.
7909 * config/libgloss.h: Likewise.
7910 * config/linux-aout.h: Likewise.
7911 * config/linux.h: Likewise.
7912 * config/lynx-ng.h: Likewise.
7913 * config/lynx.h: Likewise.
7914 * config/netbsd-aout.h: Likewise.
7915 * config/netbsd.h: Likewise.
7916 * config/netware.h: Likewise.
7917 * config/psos.h: Likewise.
7918 * config/ptx4.h: Likewise.
7919
7920 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
7921
7922 * ChangeLog.4: Fix typos.
7923 * ChangeLog.6: Likewise.
7924 * FSFChangeLog.10: Likewise.
7925 * genattrtab.c: Fix comment typos.
7926 * haifa-sched.c: Likewise.
7927 * real.c: Likewise.
7928 * tree.h: Likewise.
7929 * config/arm/arm.c: Likewise.
7930 * config/arm/crti.asm: Likewise.
7931 * config/arm/crtn.asm: Likewise.
7932 * config/frv/frv.c: Likewise.
7933 * config/frv/frv.md: Likewise.
7934 * config/h8300/h8300.md: Likewise.
7935 * config/i386/rtemself.h: Likewise.
7936 * config/ia64/unwind-ia64.c: Likewise.
7937 * config/ip2k/ip2k.h: Likewise.
7938 * config/m88k/m88k.c: Likewise.
7939 * config/m88k/m88k.md: Likewise.
7940 * config/mips/sr71k.md: Likewise.
7941 * config/mmix/mmix.c: Likewise.
7942 * config/rs6000/rs6000.c: Likewise.
7943 * config/sh/sh.md: Likewise.
7944
7945 2002-09-26 Theodore A. Roth <troth@verinet.com>
7946
7947 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
7948 * config/avr/avr.md: Ditto.
7949
7950 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
7951
7952 PR preprocessor/8055
7953 * cppmacro.c (stringify_arg): Do not overflow the buffer
7954 with the terminating NUL when the argument to be stringified
7955 has no tokens.
7956
7957 2002-09-27 Richard Henderson <rth@redhat.com>
7958
7959 * unroll.c (simplify_cmp_and_jump_insns): New.
7960 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
7961 instead of expand_simple_foo.
7962
7963 2002-09-27 Richard Henderson <rth@redhat.com>
7964
7965 PR optimization/7520
7966 * cfganal.c (flow_active_insn_p): New.
7967 (forwarder_block_p): Use it.
7968
7969 2002-09-27 Richard Henderson <rth@redhat.com>
7970
7971 * emit-rtl.c (active_insn_p): Revert last change.
7972
7973 2002-09-27 Jakub Jelinek <jakub@redhat.com>
7974
7975 * doc/extend.texi (tls_model): Document.
7976 * varasm.c (decl_tls_model): New.
7977 * c-common.c (handle_tls_model_attribute): New.
7978 (c_common_attribute_table): Add tls_model.
7979 * config/alpha/alpha.c (alpha_encode_section_info): Use
7980 decl_tls_model.
7981 * flags.h (enum tls_model, flag_tls_default): Move...
7982 * tree.h (enum tls_model, flag_tls_default): ...here.
7983 (decl_tls_model): New prototype.
7984 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
7985 * config/i386/i386.c (ix86_encode_section_info): Likewise.
7986 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
7987 Allow !flag_pic.
7988
7989 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
7990
7991 * LANGUAGES: Follow spelling conventions.
7992 * rtl.def: Likewise.
7993 * sbitmap.c: Likewise.
7994 * sched-int.h: Likewise.
7995 * sched-rgn.c: Likewise.
7996 * sibcall.c: Likewise.
7997 * simplify-rtx.c: Likewise.
7998 * ssa.c: Likewise.
7999 * stab.def: Likewise.
8000 * stmt.c: Likewise.
8001 * stor-layout.c: Likewise.
8002 * target.h: Likewise.
8003 * timevar.c: Likewise.
8004 * toplev.c: Likewise.
8005 * tree-dump.c: Likewise.
8006 * tree-inline.c: Likewise.
8007 * tree.c: Likewise.
8008 * tree.def: Likewise.
8009 * tree.h: Likewise.
8010 * unroll.c: Likewise.
8011 * varasm.c: Likewise.
8012 * vmsdbgout.c: Likewise.
8013 * treelang/treelang.texi: Likewise.
8014 * treelang/treetree.c: Likewise.
8015
8016 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
8017
8018 * config/h8300/h8300.c (compute_saved_regs): Use a macro
8019 instead of a hard register number.
8020 (get_shift_alg): Use an enumerated type instead of numbers.
8021 (h8300_shift_needs_scratch_p): Likewise.
8022
8023 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
8024
8025 * varasm.c (force_data_section): Remove.
8026 (assemble_constant_align): Likewise.
8027 * output.h: Remove corresponding prototypes.
8028
8029 2002-09-26 Roger Sayle <roger@eyesopen.com>
8030
8031 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8032 jump, if the loop to exit is the top of the current nesting stack.
8033
8034 2002-09-26 Torbjorn Granlund <tege@swox.com>
8035
8036 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8037 arithmetic.
8038
8039 2002-09-26 David S. Miller <davem@redhat.com>
8040
8041 PR optimization/7335
8042 * calls.c (emit_library_call_value_1): Passing args by reference
8043 converts a CONST function into a PURE one.
8044
8045 2002-09-26 David Edelsohn <edelsohn@gnu.org>
8046
8047 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8048 text_section.
8049 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8050 text section.
8051 * config/rs6000/rs6000.c (rs6000_override_options): Allow
8052 function-sections and data-sections functionality on AIX.
8053
8054 2002-09-26 David Edelsohn <edelsohn@gnu.org>
8055 Dale Johannesen <dalej@apple.com>
8056
8057 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8058 in RTL for sub-word loads from memory.
8059
8060 2002-09-26 Richard Henderson <rth@redhat.com>
8061
8062 PR c/7160
8063 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8064 on call insns.
8065
8066 2002-09-26 Richard Henderson <rth@redhat.com>
8067
8068 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8069
8070 2002-09-26 Chris Lattner <sabre@nondot.org>
8071
8072 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8073 handling undefined values.
8074
8075 2002-09-26 Richard Henderson <rth@redhat.com>
8076
8077 PR opt/7520
8078 * emit-rtl.c (active_insn_p): Consider a clobber of the
8079 function return value to be active even after reload.
8080
8081 2002-09-27 Alan Modra <amodra@bigpond.net.au>
8082
8083 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8084 by absolute loop increment, not loop increment.
8085
8086 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
8087
8088 * c-common.h: Follow spelling conventions.
8089 * cpplex.c: Likewise.
8090 * cpplib.h: Likewise.
8091 * gthr-dce.h: Likewise.
8092 * gthr-posix.h: Likewise.
8093 * optabs.c: Likewise.
8094 * output.h: Likewise.
8095 * profile.c: Likewise.
8096 * protoize.c: Likewise.
8097 * ra-rewrite.c: Likewise.
8098 * real.c: Likewise.
8099 * recog.c: Likewise.
8100 * reg-stack.c: Likewise.
8101 * regclass.c: Likewise.
8102 * regmove.c: Likewise.
8103 * reload.c: Likewise.
8104 * reload.h: Likewise.
8105 * reload1.c: Likewise.
8106 * reorg.c: Likewise.
8107 * resource.c: Likewise.
8108 * rtl.h: Likewise.
8109 * rtlanal.c: Likewise.
8110
8111 2002-09-26 Steve Ellcey <sje@cup.hp.com>
8112
8113 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8114 for symbol address.
8115
8116 2002-09-24 Eric Christopher <echristo@redhat.com>
8117
8118 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8119 * config/mips/elf64.h: Ditto.
8120
8121 2002-09-24 Eric Christopher <echristo@redhat.com>
8122
8123 * except.c (expand_builtin_extract_return_address): Handle case
8124 where Pmode != ptr_mode.
8125
8126 2002-09-26 Steve Ellcey <sje@cup.hp.com>
8127
8128 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8129
8130 2002-09-26 Steve Ellcey <sje@cup.hp.com>
8131
8132 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8133
8134 2002-09-26 Igor Shevlyakov <igor@microunity.com>
8135
8136 * combine.c (simplify_set): Don't call to force_to_mode if size
8137 of integer type is larger than HOST_BITS_PER_WIDE_INT.
8138
8139 2002-09-26 Janis Johnson <janis187@us.ibm.com>
8140
8141 * Makefile.in (qmtest-g++): Fix file path.
8142
8143 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
8144
8145 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8146 A + (-const) on RTX level, even for unsigned types.
8147
8148 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
8149
8150 * reload.c (dup_replacements): New function.
8151 (find_reloads): Use it to duplicate replacements at the top level
8152 of match_dup operands.
8153
8154 2002-09-26 Miles Bader <miles@gnu.org>
8155
8156 * v850.md ("length"): Change default value to 4.
8157
8158 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
8159
8160 * ChangeLog.1: Follow spelling conventions.
8161 * ChangeLog.4: Likewise.
8162 * ChangeLog.6: Likewise.
8163 * FSFChangeLog.11: Likewise.
8164 * doc/cpp.texi: Likewise.
8165 * doc/invoke.texi: Likewise.
8166 * doc/tm.texi: Likewise.
8167
8168 2002-09-26 Nick Clifton <nickc@redhat.com>
8169
8170 * config.gcc: Add x prefix to v850e case for handling
8171 --with-cpu=v850e.
8172
8173 2002-09-25 Zack Weinberg <zack@codesourcery.com>
8174
8175 * gcc.c (input_suffix_matches, switch_matches,
8176 mark_matching_switches, process_marked_switches,
8177 process_brace_body): New functions - split from handle_braces.
8178 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8179 and ignore whitespace in more places.
8180 (specs documentation comment): Document %{S:X;T:Y;:D}.
8181 Clarify other %{...} docs.
8182 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
8183 %{...} docs.
8184
8185 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8186 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8187
8188 2002-09-25 David S. Miller <davem@redhat.com>
8189
8190 PR target/7842
8191 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8192 extend.
8193
8194 2002-09-25 Richard Henderson <rth@redhat.com>
8195
8196 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8197 fp CONST_DOUBLE; use real_identical.
8198
8199 2002-09-25 Mark Mitchell <mark@codesourcery.com>
8200
8201 * doc/invoke.texi: Add more -Wabi examples.
8202
8203 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
8204
8205 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8206
8207 2002-09-24 Nathan Sidwell <nathan@codesourcery.com>
8208
8209 * profile.c (end_branch_prob): Only look for __gcov_init on
8210 weak-enabled native compilers.
8211
8212 2002-09-24 Denis Chertykov <denisc@overta.ru>
8213
8214 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8215 cases of optimizing "add sp,w" to "inc sp".
8216
8217 2002-09-24 Adam Nemet <anemet@lnxw.com>
8218
8219 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8220 epilogue for naked functions.
8221
8222 2002-09-24 Adam Nemet <anemet@lnxw.com>
8223 Nick Clifton <nickc@redhat.com>
8224
8225 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8226 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8227 is defined.
8228
8229 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
8230
8231 * config/s390/s390.c (preferred_la_operand_p): New function.
8232 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8233 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8234 ("*la_64_cc", "*la_31_cc", splitters): ... these.
8235 ("*la_31"): Deactivate for TARGET_64BIT.
8236 ("*la_31_and", "*la_31_and_cc"): New.
8237
8238 2002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8239
8240 * real.h (real_value): Make `exp' explicitly signed.
8241
8242 2002-09-24 Kazu Hirata <kazu@cs.umass.edu>
8243
8244 * config/elfos.h: Follow spelling conventions.
8245 * config/alpha/alpha.h: Likewise.
8246 * config/arc/arc.h: Likewise.
8247 * config/arm/arm.md: Likewise.
8248 * config/avr/avr.h: Likewise.
8249 * config/cris/cris.md: Likewise.
8250 * config/d30v/d30v.h: Likewise.
8251 * config/frv/frv.c: Likewise.
8252 * config/frv/frv.h: Likewise.
8253 * config/h8300/h8300.c: Likewise.
8254 * config/h8300/h8300.h: Likewise.
8255 * config/h8300/h8300.md: Likewise.
8256 * config/i386/cygwin.h: Likewise.
8257 * config/i386/i386.h: Likewise.
8258 * config/i386/sysv3.h: Likewise.
8259 * config/i960/i960.h: Likewise.
8260 * config/ia64/ia64.h: Likewise.
8261 * config/ia64/ia64.md: Likewise.
8262 * config/ip2k/ip2k.h: Likewise.
8263 * config/m32r/m32r.h: Likewise.
8264 * config/m68k/m68k.h: Likewise.
8265 * config/m88k/m88k.h: Likewise.
8266 * config/mcore/mcore.c: Likewise.
8267 * config/mcore/mcore.h: Likewise.
8268 * config/mcore/mcore.md: Likewise.
8269 * config/mips/mips.h: Likewise.
8270 * config/mmix/mmix.h: Likewise.
8271 * config/mmix/mmix.md: Likewise.
8272 * config/ns32k/netbsd.h: Likewise.
8273 * config/ns32k/ns32k.h: Likewise.
8274 * config/ns32k/ns32k.md: Likewise.
8275 * config/pa/pa.h: Likewise.
8276 * config/romp/romp.h: Likewise.
8277 * config/rs6000/rs6000.h: Likewise.
8278 * config/rs6000/rs6000.md: Likewise.
8279 * config/sparc/sparc.h: Likewise.
8280 * config/stormy16/stormy-abi: Likewise.
8281 * config/stormy16/stormy16.h: Likewise.
8282 * config/vax/vax.h: Likewise.
8283
8284 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
8285
8286 * config/alpha/alpha.h: Remove commented-out macro
8287 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8288 * config/avr/avr.h: Likewise.
8289 * config/d30v/d30v.h: Likewise.
8290 * config/dsp16xx/dsp16xx.h: Likewise.
8291 * config/i370/i370.h: Likewise.
8292 * config/i386/i386.h: Likewise.
8293 * config/i960/i960.h: Likewise.
8294 * config/m68k/m68k.h: Likewise.
8295 * config/m88k/m88k.h: Likewise.
8296 * config/mips/mips.h: Likewise.
8297 * config/ns32k/ns32k.h: Likewise.
8298 * config/pdp11/pdp11.h: Likewise.
8299 * config/romp/romp.h: Likewise.
8300 * config/rs6000/rs6000.h: Likewise.
8301 * config/s390/s390.h: Likewise.
8302 * config/sh/sh.h: Likewise.
8303 * config/sparc/sparc.h: Likewise.
8304 * config/stormy16/stormy16.h: Likewise.
8305 * config/vax/vax.h: Likewise.
8306
8307 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
8308
8309 * function.c (push_temp_slots_for_block): Remove.
8310 (push_temp_slots_for_target): Likewise.
8311 (get_target_temp_slot_level): Likewise.
8312 (set_target_temp_slot_level): Likewise.
8313 (get_first_block_beg): Likewise.
8314 * function.h: Remove corresponding prototypes.
8315
8316 2002-09-23 Zack Weinberg <zack@codesourcery.com>
8317
8318 * version.c (version_string): Now const char[].
8319 * version.h: Update to match.
8320
8321 2002-09-23 Richard Henderson <rth@redhat.com>
8322
8323 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8324 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8325 (TARGET_SWITCHES): Don't reference them.
8326 * config/i386/i386.c (override_options): Use target_flags_explicit
8327 to examine bits set by the user.
8328
8329 2002-09-23 Dale Johannesen <dalej@apple.com>
8330
8331 * dbxout.c (dbxout_parms): Set current_sym_code for params
8332 passed on stack by invisible reference.
8333
8334 2002-09-23 Richard Earnshaw <rearnsha@arm.com>
8335
8336 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8337 at least one byte of space.
8338
8339 2002-09-23 Mark Mitchell <mark@codesourcery.com>
8340
8341 * c-common.h (flag_abi_version): Fix typo in comment.
8342 * doc/invoke.texi (flag_abi_version): Document default value.
8343
8344 2002-09-23 Hans-Peter Nilsson <hp@axis.com>
8345
8346 * doc/extend.texi (Extended Asm): Clarify that overlap between
8347 asm-declared register variables used in an asm and the asm clobber
8348 list is not allowed.
8349 * stmt.c (decl_conflicts_with_clobbers_p): New function.
8350 (expand_asm_operands): Keep track of clobbered registers. Call
8351 decl_conflicts_with_clobbers_p for each input and output operand.
8352 If no conflicts found before, also do conflict sanity check when
8353 emitting clobbers.
8354
8355 2002-09-23 Richard Henderson <rth@redhat.com>
8356
8357 * c-common.c (cpp_define_data_format): Remove.
8358 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8359 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8360 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8361 * doc/cpp.texi: Don't document them either.
8362 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8363 __LONG_LONG_MAX__): Document.
8364 (__TARGET_FLOAT_FORMAT__): Remove.
8365
8366 2002-09-23 Richard Henderson <rth@redhat.com>
8367
8368 * real.c (do_multiply): Normalize U before addition.
8369
8370 2002-09-23 Mark Mitchell <mark@codesourcery.com>
8371
8372 * c-common.c (flag_abi_version): New variable.
8373 * c-common.h (flag_abi_version): Declare it.
8374 * c-opts.c (missing_arg): Add -fabi-version.
8375 (c_common_decode_option): Process -fabi-version.
8376 * doc/invoke.texi (-fabi-version): Document it.
8377 (-Wabi): Add information about bit-fields in unions.
8378
8379 2002-09-22 Roger Sayle <roger@eyesopen.com>
8380
8381 * expr.c (STORE_BY_PIECES_P): New target macro.
8382 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8383 instead of MOVE_BY_PIECES_P.
8384 * doc/tm.texi: Document this new macro.
8385
8386 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
8387
8388 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8389 unless -fno-pic or -fno-PIC is specified.
8390
8391 2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
8392
8393 * c-common.c (preprocessing_trad_p): Define.
8394 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8395 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8396 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8397 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8398 * pa-linux.h (CPP_PREDEFINES): Delete.
8399 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8400 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8401 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8402 (TARGET_OS_CPP_BUILTINS): Define.
8403 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8404 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
8405 (SUBTARGET_SWITCHES): Provide default definition.
8406 (TARGET_OPTIONS): Reformat. Use N_() macro.
8407 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8408 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8409 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8410 (TARGET_CPU_CPP_BUILTINS): Define.
8411 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8412 * doc/invoke.texi (msio, mwsio): Document new hppa options.
8413 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8414 preprocessing_trad_p().
8415
8416 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
8417
8418 * doc/install.texi: Document behavior of --with-headers and
8419 --with-libs when arguments are omitted.
8420
8421 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>
8422
8423 * dbxout.c: Follow spelling conventions.
8424 * defaults.h: Likewise.
8425 * df.c: Likewise.
8426 * diagnostic.h: Likewise.
8427 * doloop.c: Likewise.
8428 * dwarf2out.c: Likewise.
8429 * dwarfout.c: Likewise.
8430 * emit-rtl.c: Likewise.
8431 * except.c: Likewise.
8432 * explow.c: Likewise.
8433 * expmed.c: Likewise.
8434 * expr.c: Likewise.
8435 * expr.h: Likewise.
8436 * flags.h: Likewise.
8437 * flow.c: Likewise.
8438 * fold-const.c: Likewise.
8439 * function.c: Likewise.
8440 * function.h: Likewise.
8441 * gcc.c: Likewise.
8442 * gcov-io.h: Likewise.
8443 * gcov.c: Likewise.
8444 * gcse.c: Likewise.
8445 * genattrtab.c: Likewise.
8446 * genconfig.c: Likewise.
8447 * genrecog.c: Likewise.
8448 * ggc-page.c: Likewise.
8449 * ggc.h: Likewise.
8450 * global.c: Likewise.
8451 * gthr-win32.h: Likewise.
8452 * integrate.c: Likewise.
8453 * jump.c: Likewise.
8454 * langhooks.c: Likewise.
8455 * langhooks.h: Likewise.
8456 * line-map.h: Likewise.
8457 * local-alloc.c: Likewise.
8458 * longlong.h: Likewise.
8459 * loop.c: Likewise.
8460 * loop.h: Likewise.
8461
8462 Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
8463
8464 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8465
8466 Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
8467
8468 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8469 for -Os/TARGET_64BIT too.
8470
8471 2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
8472
8473 * ChangeLog: Follow spelling conventions.
8474 * ChangeLog.0: Likewise.
8475 * ChangeLog.1: Likewise.
8476 * ChangeLog.2: Likewise.
8477 * ChangeLog.3: Likewise.
8478 * ChangeLog.4: Likewise.
8479 * ChangeLog.5: Likewise.
8480 * ChangeLog.6: Likewise.
8481 * FSFChangeLog.10: Likewise.
8482 * FSFChangeLog.11: Likewise.
8483 * alias.c: Likewise.
8484 * basic-block.h: Likewise.
8485 * c-aux-info.c: Likewise.
8486 * c-common.c: Likewise.
8487 * c-common.h: Likewise.
8488 * c-decl.c: Likewise.
8489 * c-format.c: Likewise.
8490 * c-semantics.c: Likewise.
8491 * c-typeck.c: Likewise.
8492 * calls.c: Likewise.
8493 * cfganal.c: Likewise.
8494 * cfgloop.c: Likewise.
8495 * collect2.c: Likewise.
8496 * combine.c: Likewise.
8497 * conflict.c: Likewise.
8498 * cppexp.c: Likewise.
8499 * cppfiles.c: Likewise.
8500 * cpphash.h: Likewise.
8501 * cppinit.c: Likewise.
8502 * cpplex.c: Likewise.
8503 * cpplib.c: Likewise.
8504 * cpplib.h: Likewise.
8505 * cppmacro.c: Likewise.
8506 * cse.c: Likewise.
8507
8508 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
8509
8510 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8511 LINK_SPEC.
8512 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8513 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8514 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8515
8516 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
8517
8518 PR opt/7930
8519 * cse.c (fold_rtx): Calculate old_cost before we fold each
8520 operand.
8521
8522 2002-09-21 Richard Henderson <rth@redhat.com>
8523
8524 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8525 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8526 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8527 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8528 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8529 * doc/cpp.texi: Don't document them.
8530
8531 2002-09-21 Richard Henderson <rth@redhat.com>
8532
8533 * c-common.c (builtin_define_float_constants): Use real_format
8534 to get the floating-point parameters.
8535
8536 2002-09-21 Richard Henderson <rth@redhat.com>
8537
8538 * real.c (struct real_format): Move to real.h.
8539 (real_format_for_mode): Rename from fmt_for_mode; update all users;
8540 initialize with ieee defaults.
8541 (real_to_target_fmt, real_from_target_fmt): New.
8542 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8543 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8544 ieee_quad_format, i370_single_format, i370_double_format,
8545 c4x_single_format, c4x_extended_format): Rename from s/_format//.
8546 (ieee_quad_format): Fix emin.
8547 (format_for_size, init_real_once): Remove.
8548 * real.h (struct real_format): Move from real.c.
8549 (real_format_for_mode): Declare.
8550 (real_to_target_fmt, real_from_target_fmt): Declare.
8551 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8552 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8553 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8554 i370_single_format, i370_double_format, c4x_single_format,
8555 c4x_extended_format): Declare.
8556 * toplev.c (do_compile): Don't call init_real_once.
8557
8558 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8559 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8560
8561 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8562 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8563 * config/alpha/alpha.c (override_options): Set real_format_for_mode
8564 for VAX, if enabled.
8565
8566 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8567 for C4X.
8568
8569 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8570 * config/i370/i370.c (override_options): New.
8571 * config/i370/i370-protos.h: Update.
8572
8573 * config/i386/i386.c (override_options): Set real_format_for_mode
8574 for Intel 80-bit extended.
8575 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8576
8577 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8578 (OVERRIDE_OPTIONS): Move code...
8579 * config/i960/i960.c (i960_initialize): ... here. Set
8580 real_format_for_mode for Intel 80-bit extended.
8581
8582 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8583 for Intel 80-bit extended, if enabled.
8584
8585 * config/m68k/m68k.c (override_options): Set real_format_for_mode
8586 for Motorola 96-bit extended.
8587
8588 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
8589 * config/vax/vax.c (override_options): New.
8590 * config/vax/vax-protos.h: Update.
8591
8592 2002-09-21 Alan Modra <amodra@bigpond.net.au>
8593
8594 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
8595 #if TARGET_MACHO.
8596
8597 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
8598 insns. Supply missing clobber of scratch reg.
8599
8600 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
8601
8602 * config/m32r/m32r.c: Follow spelling conventions.
8603 * config/m32r/m32r.h: Likewise.
8604 * config/m32r/m32r.md: Likewise.
8605 * config/m68k/m68k.c: Likewise.
8606 * config/m88k/m88k.c: Likewise.
8607 * config/mcore/mcore.c: Likewise.
8608 * config/mips/mips.c: Likewise.
8609 * config/mips/mips.h: Likewise.
8610 * config/mmix/mmix.c: Likewise.
8611 * config/mn10200/mn10200.c: Likewise.
8612 * config/ns32k/ns32k.h: Likewise.
8613 * config/pa/pa.c: Likewise.
8614 * config/pa/pa64-linux.h: Likewise.
8615 * config/pdp11/pdp11.h: Likewise.
8616 * config/romp/romp.c: Likewise.
8617 * config/romp/romp.h: Likewise.
8618 * config/rs6000/eabi.asm: Likewise.
8619 * config/rs6000/linux64.h: Likewise.
8620 * config/rs6000/rs6000.c: Likewise.
8621 * config/rs6000/rs6000.h: Likewise.
8622 * config/rs6000/rs6000.md: Likewise.
8623 * config/rs6000/sysv4.h: Likewise.
8624 * config/rs6000/xcoff.h: Likewise.
8625
8626 2002-09-20 Jim Wilson <wilson@redhat.com>
8627
8628 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
8629
8630 2002-09-20 Jakub Jelinek <jakub@redhat.com>
8631
8632 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
8633 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
8634 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
8635 (legitimate_address_p): Likewise.
8636 (legitimize_address): Use @gotntpoff and @indntpoff.
8637 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
8638 (output_addr_const_extra): Likewise.
8639
8640 2002-09-20 Jim Wilson <wilson@redhat.com>
8641
8642 * combine.c (try_combine): When split an instruction pair, where the
8643 first has a sign_extend src, verify that the src and dest modes match.
8644
8645 2002-09-20 Richard Henderson <rth@redhat.com>
8646
8647 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
8648 (override_options): Do not initialize them.
8649 (mips_const_double_ok): Allow no fp constants except zero,
8650 and not even that for mips16.
8651 (const_float_1_operand): Use dconst1.
8652 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
8653 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
8654 Don't allow arbitrary constants; fix predicates and C constraint.
8655
8656 2002-09-20 Neil Booth <neil@daikokuya.co.uk>
8657
8658 * cppmacro.c: Don't warn about function-like macros without
8659 '(' during pre-expansion.
8660
8661 2002-09-20 Jim Wilson <wilson@redhat.com>
8662
8663 * config/v850/v850.c (current_function_anonymous_args): Delete.
8664 (expand_prologue): Use current_function_args_info.anonymous_args.
8665 (expand_epilogue): Delete use of current_function_anonymous_args.
8666 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
8667 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
8668 (current_function_anonymous_args): Delete extern declaration.
8669 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
8670
8671 2002-09-20 Geoffrey Keating <geoffk@apple.com>
8672
8673 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
8674 to load_macho_picbase.
8675 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
8676 (load_macho_picbase): Take the symbol to use as a parameter.
8677 (macho_correct_pic): New insn.
8678 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
8679
8680 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
8681 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
8682 (CAN_ELIMINATE): Likewise.
8683 (INITIAL_ELIMINATION_OFFSET): Likewise.
8684 (TOC_REGISTER): Likewise.
8685
8686 2002-09-20 Richard Henderson <rth@redhat.com>
8687
8688 * real.c (real_hash): New.
8689 * real.h: Declare it.
8690 * cse.c (canon_hash): Use it.
8691 * cselib.c (hash_rtx): Likewise.
8692 * emit-rtl.c (const_double_htab_hash): Likewise.
8693 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
8694 * varasm.c (struct rtx_const): Reduce vector size; separate
8695 integer and fp vectors.
8696 (HASHBITS): Remove.
8697 (const_hash_1): Rename from const_hash. Use real_hash. Do not
8698 take modulus MAX_HASH_TABLE.
8699 (const_hash): New. Do take modulus MAX_HASH_TABLE.
8700 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
8701 (SYMHASH): Don't use HASHBITS.
8702 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
8703 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
8704 (simplify_subtraction): Fix kind comparison.
8705 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
8706 Use a union to pun integer array.
8707 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
8708 only hash two words of integral CONST_DOUBLE.
8709
8710 2002-09-20 Steve Ellcey <sje@cup.hp.com>
8711
8712 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
8713 (STARTFILE_PREFIX_SPEC): New.
8714 (LINK_SPEC): Modify.
8715 (LIB_SPEC): Modify.
8716 (LIBGCC_SPEC): New.
8717
8718 2002-09-20 Jakub Jelinek <jakub@redhat.com>
8719
8720 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
8721 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
8722
8723 2002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8724
8725 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
8726 Add clobber of the condition code register.
8727
8728 2002-09-20 Richard Henderson <rth@redhat.com>
8729
8730 * real.c (do_fix_trunc): Static.
8731 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
8732 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
8733 encode_i370_single, encode_i370_double, encode_c4x_single,
8734 encode_c4x_extended): Add default abort case.
8735
8736 2002-09-20 Richard Henderson <rth@redhat.com>
8737
8738 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
8739 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
8740 (struct realvaluetype): Remove.
8741 (REAL_VALUE_TYPE): Use struct real_value.
8742 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
8743 (test_real_width): New.
8744 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
8745 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
8746 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
8747 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
8748 real_to_integer, real_to_integer2, real_to_decimal,
8749 real_to_hexadecimal, real_from_string, real_from_integer,
8750 real_inf, real_nan, real_2expN, real_convert, real_to_target,
8751 real_from_target): Likewise.
8752 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
8753 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
8754
8755 2002-09-20 Richard Henderson <rth@redhat.com>
8756
8757 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
8758 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
8759 * defaults.h: ... here.
8760 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
8761 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
8762 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
8763 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
8764
8765 2002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
8766
8767 * config/mmix/mmix.md ("negdf2"): Rewrite.
8768 ("*expanded_negdf2"): New.
8769
8770 2002-09-19 Jim Wilson <wilson@redhat.com>
8771
8772 * combine.c (simplify_set): When optimizing a subreg src with a
8773 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
8774
8775 2002-09-19 Dale Johannesen <dalej@apple.com>
8776 * combine.c (make_extraction): Don't create
8777 invalid subreg.
8778
8779 2002-09-19 Roger Sayle <roger@eyesopen.com>
8780
8781 * tree.c (integer_nonzerop): New predicate for nonzero integers.
8782 * tree.h (integer_nonzerop): Add function prototype.
8783 * stmt.c (expand_end_loop): Don't rotate the loop when there
8784 are no instructions in the test, i.e. the loop is unconditional.
8785 (expand_exit_loop_if_false): Optimize RTL generation of loop
8786 tests when the condition is always true or always false.
8787 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
8788 do-loops when the condition is always true.
8789 (genrtl_for_stmt): Optimize RTL generation of for-loops when
8790 the for-expression is empty.
8791
8792 2002-09-19 Zack Weinberg <zack@codesourcery.com>
8793
8794 * gcc.c (use_pipes): New flag.
8795 (process_command): Set it. Adjust check for -pipe conflicting
8796 with -time or -save-temps.
8797 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
8798 %<SWITCH. Drop %| (without a SUFFIX).
8799 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
8800 (give_switch): Third argument eliminated.
8801 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
8802 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
8803 (specs documentation comment): Update.
8804
8805 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
8806 config/svr4.h, config/i386/freebsd-aout.h,
8807 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
8808 config/m68k/openbsd.h, config/mips/openbsd.h,
8809 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
8810 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
8811 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
8812 * config/cris/cris.h: Update comment.
8813
8814 * ada/lang-specs.h: Use %(invoke_as). Straighten out
8815 error messages. Don't use %{^SWITCH}.
8816 * ada/misc.c (gnat_decode_option): Handle -I with a
8817 separate argument.
8818
8819 * f/lang-specs.h: Use %| and %m.
8820 * java/jvspec.c: Use %m and %(invoke_as). Change all
8821 uses of %{<SWITCH} to %<SWITCH.
8822
8823 * doc/invoke.texi: Update documentation of specs.
8824 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
8825
8826 2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
8827
8828 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
8829 and STRICT_LOW_PART within SET_DEST.
8830 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
8831 splitters, replacing pre-reload splitters.
8832 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
8833 "*zero_extendqihi2_31"): New insns.
8834 ("*zero_extendqihi2_64"): Do not clobber CC.
8835
8836 2002-09-18 Devang Patel <dpatel@apple.com>
8837
8838 * cp/cp-tree.h: New prototype for walk_vtables().
8839 * cp/decl.c (walk_vtables_r): New function.
8840 (struct cp_binding_level): Add new members, namespaces,
8841 names_size and vtables.
8842 (add_decl_to_level): Add decl in namespaces or vtables
8843 chain, if conditions match.
8844 (walk_vtables): New function.
8845 (walk_namespaces_r): Travers separate namespace chain
8846 for namespace decls.
8847 (wrapup_globals_for_namespace): Use names_size instead
8848 of list_length().
8849 * cp/decl2.c (finish_file): Use walk_vtables() instead of
8850 walk_globals() to walk vtable decls.
8851
8852 2002-09-19 Steve Ellcey <sje@cup.hp.com>
8853
8854 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
8855 (DTORS_SECTION_ASM_OP): Ditto.
8856 (READONLY_DATA_SECTION_ASM_OP): Moved.
8857 (DATA_SECTION_ASM_OP): New.
8858 (SDATA_SECTION_ASM_OP): New.
8859 (BSS_SECTION_ASM_OP): New.
8860 (SBSS_SECTION_ASM_OP): New.
8861 (TEXT_SECTION_ASM_OP): New.
8862
8863 2002-09-19 Kazu Hirata <kazu@cs.umass.edu>
8864
8865 * config/fp-bit.c: Follow spelling conventions.
8866 * config/d30v/d30v.c: Likewise.
8867 * config/d30v/d30v.h: Likewise.
8868 * config/fr30/fr30.c: Likewise.
8869 * config/fr30/fr30.h: Likewise.
8870 * config/fr30/fr30.md: Likewise.
8871 * config/frv/frv.c: Likewise.
8872 * config/frv/frv.h: Likewise.
8873 * config/h8300/h8300.c: Likewise.
8874 * config/h8300/lib1funcs.asm: Likewise.
8875 * config/i370/i370.c: Likewise.
8876 * config/i386/i386.h: Likewise.
8877 * config/i386/i386.md: Likewise.
8878 * config/i386/pentium.md: Likewise.
8879 * config/i386/winnt.c: Likewise.
8880 * config/i960/i960.c: Likewise.
8881 * config/ia64/ia64.h: Likewise.
8882 * config/ip2k/ip2k.c: Likewise.
8883 * config/ip2k/ip2k.h: Likewise.
8884 * config/ip2k/ip2k.md: Likewise.
8885 * config/ip2k/libgcc.S: Likewise.
8886
8887 2002-09-19 Stephen Clarke <stephen.clarke@superh.com>
8888
8889 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
8890 (GOTOFF_P): Extend to allow gotoff plus constant.
8891
8892 2002-09-18 Richard Henderson <rth@redhat.com>
8893
8894 * ifcvt.c (noce_process_if_block): Correctly detect X modified
8895 with INSN_B before COND_EARLIEST. Don't check A and B for
8896 modification in condition range. Reorder INSN_B for A==B properly.
8897 (if_convert): Iterate until no matches for a block.
8898
8899 2002-09-18 Richard Henderson <rth@redhat.com>
8900
8901 * calls.c (store_one_arg): Rename default_align to parm_align;
8902 always adjust parm_align for downward padding.
8903
8904 2002-09-18 Richard Henderson <rth@redhat.com>
8905
8906 * toplev.c (backend_init): Move init_real_once invocation ...
8907 (do_compile): ... here.
8908
8909 2002-09-18 Richard Henderson <rth@redhat.com>
8910
8911 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
8912 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
8913
8914 2002-09-18 Richard Henderson <rth@redhat.com>
8915
8916 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
8917
8918 2002-09-19 Alan Modra <amodra@bigpond.net.au>
8919
8920 * config/rs6000/rs6000.md: (floatdisf2): Rename to
8921 floatdisf2_internal1.
8922 (floatdisf2): New define_expand.
8923 (floatdisf2_internal2): Likewise.
8924
8925 2002-09-18 Richard Henderson <rth@redhat.com>
8926
8927 * real.c (sticky_rshift_significand): Collect sticky as
8928 unsigned long, not bool.
8929
8930 2002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
8931
8932 * config/s390/s390.c (s390_address_cost): New function.
8933 config/s390/s390-protos.h (s390_address_cost): Add prototype.
8934 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
8935 (RTX_COST): Use COSTS_N_INSNS.
8936
8937 2002-09-18 Douglas Rupp <rupp@gnat.com>
8938 Donn Terry <donnte@microsoft.com>
8939
8940 * stor-layout.c (place_field): Handle alignment of whole
8941 structures when MSVC compatible bitfields are involved.
8942 Change method of computing location of MS bitfields to
8943 be compatible with #pragma pack(n).
8944
8945 * tree.h (record_layout_info): Add new field
8946 remaining_in_alignment.
8947
8948 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
8949 (pragma pack): Add paragraph on MSVC bitfield packing.
8950
8951 2002-09-18 Richard Earnshaw (reanrsha@arm.com)
8952
8953 PR optimization/7967
8954 * arm.md (ne_zeroextractsi): Add clobber of the condition code
8955 register.
8956
8957 2002-09-18 Kazu Hirata <kazu@cs.umass.edu>
8958
8959 * config/s390/s390.c: Follow spelling conventions.
8960 * config/sh/lib1funcs.asm: Likewise.
8961 * config/sh/sh.c: Likewise.
8962 * config/sh/sh.h: Likewise.
8963 * config/sparc/sparc.c: Likewise.
8964 * config/sparc/sparc.h: Likewise.
8965 * config/sparc/sparc.md: Likewise.
8966 * config/stormy16/stormy16.c: Likewise.
8967 * config/stormy16/stormy16.h: Likewise.
8968 * config/v850/v850.c: Likewise.
8969 * config/v850/v850.h: Likewise.
8970 * config/vax/vax.c: Likewise.
8971 * config/vax/vax.h: Likewise.
8972
8973 2002-09-18 Nick Clifton <nickc@redhat.com>
8974
8975 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
8976 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
8977 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
8978
8979 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
8980
8981 * function.c (max_parm_reg_num): Remove.
8982 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
8983 drop_through_at_end_p, move_cleanups_up,
8984 expand_end_case_dummy, case_index_expr_type): Likewise.
8985 * stor-layout.c (pos_from_byte): Likewise.
8986 * tree.c (chain_member_value, chain_member_purpose, listify,
8987 tree_int_cst_msb, index_type_equal): Likewise.
8988 * tree.h: Remove prototypes for unused functions.
8989
8990 2002-09-17 Zack Weinberg <zack@codesourcery.com>
8991
8992 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
8993 statement that the only translation is to en_UK.
8994
8995 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
8996
8997 * config/alpha/alpha.c: Follow spelling conventions.
8998 * config/alpha/alpha.h: Likewise.
8999 * config/alpha/alpha.md: Likewise.
9000 * config/arc/arc.h: Likewise.
9001 * config/arm/arm.c: Likewise.
9002 * config/arm/arm.h: Likewise.
9003 * config/arm/arm.md: Likewise.
9004 * config/arm/pe.c: Likewise.
9005 * config/arm/unknown-elf.h: Likewise.
9006 * config/avr/avr.c: Likewise.
9007 * config/avr/avr.h: Likewise.
9008 * config/c4x/c4x.c: Likewise.
9009 * config/cris/cris.c: Likewise.
9010 * config/cris/cris.h: Likewise.
9011
9012 2002-09-17 Samuel Figueroa <figueroa@apple.com>
9013
9014 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9015 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9016 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9017
9018 2002-09-17 Dale Johannesen <dalej@apple.com>
9019
9020 * cfgcleanup.c (try_forward_edges): Do not forward a
9021 branch to just after a loop exit before loop optimization;
9022 this interfered with doloop detection.
9023
9024 2002-09-17 Nick Clifton <nickc@redhat.com>
9025
9026 * config/arm/arm.c (output_return_instruction): Do not
9027 writeback the stack pointer when it is being loaded.
9028 (arm_output_epilogue): Likewise.
9029
9030 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
9031
9032 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9033 generate a pseudo reg that receives the result of a libcall.
9034 (prepare_float_lib_cmp): Likewise.
9035
9036 2002-09-17 Steve Ellcey <sje@cup.hp.com>
9037
9038 * config/ia64/elf.h: Remove CPP_PREDEFINES.
9039
9040 Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
9041
9042 Fix PR/7014 and related objc bugs:
9043 * c-typeck.c (comp_target_types): Added a reflexive argument.
9044 Pass it to ObjC when/if calling objc_comptypes(). Updated all
9045 callers to provide the appropriate reflexive argument.
9046 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9047 typechecking for all cases of comparisons and assignments,
9048 particularly the obscure and less common ones involving protocols.
9049
9050 2002-09-17 Nick Clifton <nickc@redhat.com>
9051
9052 * machmode.def (V1DImode): New mode. A single element vector.
9053 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9054 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9055 * tree.c (build_common_tree_nodes_2): Build
9056 unsigned_V1DI_type_node and V1D1_type_node.
9057 * c-common.c (c_common_type_for_mode): Return
9058 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9059 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9060
9061 Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
9062
9063 * doc/objc.texi (Constant string objects): Extended documentation
9064 to make clear that the constant string class ivar layout is
9065 completely fixed.
9066
9067 2002-09-17 Roger Sayle <roger@eyesopen.com>
9068
9069 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9070 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9071
9072 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9073
9074 * config/mips/mips.c (save_restore_insns): Remove unused variable.
9075 * gcc.c (make_relative_prefix): Likewise.
9076 * loop.c (check_final_value): Likewise.
9077 * jump.c (init_label_info): Remove return value.
9078 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9079
9080 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9081
9082 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9083 (ASM_PN_FORMAT): Define.
9084
9085 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9086
9087 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9088 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9089 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9090 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9091 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9092 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9093 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9094 Delete.
9095 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9096 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9097 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9098
9099 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9100 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9101
9102 2002-09-16 Richard Henderson <rth@redhat.com>
9103
9104 * expr.c (emit_block_move): Set memory block size as appropriate
9105 for the copy.
9106
9107 2002-09-16 Richard Henderson <rth@redhat.com>
9108
9109 PR fortran/3924
9110 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9111
9112 2002-09-16 Richard Henderson <rth@redhat.com>
9113
9114 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9115 as well as OFFSET for BITPOS.
9116
9117 2002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
9118
9119 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9120 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9121 winchip2 and c3.
9122 * doc/invoke.texi: Mention new aliases.
9123
9124 2002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
9125
9126 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9127 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9128 downward.
9129 * function.c (pad_below): Always compile.
9130 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9131 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9132 Pad below when the argument is not in a register and the padding
9133 direction is downward.
9134
9135 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9136 (PAD_VARARGS_DOWN): Define.
9137 * pa.c (function_arg_padding): Revise padding directions to make them
9138 compatible with the 32 and 64-bit runtime architecture documentation.
9139 (hppa_va_arg): Add code to handle variable and size zero arguments
9140 passed by reference on TARGET_64BIT. Reformat.
9141 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9142 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9143 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
9144 Add comments.
9145 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9146 (RETURN_IN_MEMORY): Return size zero types in memory.
9147 (FUNCTION_VALUE): Return TFmode in general registers.
9148 (MUST_PASS_IN_STACK): Define.
9149 (FUNCTION_ARG_BOUNDARY): Simplify.
9150 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9151 by reference.
9152 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9153
9154 2002-09-16 Richard Henderson <rth@redhat.com>
9155
9156 * real.c (do_fix_trunc): New.
9157 (real_arithmetic): Call it.
9158 * simplify-rtx.c (simplify_unary_operation): Handle FIX
9159 with a floating-point result mode.
9160
9161 2002-09-16 Richard Henderson <rth@redhat.com>
9162
9163 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9164 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9165 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9166 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9167 * builtins.c (fold_builtin_nan): New.
9168 (fold_builtin): Call it.
9169 * real.c (real_nan): Parse a non-empty string.
9170 (round_for_format): Fix NaN significand truncation.
9171 * real.h (real_nan): Return bool.
9172 * doc/extend.texi: Document new builtins.
9173
9174 2002-09-16 Jason Merrill <jason@redhat.com>
9175 Danny Smith <dannysmith@users.sourceforge.net>
9176
9177 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9178 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9179 (i386_pe_mark_dllimport): Not here.
9180
9181 2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
9182
9183 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9184
9185 2002-09-16 Geoffrey Keating <geoffk@redhat.com>
9186
9187 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9188 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9189 < 64.
9190 (rs6000_emit_cmove): Use real_isinf not target_isinf.
9191
9192 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
9193
9194 * calls.c (emit_library_call_value_1): Don't refer to
9195 hard_libcall_value.
9196 * optabs.c (prepare_float_lib_cmp): Likewise.
9197
9198 2002-09-16 Geoffrey Keating <geoffk@apple.com>
9199
9200 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9201 mangling.
9202
9203 The following changes are merged from pch-branch:
9204
9205 * doc/gty.texi (GTY Options): Document %a.
9206 * gengtype.c (do_scalar_typedef): New function.
9207 (process_gc_options): Handle `length' option.
9208 (set_gc_used_type): A pointer to an array of structures doesn't
9209 qualify as a pointer to a structure.
9210 (output_escaped_param): Add `%a' escape.
9211 (write_gc_structure_fields): Allow 'desc' on array of unions.
9212 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9213 do_scalar_typedef.
9214
9215 * gengtype.c (enum rtx_code): Make global.
9216 (rtx_format): Make global.
9217 (rtx_next): New.
9218 (gen_rtx_next): New.
9219 (write_rtx_next): New.
9220 (adjust_field_rtx_def): Skip fields marked by chain_next.
9221 (open_base_files): Delete redundant prototype.
9222 (write_enum_defn): New.
9223 (output_mangled_typename): Correct abort call.
9224 (write_gc_marker_routine_for_structure): Handle chain_next and
9225 chain_prev options.
9226 (finish_root_table): Don't output redundant \n.
9227 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9228 * c-tree.h (union lang_tree_node): Add chain_next option.
9229
9230 * gengtype.h (NUM_PARAM): New definition.
9231 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9232 * gengtype.c (find_param_structure): New.
9233 (adjust_field_type): Handle param<n>_is option.
9234 (process_gc_options): Detect use_params option. Update callers.
9235 (set_gc_used_type): Add 'param' parameter, update callers. Handle
9236 'use_params' option.
9237 (open_base_files): Add splay-tree.h to list of files included.
9238 (output_mangled_typename): New.
9239 (write_gc_structure_fields): Update 'param' parameter to support
9240 multiple parameters. Change name mangling. Allow parameterized
9241 fields to have an apparent scalar type. Handle param<n>_is options,
9242 use_param option.
9243 (write_gc_marker_routine_for_structure): Update for change to name
9244 mangling. Better guess the output file for parameterized types.
9245 (write_gc_types): Update for change to name mangling.
9246 (write_gc_root): Update for change to name mangling. Handle (ignore)
9247 param<n>_is options.
9248 * doc/gty.texi (GTY Options): Add description of param<n>_is
9249 options, use_params option.
9250 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9251 * gengtype-lex.l: Produce token for param<n>_is.
9252 * gengtype-yacc.y: Parse param<n>_is.
9253
9254 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9255
9256 * rtl.c: Update comment describing rtx_format.
9257 * rtl.h (union rtunion): Separate definition and typedef.
9258 (struct rtx_def): Use gengtype to mark.
9259 * Makefile.in (gengtype.o): Also depend on rtl.def.
9260 * ggc.h (ggc_mark_rtx_children): Delete prototype.
9261 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9262 * ggc-common.c (ggc_mark_rtx_children): Delete.
9263 (ggc_mark_rtx_children_1): Delete.
9264 (gt_ggc_m_rtx_def): Delete.
9265 * gengtype.c (adjust_field_rtx_def): New.
9266 (adjust_field_type): Call adjust_field_rtx_def.
9267 (write_gc_structure_fields): Add 'default' case to switch if none
9268 is specified; remove unused code.
9269
9270 * tree.h (struct tree_exp): Update for change to meaning
9271 of special.
9272 * gengtype.c (adjust_field_tree_exp): New function.
9273 (adjust_field_type): Handle `tree_exp' special here.
9274 (write_gc_structure_fields): Don't handle `tree_exp' special here.
9275 Handle new `dot' option.
9276
9277 * gengtype.h: Make `info' a pointer-to-const.
9278 * gengtype-yacc.y (yacc_ids): Use xasprintf.
9279
9280 * gengtype.c (write_gc_structure_fields): Remove implementation
9281 of `always' option, add `default' option.
9282 * doc/gty.texi (GTY Options): Remove documentation of `always',
9283 add `default'.
9284
9285 2002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
9286
9287 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9288
9289 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9290
9291 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9292
9293 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9294 instead of the *-protos.h file directly.
9295 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9296 * darwin.c (machopic_output_stub): Move prototype ...
9297 * darwin-protos.h (machopic_output_stub): ... here.
9298 * rs6000-protos.h (machopic_output_stub): Don't declare.
9299
9300 2002-09-16 Richard Henderson <rth@redhat.com>
9301
9302 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9303
9304 2002-09-16 Richard Henderson <rth@redhat.com>
9305
9306 * real.c, real.h: Rewrite from scratch.
9307
9308 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9309 (paranoia): New target.
9310 * builtins.c (fold_builtin_inf): Use new real.h interface.
9311 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9312 * c-lex.c (interpret_float): Likewise.
9313 * emit-rtl.c (gen_lowpart_common): Likewise.
9314 * optabs.c (expand_float): Use real_2expN.
9315 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9316 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9317 (FLOAT_WORDS_BIG_ENDIAN): New.
9318 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9319 directly to REAL_VALUE_NEGATIVE.
9320 * loop.c (canonicalize_condition): Likewise.
9321 * simplify-rtx.c: Include tree.h.
9322 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9323 with floating-point result modes.
9324 * toplev.c (backend_init): Call init_real_once.
9325
9326 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9327 * tree.c (build_real): Likewise.
9328 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9329 float_values, inited_float_values, check_float_value): Remove.
9330 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9331 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9332 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9333 (VAX_HALFWORD_ORDER): Remove.
9334
9335 2002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
9336
9337 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9338 (s390_load_address): ... this new function.
9339 (s390_decompose_address): Allow the argument pointer and all
9340 virtual registers as 'pointer' registers.
9341 (s390_expand_plus_operand): Use s390_load_address.
9342 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9343 ("force_la_31"): New insn pattern.
9344 config/s390/s390-protos.h (legitimize_la_operand): Remove.
9345 (s390_load_address): Add prototype.
9346
9347 * config/s390/s390.c: Include "optabs.h".
9348 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9349 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9350 s390_expand_cmpstr): Add prototypes.
9351 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9352 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
9353 for operands 0 and 1 to "memory_operand". Add type attribute.
9354 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
9355 for operands 0 and 1 to "memory_operand". Add type attribute.
9356 ("movstrdi_long", "movstrsi_long"): Remove.
9357 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9358 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9359 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9360 ("clrstrsico"): Remove, replace by ...
9361 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9362 ("clrstrsi_64"): Rename to "clrstr_long_64".
9363 ("clrstrsi_31"): Rename to "clrstr_long_31".
9364 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9365 ("cmpstr_const"): Remove, replace by ...
9366 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9367 ("cmpstr_64"): Rename to "cmpstr_long_64".
9368 ("cmpstr_31"): Rename to "cmpstr_long_31".
9369
9370 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
9371
9372 * ABOUT-NLS: Follow spelling conventions.
9373 * ChangeLog: Likewise.
9374 * ChangeLog.1: Likewise.
9375 * ChangeLog.2: Likewise.
9376 * ChangeLog.3: Likewise.
9377 * ChangeLog.4: Likewise.
9378 * ChangeLog.5: Likewise.
9379 * ChangeLog.6: Likewise.
9380 * FSFChangeLog.10: Likewise.
9381 * FSFChangeLog.11: Likewise.
9382 * c-common.c: Likewise.
9383 * c-lex.c: Likewise.
9384 * c-objc-common.c: Likewise.
9385 * cppexp.c: Likewise.
9386 * cppinit.c: Likewise.
9387 * cpplex.c: Likewise.
9388 * doloop.c: Likewise.
9389 * flow.c: Likewise.
9390 * function.c: Likewise.
9391 * integrate.c: Likewise.
9392 * loop.c: Likewise.
9393 * reg-stack.c: Likewise.
9394 * reload.h: Likewise.
9395 * ssa.c: Likewise.
9396
9397 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9398
9399 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9400 * vmsdbgout.c: Include "target.h".
9401
9402 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
9403
9404 * ChangeLog: Follow spelling conventions.
9405 * ChangeLog.0: Likewise.
9406 * ChangeLog.1: Likewise.
9407 * ChangeLog.2: Likewise.
9408 * ChangeLog.4: Likewise.
9409 * ChangeLog.6: Likewise.
9410 * config.gcc: Likewise.
9411 * dwarfout.c: Likewise.
9412 * reload1.c: Likewise.
9413 * simplify-rtx.c: Likewise.
9414 * unwind-sjlj.c: Likewise.
9415 * config/avr/avr.h: Likewise.
9416 * config/d30v/d30v.h: Likewise.
9417 * config/frv/frv.c: Likewise.
9418 * config/frv/frv.h: Likewise.
9419 * config/ip2k/ip2k.h: Likewise.
9420 * config/m88k/m88k-move.sh: Likewise.
9421 * config/stormy16/stormy16.c: Likewise.
9422 * config/stormy16/stormy16.h: Likewise.
9423 * doc/extend.texi: Likewise.
9424 * doc/interface.texi: Likewise.
9425 * doc/invoke.texi: Likewise.
9426 * doc/md.texi: Likewise.
9427 * doc/rtl.texi: Likewise.
9428 * doc/tm.texi: Likewise.
9429 * doc/trouble.texi: Likewise.
9430 * ginclude/float.h: Likewise.
9431 * treelang/treelang.texi: Likewise.
9432
9433 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9434
9435 * i386-protos.h (i386_pe_dllexport_name_p,
9436 i386_pe_dllimport_name_p, i386_pe_unique_section,
9437 i386_pe_declare_function_type, i386_pe_record_external_function,
9438 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9439 prototype.
9440 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9441 * i386/t-interix (winnt.o): Likewise.
9442
9443 * v850-protos.h (v850_output_addr_const_extra): Prototype.
9444
9445 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
9446
9447 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9448 MIPS ABI CPP macros.
9449 (TARGET_CPU_CPP_BUILTINS): Redefine.
9450 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9451 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9452
9453 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9454
9455 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9456
9457 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
9458
9459 * ChangeLog: Follow spelling conventions.
9460 * ChangeLog.0: Likewise.
9461 * ChangeLog.1: Likewise.
9462 * ChangeLog.2: Likewise.
9463 * ChangeLog.3: Likewise.
9464 * ChangeLog.4: Likewise.
9465 * ChangeLog.5: Likewise.
9466 * ChangeLog.6: Likewise.
9467 * FSFChangeLog.10: Likewise.
9468 * FSFChangeLog.11: Likewise.
9469 * c-common.c: Likewise.
9470 * c-common.h: Likewise.
9471 * c-format.c: Likewise.
9472 * c-opts.c: Likewise.
9473 * cpplib.c: Likewise.
9474 * langhooks.h: Likewise.
9475 * real.c: Likewise.
9476 * reg-stack.c: Likewise.
9477 * toplev.c: Likewise.
9478 * config/arm/arm.c: Likewise.
9479 * config/arm/arm.md: Likewise.
9480 * config/arm/linux-gas.h: Likewise.
9481 * config/arm/netbsd.h: Likewise.
9482 * config/c4x/c4x.c: Likewise.
9483 * config/c4x/c4x.h: Likewise.
9484 * config/c4x/c4x.md: Likewise.
9485 * config/c4x/libgcc.S: Likewise.
9486 * config/fr30/fr30.md: Likewise.
9487 * config/frv/frv.md: Likewise.
9488 * config/ia64/ia64.md: Likewise.
9489 * config/mips/mips.h: Likewise.
9490 * config/mn10300/mn10300.c: Likewise.
9491 * config/stormy16/stormy16.c: Likewise.
9492 * config/v850/v850.md: Likewise.
9493 * doc/extend.texi: Likewise.
9494 * doc/invoke.texi: Likewise.
9495 * doc/md.texi: Likewise.
9496
9497 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
9498
9499 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9500 library if -pthread is specified.
9501
9502 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
9503
9504 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9505 for --enable-threads=yes and --enable-threads=posix.
9506
9507 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
9508
9509 * config/sparc/cypress.md: Replace Sparc with SPARC.
9510 * config/sparc/freebsd.h: Likewise.
9511 * config/sparc/gmon-sol2.c: Likewise.
9512 * config/sparc/hypersparc.md: Likewise.
9513 * config/sparc/lb1spc.asm: Likewise.
9514 * config/sparc/lb1spl.asm: Likewise.
9515 * config/sparc/linux.h: Likewise.
9516 * config/sparc/linux64.h: Likewise.
9517 * config/sparc/lynx.h: Likewise.
9518 * config/sparc/sol2.h: Likewise.
9519 * config/sparc/sparc-modes.def: Likewise.
9520 * config/sparc/sparc.c: Likewise.
9521 * config/sparc/sparc.h: Likewise.
9522 * config/sparc/sparc.md: Likewise.
9523 * config/sparc/sparclet.md: Likewise.
9524 * config/sparc/supersparc.md: Likewise.
9525 * config/sparc/sysv4.h: Likewise.
9526 * config/sparc/vxsim.h: Likewise.
9527 * config/sparc/vxsparc64.h: Likewise.
9528
9529 2002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9530
9531 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9532 * collect2.c (ignore_library, aix_std_libs): Move into the context
9533 where it is used.
9534 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9535 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9536 * m88k.c (output_call): Wrap variables with macro controlling use.
9537 * rs6000.md: Likewise. Const-ify variable.
9538 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9539 * final.c (only_leaf_regs_used): Likewise.
9540 * regrename.c (maybe_mode_change): Mark parameter with
9541 ATTRIBUTE_UNUSED.
9542 * reload.c (find_valid_class): Likewise. Likewise for variable.
9543 (find_reloads_address_1): Likewise.
9544 * varasm.c (weak_finish): Wrap variable with macro controlling use.
9545
9546 2002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
9547
9548 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9549
9550 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
9551
9552 * ChangeLog: Follow spelling conventions.
9553 * ChangeLog.0: Likewise.
9554 * ChangeLog.2: Likewise.
9555 * ChangeLog.3: Likewise.
9556 * ChangeLog.4: Likewise.
9557 * ChangeLog.5: Likewise.
9558 * ChangeLog.6: Likewise.
9559 * cppfiles.c: Likewise.
9560 * cppinit.c: Likewise.
9561 * cpplib.h: Likewise.
9562 * cse.c: Likewise.
9563 * debug.h: Likewise.
9564 * df.c: Likewise.
9565 * dominance.c: Likewise.
9566 * hashtable.c: Likewise.
9567 * hashtable.h: Likewise.
9568 * loop.c: Likewise.
9569 * config/arm/README-interworking: Likewise.
9570 * config/arm/arm.c: Likewise.
9571 * config/arm/arm.h: Likewise.
9572 * config/arm/arm.md: Likewise.
9573 * config/dsp16xx/dsp16xx.h: Likewise.
9574 * config/frv/frv.c: Likewise.
9575 * config/frv/frv.h: Likewise.
9576 * config/ip2k/ip2k.h: Likewise.
9577 * config/rs6000/rs6000.c: Likewise.
9578 * config/stormy16/stormy-abi: Likewise.
9579 * config/stormy16/stormy16.h: Likewise.
9580 * config/v850/v850.c: Likewise.
9581
9582 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
9583
9584 * loop.c: Fix a comment typo.
9585
9586 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
9587
9588 * config/fr30/fr30.h: Fix comment typos.
9589 * config/frv/frv.c: Likewise.
9590 * config/i386/xmmintrin.h: Likewise.
9591 * config/mips/mips.c: Likewise.
9592 * config/sh/sh.c: Likewise.
9593
9594 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
9595
9596 * haifa-sched.c: Follow spelling conventions.
9597 * regclass.c: Likewise.
9598 * regrename.c: Likewise.
9599 * config/fp-bit.c: Likewise.
9600 * config/frv/frv.h: Likewise.
9601 * config/m88k/m88k.c: Likewise.
9602 * config/mcore/mcore.c: Likewise.
9603 * config/rs6000/darwin.h: Likewise.
9604 * config/rs6000/gnu.h: Likewise.
9605 * config/rs6000/linux.h: Likewise.
9606 * config/rs6000/linux64.h: Likewise.
9607 * config/rs6000/rs6000.c: Likewise.
9608 * config/rs6000/rs6000.h: Likewise.
9609 * config/sh/sh.c: Likewise.
9610 * config/sparc/sparc.c: Likewise.
9611 * config/sparc/ultra1_2.md: Likewise.
9612
9613 2002-09-14 Stephane Carrez <stcarrez@nerim.fr>
9614
9615 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
9616 memory operand when source is 0 (K constraint).
9617 ("movsi_internal"): Likewise.
9618 ("movdf_internal"): Likewise.
9619 ("movsf_internal"): Likewise.
9620
9621 2002-09-14 Alan Modra <amodra@bigpond.net.au>
9622
9623 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
9624 targetm.binds_local_p to set SYMBOL_REF_FLAG.
9625 (rs6000_xcoff_encode_section_info): Likewise.
9626 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9627
9628 2002-09-10 Theodore A. Roth <troth@verinet.com>
9629
9630 * gcc/config/avr/avr.h: Set default options for C++ for avr.
9631
9632 2002-09-13 Roger Sayle <roger@eyesopen.com>
9633
9634 * stmt.c (struct nexting): Remove unused alt_end_label field.
9635 (expand_start_loop): Delete initialization of alt_end_label.
9636 (expand_start_null_loop): Likewise.
9637 (expand_exit_loop_if_false): Delete updating of alt_end_label.
9638
9639 2002-09-13 Richard Henderson <rth@redhat.com>
9640
9641 * Makefile.in (toplev.o): Depend on real.h.
9642 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
9643
9644 2002-09-14 Alan Modra <amodra@bigpond.net.au>
9645
9646 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
9647 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
9648 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
9649
9650 2002-09-13 Nathan Sidwell <nathan@codesourcery.com>
9651
9652 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
9653
9654 2002-09-13 Steve Ellcey <sje@cup.hp.com>
9655
9656 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
9657 ia64*-*-linux*): Set extra_parts.
9658 * config/ia64/t-aix (EXTRA_PARTS): Remove.
9659 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
9660
9661 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
9662
9663 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
9664 * config/h8300/h8300.c: Likewise.
9665 * config/h8300/h8300.h: Likewise.
9666 * config/h8300/h8300.md: Likewise.
9667 * doc/invoke.texi: Likewise.
9668
9669 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
9670
9671 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
9672
9673 2002-09-13 Richard Henderson <rth@redhat.com>
9674
9675 * config/alpha/alpha.md (attr type): Add callpal.
9676 (imb, trap, load_tp, set_tp): Use it.
9677 * config/alpha/ev4.md (ev4_callpal): New.
9678 * config/alpha/ev5.md (ev5_callpal): New.
9679 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
9680 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
9681 (alphaev5_insn_pipe): Likewise.
9682
9683 2002-09-13 Andreas Jaeger <aj@suse.de>
9684
9685 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
9686
9687 2002-09-13 Steve Ellcey <sje@cup.hp.com>
9688
9689 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
9690 LIB2ADDEH): New, set to NULL.
9691 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
9692
9693 2002-09-13 Steve Ellcey <sje@cup.hp.com>
9694
9695 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
9696 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
9697 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
9698 Add declarations.
9699 (_U_Qfneg): Remove.
9700
9701 2002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
9702
9703 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
9704 for H8/300, H8S aa:8 mode.
9705 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
9706 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
9707 for H8/300 aa:8 mode.
9708
9709 2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
9710
9711 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
9712 insns.
9713
9714 2002-09-12 Richard Henderson <rth@redhat.com>
9715
9716 * Makefile.in (HOST_PRINT): Use print-rtl1.o
9717 (print-rtl.o): Don't define GENERATOR_FILE.
9718 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
9719 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
9720 unless GENERATOR_FILE.
9721
9722 2002-09-12 Stan Shebs <shebs@apple.com>
9723
9724 * config/darwin.h (USER_LABEL_PREFIX): Define here...
9725 * config/i386/darwin.h: ... instead of here.
9726
9727 * target.h (struct gcc_target): New field
9728 terminate_dw2_eh_frame_info.
9729 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
9730 (TARGET_INITIALIZER): Add it.
9731 * dwarf2out.c (output_call_frame_info): Use target hook.
9732 * dwarf2asm.c (dw2_asm_output_delta): Use macro
9733 ASM_OUTPUT_DWARF_DELTA if defined.
9734 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
9735 (ASM_OUTPUT_DWARF_DELTA): Ditto.
9736 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
9737 (ASM_OUTPUT_DWARF_PCREL): Ditto.
9738 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
9739 (powerpc-*-darwin*): Ditto.
9740 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
9741 to work correctly for Darwin.
9742 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
9743 (STARTFILE_SPEC): Add crtbegin.o.
9744 (ENDFILE_SPEC): Define.
9745 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
9746 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
9747 (ASM_OUTPUT_DWARF_DELTA): Define.
9748 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
9749 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
9750
9751 2002-09-13 Alan Modra <amodra@bigpond.net.au>
9752
9753 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
9754 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
9755 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
9756
9757 2002-09-12 Zack Weinberg <zack@codesourcery.com>
9758
9759 * toplev.c: Move default definition of USER_LABEL_PREFIX...
9760 * defaults.h: ... here.
9761
9762 2002-09-12 Richard Henderson <rth@redhat.com>
9763
9764 * vax.c: Include tree.h earlier.
9765
9766 2002-09-12 Stan Shebs <shebs@apple.com>
9767
9768 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
9769 (machopic_operand_p): Ditto.
9770
9771 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
9772
9773 * config/arm/arm.c (arm_compute_initial_elimination_offset):
9774 Fix a comment typo.
9775
9776 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
9777
9778 * toplev.c (do_abort): Fix a comment typo.
9779
9780 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
9781
9782 * cselib.c: Fix comment formatting.
9783 * gengtype.c: Likewise.
9784
9785 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
9786
9787 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
9788 (udivmodhi4): Likewise.
9789
9790 2002-09-12 Graham Stott <graham.stott@btinternet.com>
9791 Roger Sayle <roger@eyesopen.com>
9792
9793 * i386.c (any_fp_register_operand, fp_register_operand,
9794 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
9795 New predicate functions.
9796 * i386-protos.h: Add their prototypes.
9797 * i386.h: Add them to PREDICATE_CODES.
9798 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
9799 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
9800 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
9801 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
9802 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
9803 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
9804 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
9805 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
9806 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
9807 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
9808 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
9809 Use these new predicates to simplify and correct the use of
9810 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
9811
9812 2002-09-12 Jason Merrill <jason@redhat.com>
9813
9814 * diagnostic.c (output_add_identifier): New fn.
9815 * diagnostic.h: Declare it.
9816
9817 * calls.c (store_one_arg): Use size_in_bytes to determine the
9818 amount of space to push.
9819
9820 2002-09-12 Jakub Jelinek <jakub@redhat.com>
9821
9822 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
9823
9824 2002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
9825
9826 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
9827 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
9828 (s390_select_ccmode): Likewise.
9829 (s390_branch_condition_mask): Likewise.
9830 (optimization_options): Do not set flag_branch_on_count.
9831 (s390_split_branches): Handle doloop branches.
9832 (s390_chunkify_pool): Likewise.
9833 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
9834 ("doloop_end"): New expander.
9835 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
9836 associated splitters): New.
9837
9838 2002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9839
9840 * genattrtab.c (simplify_cond): Remove unused variable(s).
9841 * global.c (record_conflicts): Likewise.
9842 * jump.c (rebuild_jump_labels): Likewise.
9843 * loop.c (scan_loop, check_final_value): Likewise.
9844 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
9845 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
9846 * rtlanal.c (reg_set_p): Likewise.
9847 * stmt.c (expand_asm_operands, expand_decl): Likewise.
9848 * genautomata.c (empty_reserv): Remove.
9849 * loop.c (max_luid): Likewise.
9850 * sched-rgn.c (bitlst_table_size): Likewise.
9851
9852 2002-09-11 Nathan Sidwell <nathan@codesourcery.com>
9853
9854 Reimplement gcov format.
9855 * gcov-io.h: Replace.
9856 * gcov.c: Reimplement.
9857 * gcov-iov.c: New file.
9858 * gcov-dump.c: New file.
9859 * libgcc2.c (L_bb): Replace with ...
9860 (L_gcov): ... this.
9861 (struct bb_function_info, struct bb): Remove.
9862 (inhibit_libc): Never inhibit.
9863 (gcov_list, gcov_crc): New static variables.
9864 (gcov_version_mismatch): New static function.
9865 (__bb_exit_func): Renamed to ...
9866 (__gcov_exit): ... here. Made static. Reimplement.
9867 (__gcov_init_func): Rename to ...
9868 (__gcov_init): ... here. Check version, update crc.
9869 (__bb_fork_func): Rename to ...
9870 (__gcov_flush): ... here.
9871 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
9872 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
9873 * calls.c (expand_call): Call __gcov_flush.
9874 * profile.c (bb_file, last_bb_file_name): Remove.
9875 (bbg_file_name): New global variable.
9876 (output_gcov_string): Remove.
9877 (get_exec_counts): Reimplement.
9878 (branch_prob): Reimplement gcov file writing.
9879 (init_branch_prob): Create bbg_file_name, don't create
9880 bb_file_name.
9881 (end_branch_prob): Adjust. Don't remove counter file when
9882 instrumenting ourselves.
9883 (create_profiler): Adjust.
9884 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
9885 point to gcov-io.h.
9886 * Makefile.in (LANGUAGES): Add gcov-dump.
9887 (coverageexts): Remove .bb.
9888 (STAGESTUFF): Add gcov-dump.
9889 (LIB2FUNCS_ST): Replace _bb with _gcov.
9890 (profile.o): Depend on gcov-iov.h.
9891 (final.o): Don't depend on profile.h, gcov.h.
9892 (gcov.o): Depend on gcov-iov.h.
9893 (gcov-iov.o): New target.
9894 (gcov-iov): New target.
9895 (gcov-iov.h): New target.
9896 (gcov-dump.o): New target.
9897 (GCOV_DUMP_OBJS): New variable.
9898 (gcov-dump): New target.
9899 (distclean): Remove coverageexts.
9900 (stage1): Remove coverageexts.
9901
9902 2002-09-11 Hartmut Penner <hpenner@de.ibm.com>
9903
9904 * fold-const.c (make_range): Only narrow to signed range if
9905 the signed range is smaller than the unsigned range.
9906
9907 2002-09-12 Alan Modra <amodra@bigpond.net.au>
9908
9909 * emit-rtl.c (set_mem_size): New function.
9910 * expr.h (set_mem_size): Declare.
9911 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
9912 (expand_block_move): Instead, use adjust_address and
9913 replace_equiv_address to generate proper aliasing info.
9914 Move common code out of conditionals. Localize vars.
9915
9916 2002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
9917
9918 * optabs.c (expand_binop): Minor cleanup.
9919 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
9920
9921 2002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
9922
9923 * print-tree.c (print_node): Print the restrict qualifier.
9924
9925 2002-09-11 Janis Johnson <janis187@us.ibm.com>
9926
9927 * doc/install.texi: Fix typos.
9928
9929 2002-09-11 Zack Weinberg <zack@codesourcery.com>
9930
9931 * Makefile.in: Remove all references to s-under and underscore.c.
9932 * collect2.c, tlink.c: Change all uses of prepends_underscore
9933 to look directly at USER_LABEL_PREFIX.
9934
9935 2002-09-11 David Edelsohn <edelsohn@gnu.org>
9936
9937 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
9938 alignment to csect.
9939 (rs6000_xcoff_unique_section): Only set section name for public
9940 data.
9941 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
9942 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
9943 duplicate definition.
9944
9945 2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
9946
9947 * pa.md (extzv): Check predicates before emitting extzv_32.
9948 (insv): Likewise.
9949
9950 2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
9951
9952 * config/s390/s390.h (MOVE_MAX): Define to correct value.
9953 (MAX_MOVE_MAX): Define.
9954 (MOVE_BY_PIECES_P): Define.
9955 (CLEAR_BY_PIECES_P): Define.
9956
9957 2002-09-10 Denis Chertykov <denisc@overta.ru>
9958
9959 * config/avr/avr.md (movstrhi): Use right operands for conversion.
9960
9961 2002-09-10 Richard Earnshaw <rearnsha@arm.com>
9962
9963 PR c/7873
9964 * arm.md (insv): Use reg_or_int_operand for operand[3].
9965
9966 2002-09-10 David Edelsohn <edelsohn@gnu.org>
9967
9968 * rs6000.c (rs6000_assemble_visibility): Protect declaration
9969 inside macro. Correct function definition typo.
9970 (rs6000_xcoff_section_type_flags): New function.
9971 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
9972 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
9973 with appropriate PIC test.
9974 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
9975 determine readonly.
9976 (rs6000_binds_local_p): Combine PIC flags.
9977 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
9978 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
9979
9980 2002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9981
9982 * h8300.md: Fix signed/unsigned warnings.
9983 * mcore.md: Likewise.
9984 * mn10300.c (mask_ok_for_mem_btst): Likewise.
9985
9986 2002-09-09 Per Bothner <per@bothner.com>
9987
9988 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
9989 characters, and only print TREE_STRING_LENGTH chars.
9990
9991 2002-09-09 Steve Ellcey <sje@cup.hp.com>
9992
9993 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
9994 (ASM_FILE_END) New.
9995 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
9996 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
9997 * config/ia64/ia64.c (ia64_asm_output_external): Create list
9998 of external functions if TARGET_HPUX_LD is true.
9999 (ia64_hpux_add_extern_decl): New, routine to put names on
10000 list of external functions.
10001 (ia64_hpux_asm_file_end): Put out declarations for external
10002 functions if and only if they are used.
10003
10004 2002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10005
10006 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10007 on TARGET_64BIT before pic register restore.
10008
10009 2002-09-09 David Edelsohn <edelsohn@gnu.org>
10010
10011 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10012 (TARGET_HAVE_TLS): New description.
10013
10014 2002-09-09 Janis Johnson <janis187@us.ibm.com>
10015
10016 * doc/extend.texi (Statement Exprs): Fix broken link.
10017
10018 2002-09-09 Denis Chertykov <denisc@overta.ru>
10019
10020 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10021 right conversion of operands[1].
10022
10023 2002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
10024
10025 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10026 commutative. Use "nonimmediate_operand" instead of "register_operand"
10027 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
10028
10029 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10030 as commutative.
10031
10032 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10033 mark as commutative. Use "nonimmediate_operand" instead of
10034 "register_operand" as predicate for operand 1.
10035
10036 ("movstrictsi"): Fix typo in insn name.
10037
10038 2002-09-09 Jan Hubicka <jh@suse.cz>
10039
10040 * i386.c (index_register_operand): New.
10041 * i386.h (predicate_codes): Add new predicate.
10042 * i386.md (lea_general_*): Use index_register_operand
10043 (ashift to lea splitter): Do not produce invalid leas
10044 (ashift to mov+ashift split): New.
10045
10046 2002-09-09 Nick Clifton <nickc@redhat.com>
10047
10048 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10049 Fix folding marks.
10050
10051 2002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
10052 J"orn Rennecke <joern.rennecke@superh.com>
10053
10054 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10055
10056 2002-09-09 Alan Modra <amodra@bigpond.net.au>
10057
10058 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10059 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
10060 attributes.
10061
10062 2002-09-08 Nathan Sidwell <nathan@codesourcery.com>
10063
10064 * basic_block.h (gcov_type): Explain why it is signed.
10065 * final.c: Don't include profile.h.
10066 (struct function_list, functions_head, functions_tail,
10067 end_final): Moved to profile.c
10068 (final): Move arc chaining code to profile.c.
10069 * function.c (prepare_function_start): Remove duplicate line.
10070 * output.h (end_final): Remove prototype.
10071 * predict.c (estimate_loops_at_level): Use gcov_type.
10072 * profile.c (struct function_list, functions_head,
10073 functions_tail): Moved from final.c
10074 (need_func_profiler): Remove.
10075 (instrument_edges): Don't set need_func_profiler.
10076 (get_exec_counts): Avoid signed/unsigned warning.
10077 (compute_checksum): Use crc32.
10078 (branch_prob): Adjust. Chain onto functions_head.
10079 (init_branch_prob): Absorb init_edge_profiler.
10080 (init_edge_profiler): Remove.
10081 (create_profiler): Moved and renamed from final.c:end_final.
10082 Emit data and constructor.
10083 (output_func_start_profiler): Remove.
10084 * profile.h (struct profile_info): checksum is unsigned.
10085 * rtl.h (output_func_start_profiler): Remove prototype.
10086 (create_profiler): Declare.
10087 * toplev.c (compile_file): Call create_profiler, if instrumenting
10088 arcs. Don't call end_final.
10089
10090 2002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10091
10092 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10093
10094 2002-09-08 Richard Henderson <rth@redhat.com>
10095
10096 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10097 (DW_OP_GNU_push_tls_address): New.
10098 (DW_OP_lo_user): Fix.
10099 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10100 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10101 (size_of_loc_descr): Likewise.
10102 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10103 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10104 (loc_descriptor_from_tree): Handle TLS variables.
10105 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10106 (add_location_or_const_value_attribute): ... not here. Defer
10107 to loc_descriptor_from_tree for TLS variables.
10108
10109 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10110 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10111 * config/i386/i386-protos.h: Update.
10112
10113 2002-09-08 Roger Sayle <roger@eyesopen.com>
10114
10115 PR optimization/6405
10116 * unroll.c (loop_iterations): last_loop_insn should be the previous
10117 non-note instruction before loop->end.
10118 * loop.c (strength_reduce): The conditional jump is the last
10119 non-note instruction before loop->end (as above).
10120
10121 2002-09-08 Roger Sayle <roger@eyesopen.com>
10122
10123 * combine.c (try_combine): Handle the case that undobuf.other_insn
10124 has been turned into a return or unconditional jump, by inserting
10125 a BARRIER if necessary.
10126 (simplify_set): Test if a condition code setter has a constant
10127 comparison at compile time, if so convert this insn to a no-op move
10128 and update/simplify the condition code user (undobuf.other_insn).
10129
10130 2002-09-08 Krister Walfridsson <cato@df.lth.se>
10131
10132 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10133 (CLEAR_INSN_CACHE): Define.
10134
10135 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
10136
10137 * basic-block.h: Fix comment formatting.
10138 * c-common.c: Likewise.
10139 * c-common.h: Likewise.
10140 * c-lex.c: Likewise.
10141 * c-pretty-print.c: Likewise.
10142 * cfglayout.c: Likewise.
10143 * cfgloop.c: Likewise.
10144 * defaults.h: Likewise.
10145 * et-forest.c: Likewise.
10146 * explow.c: Likewise.
10147 * function.h: Likewise.
10148 * gcov.c: Likewise.
10149 * genattrtab.c: Likewise.
10150 * gengtype.c: Likewise.
10151 * ifcvt.c: Likewise.
10152 * libgcc2.c: Likewise.
10153 * loop.c: Likewise.
10154 * profile.c: Likewise.
10155 * ra-build.c: Likewise.
10156 * real.c: Likewise.
10157 * rtl.h: Likewise.
10158 * tracer.c: Likewise.
10159 * tree-inline.c: Likewise.
10160 * varasm.c: Likewise.
10161
10162 2002-09-08 Jan Hubicka <jh@suse.cz>
10163
10164 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10165 handling.
10166
10167 * loop.c (loop_givs_reduce): Emit addition after.
10168
10169 2002-09-08 Alan Modra <amodra@bigpond.net.au>
10170
10171 * varasm.c (default_assemble_visibility): Rename from
10172 assemble_visibility.
10173 * output.h: Here too.
10174 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10175 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10176
10177 2002-09-08 Alan Modra <amodra@bigpond.net.au>
10178
10179 * reload.c (find_reloads <p constraint>): Pass operand_mode to
10180 find_reloads_address.
10181
10182 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
10183
10184 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10185 (anonymous pattern): Likewise.
10186
10187 2002-09-07 Igor Shevlyakov <igor@microunity.com>
10188
10189 * machmode.def: Add modes for half-float vectors.
10190
10191 2002-09-07 Scott Snyder <snyder@fnal.gov>
10192
10193 PR target/7374
10194 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10195
10196 2002-09-07 Roger Sayle <roger@eyesopen.com>
10197
10198 * basic-block.h (struct loop): Remove unused cont_dominator field.
10199
10200 2002-09-07 Igor Shevlyakov <igor@microunity.com>
10201
10202 * varasm.c (decode_rtx_const): Don't check undefined field for
10203 CONST_VECTOR.
10204
10205 2002-09-07 Glen Nakamura <glen@imodulo.com>
10206
10207 PR opt/7814
10208 * sched-deps.c (sched_analyze_insn): Make sure to add insn
10209 to reg_last->sets after flushing the dependency lists to guarantee
10210 that subsequent clobbers will be dependent on it.
10211
10212 2002-09-07 Igor Shevlyakov <igor@microunity.com>
10213
10214 * combine.c (simplify_shift_const): Calculate rotate count
10215 correctly for vector operands.
10216
10217 2002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
10218
10219 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10220 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10221 tree_expr_nonnegative_p.
10222 (build_conditional_expr): Likewise.
10223 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10224
10225 2002-09-07 Richard Henderson <rth@redhat.com>
10226
10227 * builtins.def (inf, inff, infl): Mark const.
10228 (huge_val, huge_valf, huge_vall): Likewise.
10229 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10230
10231 * real.c (ereal_inf): Clear E before use.
10232
10233 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
10234
10235 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10236 an expander and an anonymous pattern. Zero out the upper half
10237 of the dividend in the expander.
10238 (udivmodqi4): Likewise.
10239
10240 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
10241
10242 * config/h8300/h8300.c: Fix formatting.
10243 * config/h8300/h8300.h: Likewise.
10244 * config/h8300/h8300.md: Likewise.
10245
10246 2002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10247
10248 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10249 information.
10250
10251 2002-09-07 Graham Stott <graham.stott@btinternet.com>
10252
10253 * rtlanal.c (dead_or_set_regno_p): Fix typo.
10254
10255 2002-09-07 Alan Modra <amodra@bigpond.net.au>
10256
10257 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10258
10259 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10260 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10261 (TARGET_ASM_OUT): Add the above here.
10262 * target.h (struct gcc_target): Add "visibility" field.
10263 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10264 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10265 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10266 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10267
10268 2002-09-06 Ziemowit Laski <zlaski@apple.com>
10269
10270 * c-lang.c (objc_is_id): New stub.
10271 * c-tree.h (objc_is_id): New forward declaration.
10272 * c-typeck.c (build_c_cast): Do not strip protocol
10273 qualifiers from 'id' type.
10274 * objc/objc-act.c (objc_comptypes): Correct handling
10275 of protocol qualifiers.
10276 (objc_is_id): New.
10277
10278 Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
10279
10280 * pentium.md (pentium-firstvboth): Fix typo.
10281
10282 2002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
10283
10284 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10285 (enum shift_type, enum h8_cpu): Likewise.
10286 (INL, ROT, LOP, SPC macros): Likewise.
10287 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
10288 const designator.
10289 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10290 space efficient algorithms when optimize for codesize.
10291
10292 Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
10293
10294 Fix PR/1727 and long-standing failing testcase
10295 objc/formal-protocol-6.m.
10296 * objc-act.c (build_protocol_expr): If compiling for the GNU
10297 runtime, create a list of Protocol statically allocated instances
10298 if it doesn't exist, then add the Protocol object to this same
10299 list.
10300 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10301 instead of TREE_CHAIN.
10302
10303 Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
10304
10305 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10306 10k. Fixed category dumping - print out category names with the
10307 proper syntax. Print '@end\n' and not '\n@end' at the end of the
10308 interface.
10309 (finish_objc): Fixed the -gen-decls option. It was printing out
10310 only the last class. Dump an interface declaration of all classes
10311 being compiled instead.
10312
10313 2002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
10314
10315 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10316 prototype.
10317 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10318 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10319 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
10320 rather than GEN_INT.
10321 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10322 (return_addr_mask, *check_arch2): New.
10323
10324 2002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
10325
10326 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10327 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10328 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10329 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10330 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10331 "adddf3", "*adddf3", "*adddf3_ibm",
10332 "addsf3", "*addsf3", "*addsf3_ibm",
10333 "muldi3", "mulsi3", "mulsidi3",
10334 "muldf3", "*muldf3", "*muldf3_ibm",
10335 "mulsf3", "*mulsf3", "*mulsf3_ibm",
10336 "*anddi3_cc", "*anddi3_cconly", "anddi3",
10337 "*andsi3_cc", "*andsi3_cconly", "andsi3",
10338 "*iordi3_cc", "*iordi3_cconly", "iordi3",
10339 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10340 "*xordi3_cc", "*xordi3_cconly", "xordi3",
10341 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10342 instead of "register_operand" as predicate for "%0" operand.
10343
10344 2002-09-06 Jakub Jelinek <jakub@redhat.com>
10345
10346 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10347 unconditionally when gcc_cv_as_flags64 checks are gone.
10348 * configure: Rebuilt.
10349
10350 2002-09-06 Alan Modra <amodra@bigpond.net.au>
10351
10352 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10353 2002-07-26 change. Comment.
10354
10355 2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10356
10357 * frv.c (frv_unique_section, frv_select_section,
10358 frv_select_rtx_section): Delete.
10359 (frv_in_small_data_p): New.
10360 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10361 TARGET_ASM_SELECT_RTX_SECTION): Delete.
10362 (TARGET_IN_SMALL_DATA_P): Define.
10363
10364 2002-09-05 Dale Johannesen <dalej@apple.com>
10365
10366 * reload1.c (reload): Retain only those memory clobbers
10367 added for variable-array handling.
10368
10369 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
10370
10371 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10372 return-in-memory rules.
10373 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10374
10375 2002-09-05 David Edelsohn <edelsohn@gnu.org>
10376
10377 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10378 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10379
10380 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
10381
10382 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10383 not a compile-time constant for the non-IBM case.
10384 * config/arm/arm-protos.h (arm_float_words_big_endian): New
10385 prototype.
10386 * config/arm/arm.c (arm_float_words_big_endian): New function.
10387 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10388 if TARGET_VFP and not TARGET_HARD_FLOAT.
10389 (ARM_FLAG_VFP, TARGET_VFP): Define.
10390 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10391
10392 2002-09-05 David Edelsohn <edelsohn@gnu.org>
10393
10394 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10395 URLs. Fix AIX wording.
10396
10397 2002-09-05 Stan Shebs <shebs@apple.com>
10398
10399 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10400 -fPIC equivalent on Darwin.
10401
10402 Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
10403
10404 * sh.c (sh_expand_builtin): Return early if encountering an
10405 error_mark for a type.
10406
10407 2002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
10408
10409 * config/s390/s390.c (s390_expand_plus_operand): Do not require
10410 double-word scratch register.
10411 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10412
10413 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10414 "*cli"): Replace s_operand by memory_operand.
10415 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10416
10417 2002-09-05 Kazu Hirata <kazu@cs.umass.edu>
10418
10419 * config/h8300/h8300.c (asm_file_start): Add a missing
10420 semicolon.
10421
10422 2002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10423
10424 * c-typeck.c (build_function_call): Remove unused variable(s).
10425 (build_c_cast): Likewise.
10426 * calls.c (rtx_for_function_call): Likewise.
10427 * cfglayout.c (duplicate_insn_chain): Likewise.
10428 * cfgloop.c (flow_loop_nodes_find): Likewise.
10429 * cfgrtl.c (split_edge): Likewise.
10430 * df.c (df_ref_create): Likewise.
10431 * except.c (expand_end_catch): Likewise.
10432 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10433 * function.c (emit_return_into_block): Likewise.
10434 (reposition_prologue_and_epilogue_notes): Likewise.
10435 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10436 * combine.c (subst_prev_insn, need_refresh): Remove.
10437 * dwarf2out.c (primary_filename): Remove.
10438 * final.c (new_block): Remove.
10439 * gcse.c (orig_bb_count): Remove.
10440
10441 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10442
10443 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10444 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10445 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
10446 directly instead of using a function pointer.
10447
10448 2002-09-04 Krister Walfridsson <cato@df.lth.se>
10449
10450 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10451 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10452 (ix86_output_addr_diff_elt) Likewise.
10453 (x86_output_mi_thunk) Likewise.
10454 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10455
10456 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10457
10458 * frv.c (frv_encode_section_info): Fix error in last change.
10459
10460 2002-09-04 David Edelsohn <edelsohn@gnu.org>
10461
10462 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10463 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10464 (TARGET_BINDS_LOCAL_P): Define.
10465 (rs6000_override_options): Save original flag_pic value.
10466 (rs6000_elf_select_section): Call default_elf_select_section_1.
10467 (rs6000_elf_unique_section): Call default_unique_section_1.
10468 (rs6000_elf_in_small_data_p): New function.
10469 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10470 (rs6000_xcoff_select_section): Update based on defaults.
10471 (rs6000_xcoff_unique_section): Set to basic name if not common.
10472 (rs6000_binds_local_p): New function.
10473 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10474 targetm.have_srodata_section if SDATA_EABI.
10475 (TARGET_IN_SMALL_DATA_P): Define.
10476
10477 2002-09-04 Dale Johannesen <dalej@apple.com>
10478
10479 * varasm.c (struct rtx_const, decode_rtx_const):
10480 Make veclo and vechi fields not share storage.
10481
10482 Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
10483
10484 * loop.c (scan_loop): Don't mark separate insns out of a libcall
10485 for moving.
10486 (move_movables): Abort if we see the first insn of a libcall.
10487
10488 2002-09-04 Richard Henderson <rth@redhat.com>
10489
10490 * builtin-types.def (BT_FN_FLOAT): New.
10491 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10492 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10493 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10494 * builtins.c (fold_builtin_inf): New.
10495 (fold_builtin): Call it.
10496 * real.c (ereal_inf): New.
10497 * real.h: Declare it.
10498 * doc/extend.texi: Document new builtins.
10499
10500 2002-09-04 Richard Henderson <rth@redhat.com>
10501
10502 * cse.c (cse_insn): Avoid subreg games if the equivalence
10503 is already in the proper mode.
10504
10505 2002-09-04 Eric Botcazou <ebotcazou@multimania.com>
10506
10507 PR c/7102
10508 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10509
10510 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10511
10512 * pa.md (setccfp0, setccfp1): New patterns.
10513
10514 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10515
10516 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10517 frv_select_section, frv_select_rtx_section,
10518 frv_encode_section_info, frv_unique_section): Delete.
10519 * frv.c: Update for target hooks.
10520 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10521 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10522 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10523
10524 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10525
10526 * ip2k-protos.h (function_prologue, function_epilogue,
10527 encode_section_info): Update to match target hook specification.
10528 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10529 (function_prologue, function_epilogue, encode_section_info):
10530 Update to match target hook specification.
10531 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10532 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10533 (NOTICE_UPDATE_CC): Cast to void.
10534 * ip2k.md: Add defaults in switch statements.
10535
10536 2002-09-04 Janis Johnson <janis187@us.ibm.com>
10537
10538 * doc/trouble.texi (Interoperation): Update information about C++ ABI
10539 issues.
10540
10541 2002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
10542
10543 * config/sparc/t-netbsd64: Disable multilib for now.
10544
10545 2002-09-04 David Edelsohn <edelsohn@gnu.org>
10546
10547 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10548 * target.h (gcc_target): Add have_srodata_section member.
10549 * varasm.c (section_category): Add SECCAT_SRODATA.
10550 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10551 READONLY_SDATA_SECTION defined.
10552 (decl_readonly_section_1): True for SECCAT_SRODATA also.
10553 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10554 (default_unique_section_1): Likewise.
10555
10556 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10557
10558 * expr.c (emit_group_load): Revise to allow splitting TCmode source
10559 into DImode pieces.
10560
10561 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10562 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10563 for floating-point register class.
10564 * pa.c (function_arg): Fix handling of modes wider than one word for
10565 TARGET_64BIT.
10566
10567 Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
10568
10569 * combine.c (make_compound_operation): Don't generate zero / sign
10570 extensions in floating point modes.
10571
10572 2002-09-04 Janis Johnson <janis187@us.ibm.com>
10573
10574 * doc/c-tree.texi: Fix overfull hboxes.
10575 * doc/cppopts.texi: Ditto.
10576 * doc/extend.texi: Ditto.
10577 * doc/gty.texi: Ditto.
10578 * doc/invoke.texi: Ditto.
10579 * doc/makefile.texi: Ditto.
10580 * doc/rtl.texi: Ditto.
10581 * doc/standards.texi: Ditto.
10582 * doc/tm.texi: Ditto.
10583
10584 2002-09-04 Richard Henderson <rth@redhat.com>
10585
10586 * c-common.c (builtin_define_with_hex_fp_value): New.
10587 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
10588
10589 2002-09-04 Janis Johnson <janis187@us.ibm.com>
10590
10591 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
10592 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
10593 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
10594 Warn that these options can break ABI compatibility.
10595
10596 2002-09-04 Richard Henderson <rth@redhat.com>
10597
10598 * real.c (ereal_to_decimal): Add digits parameter.
10599 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
10600 * c-pretty-print.c (pp_c_real_literal): Update call.
10601 * print-rtl.c (print_rtx): Likewise.
10602 * print-tree.c (print_node_brief, print_node): Likewise.
10603 * sched-vis.c (print_value): Likewise.
10604 * config/arc/arc.c (arc_print_operand): Likewise.
10605 * config/c4x/c4x.c (c4x_print_operand): Likewise.
10606 * config/i370/i370.h (PRINT_OPERAND): Likewise.
10607 * config/i386/i386.c (print_operand): Likewise.
10608 * config/i960/i960.c (i960_print_operand): Likewise.
10609 * config/ip2k/ip2k.c (asm_output_float): Likewise.
10610 * config/m32r/m32r.c (m32r_print_operand): Likewise.
10611 * config/m68hc11/m68hc11.c (print_operand): Likewise.
10612 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
10613 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10614 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
10615 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
10616 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
10617 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10618 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
10619 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10620 * config/mips/mips.c (print_operand): Likewise.
10621 * config/ns32k/ns32k.c (print_operand): Likewise.
10622 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
10623 * config/vax/vax.h (PRINT_OPERAND): Likewise.
10624 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
10625
10626 2002-09-04 Bob Wilson <bob.wilson@acm.org>
10627
10628 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
10629 xtensa_multibss_section_type_flags.
10630 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
10631
10632 2002-09-04 Richard Henderson <rth@redhat.com>
10633
10634 * doc/install-old.texi: Don't mention enquire.
10635 * doc/sourcebuild.texi: Update float.h description.
10636
10637 Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
10638
10639 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
10640
10641 2002-09-03 Roger Sayle <roger@eyesopen.com>
10642
10643 * builtins.c (build_function_call_expr): Remove prototype, export
10644 as non-static and add a comment above function definition.
10645 (builtin_mathfn_code): New function to check for math builtins.
10646 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
10647 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
10648 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
10649 log(sqrt(x)) as log(x)/2.0.
10650
10651 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
10652 in new "builtins.c" section. Place the build_range_type prototype
10653 with the other prototypes from "tree.c".
10654
10655 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
10656 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
10657 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
10658 x/exp(y) as x*exp(-y).
10659
10660 2002-09-03 David Edelsohn <edelsohn@gnu.org>
10661
10662 * varasm.c (default_section_type_flags): Append _1 to name with
10663 shlib parameter. Use original name to call new function with
10664 implicit flag_pic.
10665 (decl_readonly_section): Likewise.
10666 (default_elf_select_section): Likewise.
10667 (default_unique_section): Likewise.
10668 (default_bind_local_p): Likewise.
10669 (categorize_decl_for_section): Add shlib parameter to use in place
10670 of implicit flag_pic.
10671 * output.h: Declare new functions with _1 and shlib argument.
10672
10673 2002-09-03 Janis Johnson <janis187@us.ibm.com>
10674
10675 * doc/install.texi: Fix typos, formatting problems, and obvious
10676 overfull/underfull boxes.
10677
10678 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
10679 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
10680 include its file, compat.texi.
10681 * doc/compat.texi: New file with new chapter, Binary Compatibility.
10682
10683 2002-09-03 Neil Booth <neil@daikokuya.co.uk>
10684
10685 Debian BTS Bug #157416
10686 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
10687 * cpplib.c (destringize_and_run): Kludge around getting
10688 tokens from in-progress macros.
10689 (_cpp_do__Pragma): Simplify.
10690
10691 2002-09-03 Steve Ellcey <sje@cup.hp.com>
10692
10693 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
10694 (CPP_CPU_SPEC): Remove.
10695 (TARGET_CPU_CPP_BUILTINS): New.
10696 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
10697 (CPP_SPEC): Remove.
10698 (TARGET_OS_CPP_BUILTINS): New.
10699 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
10700 (TARGET_OS_CPP_BUILTINS): New.
10701 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
10702 TARGET_OS_CPP_BUILTINS.
10703 (CPP_PREDEFINES): Remove.
10704 (CPLUSPLUS_CPP_SPEC): Remove.
10705 (TARGET_OS_CPP_BUILTINS): New.
10706
10707 2002-09-03 Richard Henderson <rth@redhat.com>
10708
10709 * Makefile.in (USER_H): Add ginclude/float.h.
10710 (FLOAT_H): Remove.
10711 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
10712 (mostlyclean): Don't remove float.h intermediate files.
10713 (distclean): Don't remove float.h.
10714 * config.gcc: Remove all float_format references.
10715 * configure.in (float_format, float_h_file): Remove.
10716
10717 * c-common.c: Include tree-inline.h.
10718 (builtin_define_with_int_value): New.
10719 (builtin_define_type_precision): Use it.
10720 (builtin_define_float_constants): New.
10721 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
10722 __FLT_EVAL_METHOD__.
10723 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
10724 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
10725 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
10726 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
10727 (TARGET_FLT_EVAL_METHOD): New.
10728
10729 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
10730 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
10731 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
10732 * ginclude/float.h: New.
10733
10734 2002-09-03 Stan Shebs <shebs@apple.com>
10735
10736 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
10737 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
10738 (PREFERRED_DEBUGGING_TYPE): Ditto.
10739 (ASM_OUTPUT_IDENT): Remove empty definition.
10740
10741 2002-09-03 Steve Ellcey <sje@cup.hp.com>
10742
10743 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
10744 cxx_target.
10745 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
10746 handling routine for builtin pragma.
10747 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
10748 Registered pragma handling routine.
10749 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
10750 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
10751 If builtin pragma seen for math routine and C89 conformance is
10752 requested use different math function in order to set errno.
10753 * t-ia64 (ia64-c.o): Add new rule for new file.
10754
10755 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
10756
10757 * config/s390/s390.md ("movti"): Add Q->Q alternative.
10758 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
10759 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
10760
10761 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
10762 "*movsf_ss"): Remove.
10763
10764 2002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10765
10766 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
10767 Delete macros.
10768
10769 2002-09-03 Arati Dikey <aratid@kpit.com>
10770
10771 * h8300.c (asm_file_start): Corrected optimization comment.
10772
10773 2002-09-03 Stan Shebs <shebs@apple.com>
10774
10775 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
10776 * c-tree.h (recognize_objc_keyword): Remove decl.
10777 * c-typeck.c (comp_target_types): Update a comment.
10778
10779 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
10780
10781 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
10782 and register validity checks.
10783 (general_s_operand): Adapt to s390_decompose_address interface change.
10784 (q_constraint): Likewise.
10785 (s390_expand_plus_operand): Likewise.
10786 (legitimiate_address_p): Likewise.
10787 (legitimate_la_operand_p): Likewise.
10788 (legitimize_la_operand): Likewise.
10789 (print_operand_address): Likewise.
10790 (print_operand): Likewise.
10791
10792 Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
10793
10794 PR objc/5956:
10795 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
10796 was causing the new selector never to match the existing ones
10797 (Patch by Alexander Malmberg <alexander@malmberg.org>).
10798
10799 2002-09-03 Graham Stott <graham.stott@btinternet.com>
10800
10801 * config/i386/i386.md ("femms"): Add "memory" attr "none".
10802
10803 2002-09-03 Graham Stott <graham.stott@btinternet.com>
10804
10805 * expr.c (expand_expr): Remove extraneous comment and code.
10806
10807 2002-09-02 Nathan Sidwell <nathan@codesourcery.com>
10808
10809 * stor-layout (finish_builtin_struct): Renamed and moved from c++
10810 frontend. Take chain of fields. Allow NULL alignment type.
10811 * tree.h (finish_builtin_struct): Declare.
10812
10813 2002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10814
10815 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
10816 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
10817 config/arc/arc.c config/arc/arc.h config/arm/aout.h
10818 config/arm/arm.c config/arm/arm.h config/arm/arm.md
10819 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
10820 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
10821 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
10822 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
10823 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
10824 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
10825 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
10826 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
10827 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
10828 config/pa/pa.h config/pa/pa.md config/romp/romp.h
10829 config/rs6000/linux64.h config/rs6000/lynx.h
10830 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
10831 config/s390/s390.c config/s390/s390.md config/sh/sh.c
10832 config/sparc/sparc.c config/sparc/sysv4.h
10833 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
10834 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
10835 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
10836
10837 * doc/tm.texi: Update docs.
10838 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
10839 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
10840
10841 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10842
10843 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
10844 * arc.c (arc_internal_label): New function.
10845 (TARGET_ASM_INTERNAL_LABEL): Set.
10846 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10847 * arm.c (arm_internal_label): New function.
10848 (TARGET_ASM_INTERNAL_LABEL): Set.
10849 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10850 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10851 * i370.c (i370_internal_label): New function.
10852 (TARGET_ASM_INTERNAL_LABEL): Set.
10853 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10854 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10855 * m68k.c (m68k_hp320_internal_label): New function.
10856 (TARGET_ASM_INTERNAL_LABEL): Set.
10857 * m88k.c (m88k_internal_label): New function.
10858 (TARGET_ASM_INTERNAL_LABEL): Set.
10859 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10860 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
10861 * genoutput.c (output_prologue): Include target.h in output file.
10862 * output.h (default_internal_label): Declare.
10863 * sdbout.c: Include target.h.
10864 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
10865 TARGET_ASM_OUT.
10866 * target.h (internal_label): Add to struct gcc_target.
10867 * varasm.c (default_internal_label): New function.
10868
10869 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10870
10871 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
10872 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10873 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10874 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10875 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10876 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10877 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10878 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10879 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10880 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10881 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10882 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10883 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10884 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10885 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10886 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10887 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10888 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10889 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10890 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10891 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10892 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10893 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10894 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10895 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10896 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
10897 * mmix.c (mmix_asm_output_internal_label): Likewise.
10898 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10899 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10900 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10901 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10902 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10903 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10904 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10905 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10906 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10907 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10908 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10909 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10910 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10911 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10912 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10913 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10914 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10915 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10916 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10917
10918 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
10919
10920 2002-08-31 Richard Henderson <rth@redhat.com>
10921
10922 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
10923
10924 2002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10925
10926 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
10927
10928 2002-08-30 Richard Henderson <rth@redhat.com>
10929
10930 PR opt/7515
10931 * c-objc-common.c: Include target.h.
10932 (c_cannot_inline_tree_fn): Don't auto-inline functions that
10933 don't bind locally. Factor setting DECL_UNINLINABLE.
10934 * Makefile.in (c-objc-common.o): Update.
10935
10936 2002-08-30 Janis Johnson <janis187@us.ibm.com>
10937
10938 * doc/install.texi (Configuration, Building): Fix a typo and
10939 some formatting directives.
10940
10941 2002-08-30 Paul Koning <pkoning@equallogic.com>
10942
10943 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
10944 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
10945 implemented" note.
10946 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
10947 for alphabetic order.
10948 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
10949 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
10950 (VAX_HALFWORD_ORDER): Document.
10951 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
10952 IEEE float format.
10953 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
10954 (ASM_OUTPUT_LABEL_REF): Fix font.
10955 (CASE_VECTOR_SHORTEN_MODE): Ditto.
10956
10957 2002-08-30 Denis Chertykov <denisc@overta.ru>
10958
10959 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
10960 stuff.
10961 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
10962 CONST_DOUBLE constants.
10963
10964 2002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
10965
10966 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
10967 related defines to...
10968 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
10969 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
10970 as a no-op.
10971
10972 2002-08-30 Krister Walfridsson <cato@df.lth.se>
10973
10974 * config/arm/arm.c (arm_asm_output_labelref): New function.
10975 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
10976 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
10977
10978 2002-08-29 Rodney Brown <rbrown64@csc.com.au>
10979
10980 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
10981 memory exhausted" workarounds.
10982
10983 2002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10984
10985 * diagnostic.c (fancy_abort): Don't repeat "internal error".
10986 * toplev.c (crash_signal): Likewise.
10987
10988 Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
10989
10990 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
10991 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
10992 Extended, updated documentation.
10993 (-Wundeclared-selector): Documented.
10994
10995 2002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
10996
10997 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
10998 the value 1. Do not undef before defining.
10999 * config/darwin.h: Likewise.
11000 * config/dbx.h: Likewise.
11001 * config/dbxcoff.h: Likewise.
11002 * config/dbxelf.h: Likewise.
11003 * config/elfos.h: Likewise.
11004 * config/interix.h: Likewise.
11005 * config/lynx-ng.h: Likewise.
11006 * config/lynx.h: Likewise.
11007 * config/netware.h: Likewise.
11008 * config/psos.h: Likewise.
11009 * config/svr3.h: Likewise.
11010 * config/alpha/alpha.h: Likewise.
11011 * config/alpha/elf.h: Likewise.
11012 * config/alpha/vms.h: Likewise.
11013 * config/arc/arc.h: Likewise.
11014 * config/arm/aout.h: Likewise.
11015 * config/arm/coff.h: Likewise.
11016 * config/c4x/c4x.h: Likewise.
11017 * config/h8300/h8300.h: Likewise.
11018 * config/i386/cygwin.h: Likewise.
11019 * config/i386/djgpp.h: Likewise.
11020 * config/i386/gas.h: Likewise.
11021 * config/i386/gstabs.h: Likewise.
11022 * config/i386/i386-coff.h: Likewise.
11023 * config/i386/i386-interix.h: Likewise.
11024 * config/i386/sco5.h: Likewise.
11025 * config/i386/svr3dbx.h: Likewise.
11026 * config/i386/sysv3.h: Likewise.
11027 * config/i386/win32.h: Likewise.
11028 * config/i386/x86-64.h: Likewise.
11029 * config/i960/i960.h: Likewise.
11030 * config/ia64/ia64.h: Likewise.
11031 * config/ip2k/ip2k.h: Likewise.
11032 * config/m32r/m32r.h: Likewise.
11033 * config/m68k/3b1.h: Likewise.
11034 * config/m68k/3b1g.h: Likewise.
11035 * config/m68k/ccur-GAS.h: Likewise.
11036 * config/m68k/coff.h: Likewise.
11037 * config/m68k/hp2bsd.h: Likewise.
11038 * config/m68k/hp310g.h: Likewise.
11039 * config/m68k/hp320g.h: Likewise.
11040 * config/m68k/hp3bsd.h: Likewise.
11041 * config/m68k/hp3bsd44.h: Likewise.
11042 * config/m68k/linux-aout.h: Likewise.
11043 * config/m68k/m68k-aout.h: Likewise.
11044 * config/m68k/mot3300.h: Likewise.
11045 * config/m68k/netbsd.h: Likewise.
11046 * config/m68k/openbsd.h: Likewise.
11047 * config/m68k/pbb.h: Likewise.
11048 * config/m68k/plexus.h: Likewise.
11049 * config/m68k/sun2.h: Likewise.
11050 * config/m68k/sun3.h: Likewise.
11051 * config/m68k/tower-as.h: Likewise.
11052 * config/m68k/vxm68k.h: Likewise.
11053 * config/m88k/aout-dbx.h: Likewise.
11054 * config/m88k/m88k-aout.h: Likewise.
11055 * config/mcore/mcore-elf.h: Likewise.
11056 * config/mcore/mcore-pe.h: Likewise.
11057 * config/mips/elf.h: Likewise.
11058 * config/mips/elf64.h: Likewise.
11059 * config/mips/iris5gas.h: Likewise.
11060 * config/mips/iris6.h: Likewise.
11061 * config/mips/mips.h: Likewise.
11062 * config/mips/sni-gas.h: Likewise.
11063 * config/mmix/mmix.h: Likewise.
11064 * config/ns32k/netbsd.h: Likewise.
11065 * config/pa/pa64-hpux.h: Likewise.
11066 * config/romp/romp.h: Likewise.
11067 * config/rs6000/sysv4.h: Likewise.
11068 * config/rs6000/xcoff.h: Likewise.
11069 * config/sh/coff.h: Likewise.
11070 * config/sh/elf.h: Likewise.
11071 * config/sparc/linux64.h: Likewise.
11072 * config/sparc/liteelf.h: Likewise.
11073 * config/sparc/netbsd.h: Likewise.
11074 * config/sparc/openbsd.h: Likewise.
11075 * config/sparc/pbd.h: Likewise.
11076 * config/sparc/sp64-elf.h: Likewise.
11077 * config/sparc/sp86x-elf.h: Likewise.
11078 * config/sparc/sparc.h: Likewise.
11079 * config/vax/vax.h: Likewise.
11080 * config/vax/vaxv.h: Likewise.
11081
11082 2002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11083
11084 * h8300.c (shift_alg_hi): Various tweaks to improve performance
11085 of HImode shifts.
11086 (get_shift_alg): Corresponding changes.
11087
11088 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11089
11090 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11091
11092 2002-08-29 Richard Henderson <rth@redhat.com>
11093
11094 * expr.h (enum block_op_methods): New.
11095 (emit_block_move): Update prototype.
11096 * expr.c (block_move_libcall_safe_for_call_parm): New.
11097 (emit_block_move_via_loop): New.
11098 (emit_block_move): Use them. New argument METHOD.
11099 (emit_push_insn): Always respect the given alignment.
11100 (expand_assignment): Update call to emit_block_move.
11101 (store_expr, store_field, expand_expr): Likewise.
11102 * builtins.c (expand_builtin_apply): Likewise.
11103 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11104 * function.c (expand_function_end): Likewise.
11105 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11106 * config/sparc/sparc.c (sparc_va_arg): Likewise.
11107 * calls.c (expand_call, emit_library_call_value_1): Likewise.
11108 (save_fixed_argument_area): Use emit_block_move with
11109 BLOCK_OP_CALL_PARM instead of move_by_pieces.
11110 (restore_fixed_argument_area): Likewise.
11111 (store_one_arg): Fix alignment parameter to emit_push_insn.
11112
11113 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11114
11115 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11116
11117 2002-08-29 Catherine Moore <clm@redhat.com>
11118
11119 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11120 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11121 (PREDICATE_CODES): Include new predicates.
11122 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
11123 (TARGET_SWITCHES): Add strict-align.
11124 (TARGET_STRICT_ALIGN): New.
11125 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
11126 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11127 Define.
11128 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11129 v850_muldi3.
11130 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11131 L_callt_save_r2_r31, L_return_r2_r31,
11132 L_save_all_interrupt): Change addi to add.
11133 (L_save_interrupt, L_return_interrupt): Rework.
11134 (__return_r31): Correct .size directive.
11135 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11136 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11137 New routines.
11138 * config/v850/v850.c (expand_prologue): Call
11139 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11140 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11141 (reg_or_int9_operand): New predicate.
11142 (reg_or_const_operand): New routine.
11143 * config/v850/v850.md (return_interrupt): Changed from
11144 restore_interrupt.
11145 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11146 (callt_save_interrupt): Change save sequence.
11147 (callt_return_interrupt): New.
11148 (save_interrupt): Don't use runtime function for LONG_CALLS
11149 and TARGET_PROLOG_FUNCTION.
11150 (save_all_interrupt): Likewise.
11151 (mulsi3): Use new predicate.
11152 (moviscc): Disallow some combination of constants.
11153 Fix define_split for sasf insns, so that it will not generate bad
11154 code if operand0 and operand5 are the same.
11155 * config/v850/v850-protos.h: Prototype new predicates.
11156
11157 2002-08-29 Zack Weinberg <zack@codesourcery.com>
11158
11159 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11160 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11161
11162 2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
11163
11164 * c-common.c (builtin_define_type_precision): New function.
11165 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
11166 wchar_t is unsigned in C++.
11167 * doc/cpp.texi (Common Predefined Macros): Document
11168 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11169 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11170 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11171
11172 2002-08-28 Sylvain Pion <pion@cs.nyu.edu>
11173
11174 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11175 section. Mention that it is enabled by -Wall.
11176 (-Wall): Mention that there can be language-specific warnings as well.
11177 (-Wctor-dtor-privacy): Mention that it is enabled by default.
11178 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11179
11180 Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
11181
11182 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11183 if it is ever live.
11184
11185 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11186 attribute for SHCOMPACT.
11187
11188 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11189 appropriately.
11190 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11191 by the ABI.
11192
11193 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11194
11195 2002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
11196
11197 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11198 "MASK_GAS|MASK_ABICALLS".
11199 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11200 (TARGET_DEFAULT): Remove.
11201 (MACHINE_TYPE): Undefine before defining.
11202 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11203
11204 2002-08-27 Mark Mitchell <mark@codesourcery.com>
11205
11206 * c-common.c (warn_abi): New variable.
11207 * c-common.h (warn_abi): Likewise.
11208 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11209 (c_common_decode_option): Handle it.
11210 * doc/invoke.texi: Document -Wabi.
11211
11212 Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
11213
11214 * c-common.c (warn_undeclared_selector): New variable.
11215 * c-common.h (warn_undeclared_selector): Idem.
11216 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11217 to on when -Wundeclared-selector is found.
11218 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11219 * objc/objc-act.c (build_selector_expr): If
11220 warn_undeclared_selector is set, check that the selector has
11221 already been defined, and emit a warning if not.
11222
11223 2002-08-27 Nick Clifton <nickc@redhat.com>
11224 Catherine Moore <clm@redhat.com>
11225 Jim Wilson <wilson@cygnus.com>
11226
11227 * config.gcc: Add v850e-*-* target.
11228 Add --with-cpu= support for v850.
11229 * config/v850/lib1funcs.asm: Add v850e callt functions.
11230 * config/v850/v850.h: Add support for v850e target.
11231 * config/v850/v850.c: Add functions to support v850e target.
11232 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11233 * config/v850/v850.md: Add patterns for v850e instructions.
11234 * doc/invoke.texi: Document new v850e command line switches.
11235
11236 Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
11237 Aldy Hernandez <aldyh at redhat dot com>
11238
11239 * doc/tm.texi: Applied numerous fixes to the automaton based
11240 scheduler descrition.
11241
11242 Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
11243
11244 * i386.c (classify_argument): Handle variable sized objects.
11245
11246 Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
11247
11248 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11249
11250 Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
11251
11252 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11253
11254 Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
11255
11256 * i386.c (classify_argument): Properly compute word size of the analyzed object.
11257
11258 Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
11259
11260 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11261 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
11262 accordingly.
11263 (attribute insn_class): Provide default definitions based on type.
11264 Remove all insn-specific settings.
11265 (various function units): Remove old SH4 scheduling.
11266 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11267 New attributes. Set them where appropriate.
11268 (cpu unit FS): Don't define / use.
11269 (F3, load_store): New cpu units.
11270 (F01): New reservation.
11271 (all insn_reservations): Make dependent on sh4 pipeline model.
11272 Fix latencies.
11273 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11274 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11275 (mt insn_reservation): Use type mt_group.
11276 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11277 sh4_fload and sh4_store.
11278 (insn_reservation branch_zero and branch): Replace with sh4_branch.
11279 (insn_reservation branch_far): Replace with sh4_return.
11280 (insn_reservation return_from_exp): Rename to:
11281 (sh4_return_from_exp). Change to be just d_lock*5.
11282 (insn_reservation lds_to_pr): Rename to:
11283 (sh4_lds_to_pr). Change to be just d_lock*2.
11284 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11285 d_lock*2.
11286 (insn_reservation prload_mem): Rename to:
11287 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
11288 (insn_reservation fpscr_store): Rename to:
11289 (fpscr_load). Change to d_lock,nothing,F1*3.
11290 (insn_reservation fpscr_store_mem): Rename to:
11291 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
11292 (insn_reservation multi): Change to
11293 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11294 (insn_reservation fp_arith): Change to issue,F01,F2.
11295 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11296 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11297 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11298 (insn_reservation fp_double_cmp): Change to
11299 d_lock,(d_lock+F01),F1+F2,F2.
11300 (insn_reservation dp_div): Change to
11301 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11302 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11303 (sh_adjust_cost, SHcompact): Differentiate between different
11304 kinds of dependencies. Drop factor of ten for superscalar.
11305 Use new instruction types. Add new exception rules.
11306
11307 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11308
11309 * sh.md (mperm_w): Add DONE.
11310
11311 2002-08-27 David Edelsohn <edelsohn@gnu.org>
11312
11313 * longlong.h: Import current PowerPC defintion from GMP-4.1.
11314
11315 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11316
11317 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11318
11319 Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
11320
11321 * sh.h (MAX_FIXED_MODE_SIZE): Define.
11322
11323 2002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
11324
11325 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11326 delimiter.
11327
11328 2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
11329
11330 * c-common.c (cpp_define_data_format): New function.
11331 (cb_register_builtins): Call it.
11332
11333 * doc/cpp.texi (Common Predefined Macros): Document
11334 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11335 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11336 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11337 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11338 __TARGET_USES_VAX_H_FLOAT__.
11339
11340 2002-08-26 Ziemowit Laski <zlaski@apple.com>
11341
11342 * objc/objc-act.c (get_super_receiver): If inside a class method
11343 of a category, cast the receiver to 'id' before accessing the 'isa'
11344 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
11345
11346 2002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
11347
11348 * config/s390/s390-protos.h (s390_function_prologue,
11349 s390_function_epilogue): Remove.
11350 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11351 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11352
11353 config/s390/s390.c (s390_machine_dependent_recorg): New function.
11354 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11355 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11356 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11357 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
11358
11359 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
11360 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11361 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11362 function is not a leaf function. Use save_gprs and restore_gprs.
11363 (s390_emit_epilogue): Likewise.
11364 (save_gprs, restore_gprs): New functions.
11365 (struct s390_frame): Remove return_reg_saved_p member.
11366 (save_fprs_p): Remove.
11367 (s390_optimize_prolog): New function.
11368 (s390_legitimate_reload_constant): Remove now unnecessary check.
11369
11370 (s390_function_count): Remove.
11371 (s390_output_symbolic_const): Replace s390_function_count by
11372 current_function_funcdef_no.
11373 (s390_output_constant_pool): Likewise.
11374
11375 (legitimize_pic_address): Use regs_ever_live to track PIC register
11376 instead of current_function_uses_pic_offset_table.
11377 (s390_emit_prologue): Likewise.
11378 config/s390/s390.md ("call", "call_value"): Likewise.
11379
11380 2002-08-26 Neil Booth <neil@daikokuya.co.uk>
11381
11382 * c-opts.c (find_opt): Don't complain about wrong languages
11383 here. Return exact matches even for wrong language.
11384 (c_common_decode_option): Complain about wrong languages
11385 here.
11386
11387 2002-08-24 Stuart Hastings <stuart@apple.com>
11388
11389 * function.h (struct function): Add flag
11390 all_throwers_are_sibcalls.
11391 * except.c (set_nothrow_function_flags): Replaces
11392 nothrow_function_p. Set new flag.
11393 * except.h (set_nothrow_function_flags): Replaces
11394 nothrow_function_p.
11395 * dwarf2out.c (struct dw_fde_struct): Add flag
11396 all_throwers_are_sibcalls.
11397 (output_call_frame_info): Test it.
11398 (dwarf2out_begin_prologue) Propagate it from cfun to
11399 dw_fde_struct.
11400 * toplev.c (rest_of_compilation): Update calls to
11401 nothrow_function_p.
11402
11403 2002-08-23 Zack Weinberg <zack@codesourcery.com>
11404
11405 * ggc-page.c (compute_inverse): Short circuit calculation for
11406 object sizes larger than half a page.
11407
11408 2002-08-23 David Edelsohn <edelsohn@gnu.org>
11409
11410 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11411 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
11412 default.
11413 (rs6000_elf_unique_section): Likewise.
11414
11415 2002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11416
11417 * ns32k.c (ns32k_globalize_label): Delete.
11418 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11419
11420 2002-08-23 Alan Modra <amodra@bigpond.net.au>
11421
11422 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11423 for loading delta with num_insns_constant_wide. Calculate
11424 delta_low, delta_high without using a conditional.
11425
11426 2002-08-22 Jason Merrill <jason@redhat.com>
11427
11428 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11429 * c-common.def: Adjust.
11430 * c-dump.c (c_dump_tree): Adjust.
11431 * c-semantics.c (genrtl_return_stmt): Adjust.
11432 * c-pretty-print.c (pp_c_statement): Adjust.
11433 * tree-inline.c (copy_body_r): Adjust.
11434
11435 2002-08-22 Zack Weinberg <zack@codesourcery.com>
11436
11437 * ggc-page.c: Avoid division in ggc_set_mark.
11438 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11439 compute_inverse): New.
11440 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11441 (init_ggc): Initialize inverse_table.
11442
11443 2002-08-22 Tom Tromey <tromey@redhat.com>
11444
11445 * doc/install.texi (Configuration): Document --datadir.
11446
11447 2002-08-22 Alexandre Oliva <aoliva@redhat.com>
11448
11449 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11450
11451 2002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
11452
11453 * gengtype-lex.l (ID): Allow underscore as first character.
11454
11455 2002-08-21 David Edelsohn <edelsohn@gnu.org>
11456
11457 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11458 function.
11459 (rs6000_xcoff_asm_named_section): Rename.
11460 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11461
11462 2002-08-21 Tom Tromey <tromey@redhat.com>
11463
11464 For PR java/6005 and PR java/7611:
11465 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11466 (fold): Likewise.
11467 * langhooks.c (lhd_can_use_bit_fields_p): New function.
11468 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11469 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11470 (LANG_HOOKS_INITIALIZER): Use it.
11471 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11472 field.
11473
11474 2002-08-21 Stan Shebs <shebs@apple.com>
11475
11476 * tree.c (finish_vector_type): Fix a typo in a comment.
11477 * Makefile.in: Fix "the the" stutters in comments.
11478 * genautomata.c: Ditto.
11479 * ifcvt.c: Ditto.
11480 * regrename.c: Ditto.
11481 * config/alpha/alpha.c: Ditto.
11482 * config/alpha/vms-crt0-64.c: Ditto.
11483 * config/alpha/vms-crt0.c: Ditto.
11484 * config/alpha/vms-psxcrt0-64.c: Ditto.
11485 * config/alpha/vms-psxcrt0.c: Ditto.
11486 * config/d30v/d30v.h: Ditto.
11487 * config/fr30/fr30.h: Ditto.
11488 * config/rs6000/rs6000.c: Ditto.
11489 * config/stormy16/stormy16.h: Ditto.
11490 * doc/md.texi: Ditto.
11491
11492 2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
11493
11494 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11495
11496 2002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
11497
11498 * c-decl.c (grokdeclarator): Make invalid combinations with long,
11499 short, signed or unsigned into hard errors. Fixes PR c/4319.
11500 Also make duplicate modifiers such as "short short" into hard
11501 errors.
11502
11503 2002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
11504 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11505
11506 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11507 to the actual end. Add '@end table' and '@table @code'.
11508
11509 2002-08-20 Geoffrey Keating <geoffk@redhat.com>
11510
11511 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11512
11513 * unroll.c (biv_total_increment): Don't try to compute the total
11514 increment for FP BIVs.
11515
11516 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11517
11518 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11519 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11520 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11521 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11522 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11523 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11524 (GLOBAL_ASM_OP): Define.
11525 * arm.c (aof_globalize_label): New function.
11526 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11527 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11528 * c4x.c (c4x_globalize_label): New function.
11529 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11530 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11531 (GLOBAL_ASM_OP): Define.
11532 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11533 * darwin-protos.h (darwin_globalize_label): Declare.
11534 * darwin.c (darwin_globalize_label): New function.
11535 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11536 (ASM_GLOBALIZE_LABEL): Delete.
11537 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11538 * dsp16xx.c (asm_output_common): Use target hook.
11539 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11540 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11541 (GLOBAL_ASM_OP): Define.
11542 * i370.c (i370_globalize_label): New function.
11543 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11544 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11545 * i386.c (ix86_asm_file_end): Use target hook.
11546 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11547 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11548 * ia64.c (ia64_asm_output_external): Likewise.
11549 * ia64/sysv4.h: Update comment.
11550 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11551 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11552 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11553 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11554 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11555 * mmix-protos.h (mmix_asm_globalize_label): Delete.
11556 * mmix.c (mmix_asm_globalize_label): Likewise.
11557 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11558 (GLOBAL_ASM_OP): Define.
11559 * ns32k.c (ns32k_globalize_label): New function.
11560 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11561 (ASM_GLOBALIZE_LABEL): Delete.
11562 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11563 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11564 * pa.c (pa_globalize_label): New function.
11565 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11566 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11567 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11568 (GLOBAL_ASM_OP): Define.
11569 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11570 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11571 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11572 (GLOBAL_ASM_OP): Define.
11573 * v850.c (v850_output_aligned_bss): Use target hook.
11574 * vax.c (vms_globalize_label): New function.
11575 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11576 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11577 (GLOBAL_ASM_OP): Define.
11578 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11579 * doc/tm.texi: Update docs.
11580 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11581 target hook.
11582 * final.c (output_alternate_entry_point): Likewise.
11583 * hooks.c (hook_FILEptr_constcharptr_void): New function.
11584 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11585 * output.h (assemble_global): Delete.
11586 (default_globalize_label): Declare.
11587 * system.h (ASM_GLOBALIZE_LABEL): Poison.
11588 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11589 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
11590 * target.h (gcc_target): Add globalize_label member.
11591 * varasm.c (asm_output_bss, asm_output_aligned_bss,
11592 globalize_decl): Use target hook.
11593 (assemble_global): Delete.
11594 (default_globalize_label): New function.
11595
11596 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11597
11598 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
11599
11600 2002-08-20 Devang Patel <dpatel@apple.com>
11601 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
11602
11603 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11604
11605 * arc.c (output_shift): Use stdio instead of asm_fprintf.
11606 * arm.c (thumb_output_function_prologue): Likewise.
11607 * avr.c (print_operand): Likewise.
11608 * c4x.c (c4x_print_operand): Likewise.
11609 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
11610 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11611 * cris.c (cris_target_asm_function_prologue,
11612 cris_asm_output_mi_thunk): Likewise.
11613 * h8300.c (print_operand): Likewise.
11614 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11615 * ip2k.c (print_operand): Likewise. Fix format specifier.
11616 * m68hc11.c (asm_print_register, print_operand,
11617 print_operand_address): Use stdio instead of asm_fprintf.
11618 (print_operand_address): Fix format specifier.
11619 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
11620 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
11621 asm_fprintf.
11622 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11623 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11624 * m68k.c (m68k_output_function_prologue,
11625 m68k_output_function_epilogue, print_operand): Likewise.
11626 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
11627 Likewise. Fix format specifier.
11628 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11629 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11630 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
11631
11632 2002-08-15 Eric Christopher <echristo@redhat.com>
11633 Jeff Knaggs <jknaggs@redhat.com>
11634
11635 * config.gcc (mipsisa64sr71k-elf): New target.
11636 * config/mips/sr71k.md: New file.
11637 * config/mips/mips.md: Use it.
11638 (rot*): Add sr71k specifics.
11639 * config/mips/t-sr71k: New file.
11640 * config/mips/mips.h (sr71k): New cpu.
11641 (TARGET_SR71K): Use it.
11642 (TUNE_SR71K): Ditto.
11643 (GENERATE_BRANCHLIKELY): Ditto.
11644 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
11645 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
11646 * config/mips/mips.c (sr71k): New cpu.
11647 (mips_use_dfa_pipeline_interface): Use.
11648
11649 2002-08-15 Eric Christopher <echristo@redhat.com>
11650 Richard Sandiford <rsandifo@redhat.com>
11651 Aldy Hernandez <aldyh@redhat.com>
11652 Graham Stott <grahams@redhat.com>
11653 Michael Meissner <meissner@redhat.com>
11654 Gavin Romig-Koch <gavin@redhat.com>
11655 Ken Raeburn <raeburn@cygnus.com>
11656 Alexandre Oliva <aoliva@redhat.com>
11657
11658 * config.gcc (mips64vr-elf): New target.
11659 * config/mips/5400.md: New file.
11660 * config/mips/5500.md: Ditto.
11661 * config/mips/mips.md: Use them.
11662 (frsqrt): New.
11663 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
11664 cpus.
11665 (mips_issue_rate): Use them.
11666 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
11667 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
11668 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
11669 cpus.
11670 (TARGET_MIPSx): Use them.
11671 (TUNE_MIPSx): Ditto.
11672 (GETNATE_MULT3_SI): Ditto.
11673 (ISA_HAS_BRANCHLIKELY): Ditto.
11674 (ISA_HAS_CONDMOVE): Ditto.
11675 (ISA_HAS_NMADD_NMSUB): Ditto.
11676 (ISA_HAS_MULHI): New. Ditto.
11677 (ISA_HAS_MULS): Ditto.
11678 (ISA_HAS_MSAC): Ditto.
11679 (ISA_HAS_MACC): Ditto.
11680 (ISA_HAS_ROTR_SI): Ditto.
11681 (ISA_HAS_ROTR_DI): Ditto.
11682 (RTX_COSTS): Use.
11683
11684 2002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
11685
11686 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
11687 at head.
11688 (remove_dup_nonsys_dirs): New function.
11689 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
11690 (merge_include_chains): Remove non-system include directories from
11691 quote and bracket include chains when they duplicate equivalent system
11692 directories.
11693 * doc/cpp.texi (-I): Update.
11694 * doc/cppopts.texi (-I): Update.
11695 * doc/install.texi (--with-local-prefix): Further document usage of
11696 this option.
11697 * doc/invoke.texi (-I): Update.
11698
11699 2002-08-20 Richard Henderson <rth@redhat.com>
11700
11701 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
11702 (emit_block_move): Split out subroutines.
11703 (emit_block_move_via_movstr): New.
11704 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
11705 (emit_block_move_libcall_fn): New. Construct function prototype for
11706 bcopy as well.
11707 (clear_storage): Split out subroutines.
11708 (clear_storage_via_clrstr): New.
11709 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
11710 (clear_storage_libcall_fn): New. Construct function prototype for
11711 bzero as well.
11712 (emit_push_insn): Use emit_block_move.
11713 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
11714 (store_constructor): Likewise.
11715
11716 2002-08-19 Ziemowit Laski <zlaski@apple.com>
11717
11718 * objc/objc-act.c (building_objc_message_expr): Rename to
11719 current_objc_message_selector.
11720
11721 2002-08-19 Ziemowit Laski <zlaski@apple.com>
11722
11723 * objc/objc-act.c (build_ivar_chain): Remove.
11724 (objc_copy_list): Likewise.
11725 (get_class_ivars): Inline call to removed build_ivar_chain
11726 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
11727 slot; use that slot (rather than CLASS_IVARS) when accessing
11728 ivars for base classes. Call copy_list and chainon instead of
11729 objc_copy_list.
11730 (build_private_template): Call get_class_ivars instead of
11731 build_ivar_chain.
11732 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
11733 (continue_class): Call get_class_ivars instead of
11734 build_ivar_chain.
11735 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
11736 of DECL_BIT_FIELD (which may have been cleared).
11737 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
11738
11739 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11740
11741 * genautomata.c (output_translate_vect, output_state_ainsn_table,
11742 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
11743 in output file.
11744 (output_internal_min_issue_delay_func): Initialize variable in
11745 output file.
11746
11747 2002-08-19 Alexandre Oliva <aoliva@redhat.com>
11748
11749 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
11750 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
11751
11752 2002-08-19 Geoffrey Keating <geoffk@redhat.com>
11753 Steve Ellcey <sje@cup.hp.com>
11754
11755 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
11756 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
11757 * explow.c (trunc_int_for_mode): Abort when the mode is not
11758 a scaler integer mode.
11759 * combine.c (expand_compound_operation): Don't expand Vector
11760 or Complex modes into shifts.
11761 (expand_field_assignment): Don't do bitwise arithmatic and
11762 shifts on Vector or Complex modes.
11763 (simplify_comparison): Don't call trunc_int_for_mode
11764 for VOIDmode.
11765 * recog.c (general_operand): Likewise.
11766 (immediate_operand): Likewise.
11767 (nonmemory_operand): Likewise.
11768
11769 2002-08-19 David Edelsohn <edelsohn@gnu.org>
11770
11771 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
11772 multi-instruction SImode constant. Add REG_EQUAL note.
11773 * config/rs6000/rs6000.md (movsi splitter): Use
11774 rs6000_emit_set_const.
11775
11776 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11777
11778 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
11779 the macro test controlling its use.
11780
11781 2002-08-18 H.J. Lu (hjl@gnu.org)
11782
11783 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
11784 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
11785 gnu_ld=yes.
11786 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
11787 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
11788 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
11789 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
11790 here.
11791 (cris-*-linux*): Remove setting thread_file here.
11792
11793 2002-08-18 Neil Booth <neil@daikokuya.co.uk>
11794
11795 PR preprocessor/7602
11796 * cppinit.c (path_include): Treat the system environment
11797 variables as being cxx_aware.
11798
11799 2002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
11800
11801 * c-decl.c (flexible_array_type_p): New function.
11802 (grokdeclarator, finish_struct): Use it.
11803 * doc/extend.texi: Document constraints on use of structures with
11804 flexible array members.
11805
11806 2002-08-17 Richard Sandiford <rsandifo@redhat.com>
11807
11808 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
11809 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
11810 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
11811
11812 2002-08-16 Stan Shebs <shebs@apple.com>
11813
11814 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
11815 for ObjC with -fnext-runtime.
11816 * doc/cpp.texi: Document it.
11817
11818 2002-08-16 Janis Johnson <janis187@us.ibm.com>
11819
11820 * doc/install.texi (Final installation): Replace links to individual
11821 build status pages with a link to a common page that lists them all.
11822
11823 2002-08-16 Sylvain Pion <pion@cs.nyu.edu>
11824
11825 * doc/invoke.texi: Fix typo.
11826
11827 2002-08-16 David Edelsohn <edelsohn@gnu.org>
11828
11829 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
11830
11831 2002-08-16 Andrew Haley <aph@redhat.com>
11832
11833 * tree-inline.c: Add includes for Java inliner.
11834 (remap_decl): Don't handle anonymous types for Java.
11835 (remap_block): Add handling for Java trees.
11836 (copy_scope_stmt): Conditionalize for non-Java use only.
11837 (copy_body_r): Handle Java trees. Add handling for
11838 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
11839 (initialize_inlined_parameters): Handle Java trees.
11840 (declare_return_variable): Likewise.
11841 (expand_call_inline): Handle Java trees.
11842 (walk_tree): Likewise.
11843 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
11844 (add_stmt_to_compound): New function.
11845
11846 2002-08-15 Richard Henderson <rth@redhat.com>
11847
11848 * Makefile.in (LOOSE_WARN): Remove -fno-common.
11849 (NOCOMMON_FLAG): New substitution point.
11850 (GCC_WARN_CFLAGS): Include it.
11851 * configure.in (ac_checking): Set nocommon_flag.
11852 (nocommon_flag): New substitution point.
11853
11854 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
11855
11856 * c-tree.h (skip_evaluation): Move declaration...
11857 * c-common.h: ... here.
11858 * c-typeck.c (build_external_ref): Don't assemble_external nor
11859 mark a tree as used if skip_evaluation is set.
11860 * c-parse.in (typeof): New non-terminal to set skip_evaluation
11861 around TYPEOF.
11862 (typespec_nonreserved_nonattr): Use it.
11863
11864 2002-08-15 Douglas B Rupp <rupp@gnat.com>
11865
11866 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
11867 (xcoff_debug_hooks): Update end_prologue.
11868 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
11869 * debug.h (end_prologue): Add file arg.
11870 (end_epilogue): Add line and file args.
11871 (dwarf2out_end_epilogue): Add line and file args.
11872 (vmsdbgout_after_prologue): Remove.
11873 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
11874 (dwarf2_debug_hooks): Update end_prologue.
11875 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
11876 (dwarfout_end_prologue): Add file arg.
11877 * final.c (vmsdbgout_after_prologue): Remove
11878 (final_end_function): Update end_epilogue call.
11879 (final_scan_insn): Update end_prologue call.
11880 * sdbout.c (sdbout_end_epilogue): Add line and file args.
11881 (sdbout_end_prologue): Add file arg.
11882 (sdb_debug_hooks): Update end_prologue.
11883 (sdb_begin_prologue): Update sdbout_end_prologue call.
11884 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
11885 vmsdbgout_end_function.
11886 (vmsdbgout_end_prologue): New function renamed from
11887 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
11888 (vmsdbgout_end_function): New function.
11889 (vmsdbgout_end_epilogue): Add line and file args. Call
11890 vmsdbgout_source_line.
11891 (write_pclines): Write only valid line numbers.
11892 (write_srccorr): Don't write source correlation records if 0 lines.
11893 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
11894
11895 2002-08-15 Steve Ellcey <sje@cup.hp.com>
11896
11897 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
11898 (_Unwind_Internal_Ptr): 32 bit version for use in
11899 read_encoded_value_with_base.
11900 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
11901 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
11902 right size.
11903
11904 2002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11905
11906 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
11907 signed/unsigned warnings.
11908
11909 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
11910 record_reg_classes): Likewise.
11911
11912 * reload.c (reload_inner_reg_of_subreg, push_reload,
11913 find_reloads_address_1): Likewise.
11914
11915 2002-08-15 David Edelsohn <edelsohn@gnu.org>
11916
11917 * rs6000.c (output_mi_thunk): Return to function section on
11918 TARGET_ELF.
11919
11920 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
11921
11922 2002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
11923
11924 * config/s390/s390.c (legitimize_address): Optimize loading
11925 of large displacements.
11926
11927 2002-08-14 Douglas B Rupp <rupp@gnat.com>
11928
11929 * config/alpha/alpha-protos.h: Update.
11930
11931 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
11932 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
11933 (alpha_linkage_symbol_p): New static function.
11934 (print_operand_address): Print linkage operand.
11935
11936 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
11937 variables.
11938 (reloc_kind): New enum.
11939 (struct alpha_funcs): New struct.
11940 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
11941
11942 (alpha_need_linkage): Rewrite.
11943 (alpha_use_linkage): New global function.
11944 (alpha_write_linkage): Rewrite and make static.
11945 (alpha_write_one_linkage): Rewrite
11946
11947 (alpha_start_function): Remove procedure descriptor output.
11948 (alpha_end_function): Write linkages at end of each function.
11949
11950 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
11951 (call_vms_1, call_value_vms_1): Rewrite.
11952
11953 * config/alpha/vms.h (ASM_FILE_END): Remove.
11954
11955 2002-08-14 Richard Henderson <rth@redhat.com>
11956
11957 * ggc-page.c (RTL_SIZE): New.
11958 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
11959 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
11960
11961 2002-08-14 Richard Henderson <rth@redhat.com>
11962
11963 * calls.c: Include target.h.
11964 * Makefile.in (calls.o): Update.
11965
11966 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
11967 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
11968
11969 2002-08-14 Richard Henderson <rth@redhat.com>
11970
11971 * Makefile.in (LOOSE_WARN): Add -fno-common.
11972 * c-common.h (constant_string_class_name): Add missing extern.
11973
11974 2002-08-15 Neil Booth <neil@daikokuya.co.uk>
11975
11976 PR preprocessor/7358
11977 * c-opts.c (check_deps_environment_vars): Ignore main file
11978 for SUNPRO_DEPENDENCIES.
11979 * cppfiles.c (stack_include_file): Ignore main file if
11980 appropriate.
11981 * cpplib.h (struct cpp_options): New member in deps.
11982 * doc/cppenv.texi: Update.
11983
11984 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
11985
11986 PR preprocessor/7526
11987 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
11988
11989 2002-08-14 Nathan Sidwell <nathan@codesourcery.com>
11990
11991 * doc/invoke.texi (-a): Remove documentation.
11992 (-fprofile-arcs): Remove reference to -a, -ax options.
11993 * doc/gcov.texi (Gcov Data Files): Data might be merged.
11994
11995 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
11996
11997 Fix PR/7566
11998 * c-semantics.c (genrtl_case_label): Don't (mis)use
11999 warning_with_decl.
12000
12001 2002-08-14 Dale Johannesen <dalej@apple.com>
12002
12003 * explow.c (emit_stack_restore): Emit memory clobbers
12004 preceding the stack pop, to prevent the scheduler from
12005 moving refs to variable arrays below this pop.
12006 * reload1.c (reload): Preserve these clobbers for sched2.
12007 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
12008
12009 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
12010
12011 * c-opts.c (c_common_post_options): Correct test.
12012
12013 2002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12014
12015 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12016 order in call to fprintf.
12017
12018 2002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12019
12020 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12021
12022 2002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
12023
12024 * reload.c (find_reloads): Handle constraint letters marked by
12025 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12026 (alternative_allows_memconst): Likewise.
12027 * reload1.c (maybe_fix_stack_asms): Likewise.
12028 * recog.c (asm_operand_ok, preprocess_constraints,
12029 constrain_operands): Likewise.
12030 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12031 * local-alloc.c (block_alloc, requires_inout): Likewise.
12032 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12033
12034 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12035 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12036 * doc/tm.texi: Document these two new target macros.
12037
12038 * config/s390/s390.c (s390_expand_plus_operand): Accept already
12039 valid operands.
12040 (q_constraint): New function.
12041 config/s390/s390-protos.h (q_constraint): Declare it.
12042 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12043 (EXTRA_MEMORY_CONSTRAINT): New macro.
12044
12045 * config/s390/s390.md: Throughout the machine description,
12046 replace all instances of the constraint combinations 'Qo'
12047 or 'oQ' with simply 'Q'.
12048
12049 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
12050
12051 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12052 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12053 (LIBGCC2_CFLAGS): Compile with -mrelax.
12054
12055 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
12056
12057 * doc/invoke.texi: Document -minmax for 68HC12.
12058
12059 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12060 ("uminqi3"): Likewise.
12061 ("uminhi3", "umaxhi3"): Likewise.
12062
12063 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12064 (TARGET_MIN_MAX): Define.
12065 (TARGET_SWITCHES): New option -minmax/-mnominmax.
12066
12067 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
12068
12069 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12070 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12071
12072 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12073 (ret, declare, farsym): New gas macros.
12074 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12075 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12076 and declare the symbol far when compiled with -mlong-calls.
12077 (__far_trampoline): New for 68HC12 trampoline code to invoke a
12078 far handler using jsr/bsr.
12079
12080 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12081 (jsr): New macro to transform a 'jsr' into a 'call'.
12082
12083 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
12084
12085 * doc/invoke.texi: Document -mlong-calls for 68HC12.
12086
12087 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12088 -mlong-calls is specified.
12089 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12090 assembler directives.
12091 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12092 (TARGET_SWITCHES): Add -mlong-calls options.
12093 (current_function_far): Declare.
12094
12095 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12096 into account the page register saved on the stack.
12097 (m68hc11_override_options): Take into account -mlong-calls option.
12098 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12099
12100 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12101 if the function is going to be in 68HC12 banked memory (-mlong-calls).
12102 ("*return_16bit"): Likewise.
12103 ("*return_void"): Likewise.
12104 ("call", "call_value"): Use call for a far function call.
12105
12106 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
12107
12108 * toplev.c (parse_options_and_default_flags): Don't call
12109 post_options here.
12110 (general_init): Initialize GC, pools and tree hash here,
12111 instead of lang_independent_init.
12112 (lang_independent_init): Rename backend_init.
12113 (do_compile): Call post_options hook; exit early if there
12114 have been errors after switch processing.
12115 (toplev_main): Update.
12116
12117 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
12118
12119 * c-pretty-print.h: Guard against multiple inclusion.
12120 Robustify macros.
12121 (pp_c_attributes): Declare.
12122 * c-pretty-print.c (pp_c_attributes): New function.
12123
12124 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12125
12126 * m68k.c (m68k_output_function_prologue,
12127 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12128 and NEWS/MOTOROLA.
12129 * genattrtab.c: Remove dpx2 comment.
12130 * libgcc2.c (__enable_execute_stack): Delete versions for
12131 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12132 sony_news/SYSTYPE_BSD.
12133 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12134 __gmicro__, __i860__, __NeXT__ and __pyr__.
12135 * rtl.h: Remove convex comment.
12136 * varasm.c: Likewise.
12137
12138 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12139
12140 * c-opts.c (lang_flags): Const-ify.
12141 * ra-build.c (undef_table): Likewise.
12142 * ra.c (eliminables): Likewise.
12143
12144 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
12145
12146 * tree.h: Guard against multiple inclusion.
12147
12148 2002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
12149
12150 * reload1.c (reload_cse_simplify): Before checking
12151 REG_FUNCTION_VALUE_P, check REG_P.
12152
12153 2002-08-13 Geoffrey Keating <geoffk@redhat.com>
12154
12155 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12156
12157 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
12158
12159 * c-opts.c (c_common_init_options): Extra braces needed.
12160
12161 Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
12162
12163 * sh.c (sh_init_builtins): Add PARAMS to declaration.
12164 (sh_media_init_builtins, sh_expand_builtin): Likewise.
12165 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12166 (sh_expand_binop_v2sf): Likewise.
12167 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12168 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12169 (sh_initialize_trampoline): Likewise.
12170
12171 2002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
12172
12173 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12174 new condition code modes.
12175 s390.c (s390_match_ccmode_set): Handle those new CC modes.
12176 (s390_select_ccmode): Likewise.
12177 (s390_branch_condition_mask): Likewise.
12178
12179 * s390-protos.h (s390_tm_ccmode): Declare.
12180 s390.c (s390_tm_ccmode): New function.
12181 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12182
12183 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12184 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12185 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12186
12187 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12188 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
12189 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12190 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12191 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12192
12193 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12194 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12195 "*cmpqi_ccs_0"): Remove, replace by ...
12196 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12197 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12198 "*tstqi", "*tstqi_cconly"): ... these new patterns.
12199
12200 ("*cmpsidi_ccs"): Remove, replace by ...
12201 ("*cmpsi_ccs_sign"): ... this new pattern.
12202 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12203
12204 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12205 ("*cli"): ... this new pattern.
12206
12207 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12208 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12209 New patterns.
12210 ("adddi3_64"): Rename to "*adddi3_64".
12211 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12212 ("adddi3"): Adapt expander.
12213
12214 ("*addsi3_cc"): Allow "general_operand" for operand 2.
12215 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12216 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12217
12218 ("addhi3", "addqi3"): Remove, replace by ...
12219 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12220
12221 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12222 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12223 ("subdi3"): Replace by insn and splitter "*subdi3_31".
12224 ("subdi3"): New expander.
12225
12226 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12227
12228 ("subhi3", "subqi3"): Remove, replace by ...
12229 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12230
12231 ("*muldi3_sign"): New pattern.
12232 ("muldi3"): Do not clobber CC.
12233 ("mulsi3"): Likewise.
12234 ("mulsi_6432"): Likewise.
12235
12236 2002-08-13 Denis Chertykov <denisc@overta.ru>
12237
12238 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12239 which can change CC0.
12240
12241 Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
12242
12243 * gcse.c (adjust_libcall_notes): New function.
12244 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
12245
12246 2002-08-13 Nathan Sidwell <nathan@codesourcery.com>
12247
12248 * libgcc2.c (L_bb): Remove unneeded #includes.
12249 (__global_counters, __gthreads_active): Remove unused globals.
12250 (__bb_exit_func): Merge counts into files rather than appending.
12251 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12252 (ALL_CFLAGS): ... to here.
12253
12254 2002-08-13 Denis Chertykov <denisc@overta.ru>
12255
12256 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12257 (function_epilogue): Don't calculate function size.
12258 (ip2k_set_compare): Don't use lookup_const_double.
12259 (asm_file_start): Initialization of commands_in_file removed.
12260 (asm_file_end): Output of commands_in_file removed.
12261
12262 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12263 __INT_MAX__.
12264
12265 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
12266
12267 * c-opts.c (c_common_init_options): Check option array is
12268 sorted if checking enabled.
12269
12270 2002-08-13 Gabriel Dos Reis <gdr@nerim.net>
12271
12272 * c-pretty-print.c: #include "c-tree.h".
12273 (pp_c_simple_type_specifier): Tweak.
12274 (pp_c_storage_class_specifier): New.
12275 (pp_c_function_specifier): Likewise.
12276 (pp_c_declaration_specifiers): Likewise.
12277 (pp_c_init_declarator): Likewise.
12278 (pp_c_declaration): Likewise.
12279 (pp_c_direct_declarator): Stub.
12280 (pp_c_declarator): Likewise.
12281 (pp_c_parameter_declaration): Likewise.
12282
12283 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
12284
12285 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12286 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12287 struct deferred_opt): New.
12288 (COMMAND_LINE_OPTIONS): Add -M*.
12289 (missing_arg): Update.
12290 (c_common_decode_option): Handle -M*.
12291 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
12292 don't call cpp_post_options.
12293 (c_common_finish, check_deps_environment_vars): Update.
12294 * cppfiles.c (stack_include_file, handle_missing_header): Update.
12295 * cpphash.h (CPP_PRINT_DEPS): Remove.
12296 * cppinit.c: Don't include version.h.
12297 (cpp_create_reader): Don't call deps_init. Initialize
12298 warn_long_long.
12299 (cpp_read_main_file): Init deps if necessary.
12300 (cpp_destroy): Conditionally free deps.
12301 (cpp_finish): Update.
12302 (no_tgt): Remove.
12303 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12304 (cpp_post_options): Rename post_options.
12305 * cpplib.h (struct cpp_options): Remove some dependency options;
12306 move others to a new structure.
12307 (cpp_post_options): Remove.
12308 (cpp_finish): Comment.
12309 * fix-header.c (read_scan_file): Don't call cpp_post_options.
12310
12311 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
12312
12313 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12314 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12315 MMIX_rR_REGNUM as clobbered.
12316 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12317
12318 2002-08-12 Gabriel Dos Reis <gdr@nerim.net>
12319
12320 * diagnostic.h (output_formatted_scalar): Rename from
12321 output_formatted_integer.
12322 * diagnostic.def: Add DK_DEBUG.
12323 * diagnostic.c (output_decimal): Adjust.
12324 (output_long_decimal): Likewise.
12325 (output_unsigned_decimal): Likewise.
12326 (output_octal): Likewise.
12327 (output_long_octal): Likewise.
12328 (output_hexadecimal): Likewise.
12329 (output_long_hexadecimal): Likewise.
12330 * c-pretty-print.c (pp_c_type_specifier): New function.
12331 (pp_c_specifier_qualifier_list): Likewise.
12332 (pp_c_abstract_declarator): Likewise.
12333 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12334
12335 2002-08-12 David Edelsohn <edelsohn@gnu.org>
12336
12337 * doc/trouble.texi (Disappointments): Add static constructor and
12338 destructor dependency information for AIX.
12339
12340 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
12341
12342 * cpphash.h (struct printer): New from cppmain.c.
12343 (cpp_reader): New member.
12344 * cppmain.c (struct printer): Move to cpphash.h.
12345 (options, print): Remove.
12346 (account_for_newlines, print_line, maybe_print_line,
12347 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12348 scan_translation_unit_trad, cb_line_change, cb_ident,
12349 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12350 cb_def_pragma): Make reentrant.
12351
12352 2002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12353
12354 * real.c (ieee_64): Always define.
12355 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12356 (dec_h): Not used yet, hide it.
12357 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
12358 macro controlling use.
12359 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12360
12361 Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
12362
12363 * i386.md (tablejump): Sign extend the operand.
12364 * i386.c (classify_argument): Fix missed case from previous patch.
12365
12366 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
12367
12368 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12369 to c-copts.c.
12370 (warn_multichar): Die.
12371 (cb_register_builtins): Export.
12372 * c-common.h (warn_multichar, preprocess_file): Remove.
12373 (cb_register_builtins): New.
12374 * c-lang.c (c_init): Remove.
12375 (LANG_HOOKS_INIT): Use c_objc_common_init.
12376 * c-lex.c (init_c_lex): Don't canonicalize filename.
12377 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12378 (preprocess_file): Make static. Update for cpplib.
12379 (c_common_decode_option): Remove warn_multichar. Use in_fname.
12380 (c_common_post_options): Set some cpp options here.
12381 (c_common_init): Move from c-common.c.
12382 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12383 * cpplib.h (struct cpp_options): Remove in_fname.
12384 (cpp_preprocess_file): Update.
12385 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12386
12387 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12388
12389 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12390
12391 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12392
12393 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12394 backslash in comment preceeding macro definition.
12395 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12396 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12397 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12398
12399 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
12400
12401 * expr.c (store_expr): In condition for checking if value is
12402 generated in TARGET, move call to expr_size last.
12403
12404 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
12405
12406 * c-common.c (c_common_init): Call preprocess_file instead.
12407 (c_common_finish): Move to c-opts.c.
12408 * c-common.h (preprocess_file): new.
12409 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12410 check_deps_environment_vars, c_common_finish): New.
12411 (c_common_decode_option): Update for out_fname and dependencies.
12412 * cppinit.c (init_dependency_output, output_deps): Remove.
12413 (cpp_destroy): Update prototype.
12414 (cpp_add_dependency_target): New.
12415 (cpp_read_main_file): Don't overlay a buffer.
12416 (cpp_finish): Take a deps output stream and write deps to it.
12417 Return the error count.
12418 (cpp_post_options): Don't canonicalize out_fname, or do anything
12419 with dependencies.
12420 * cpplib.h (struct cpp_options): Remove out_fname and
12421 preprocess_only.
12422 (cpp_add_dependency_target): New.
12423 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12424 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
12425 set preprocess_only. Don't handle the output stream directly.
12426
12427 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12428
12429 * dsp16xx.c (print_operand): Fix format specifier.
12430 * dsp16xx.md: Avoid automatic aggregate initialization.
12431 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12432 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12433 integer constant modifier.
12434 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12435 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12436 guards.
12437 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12438 * v850.c (v850_select_section): Mark parameter with
12439 ATTRIBUTE_UNUSED.
12440 * global.c (global_alloc): Const-ify.
12441 * ra-colorize.c (hardregset_to_string): Fix format specifier.
12442
12443 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12444
12445 * darwin-c.c (darwin_pragma_options): Const-ify.
12446 * darwin.c (machopic_non_lazy_ptr_name,
12447 machopic_validate_stub_or_non_lazy_ptr): Likewise.
12448 (machopic_indirect_data_reference): Wrap variables in macros
12449 controlling their use.
12450 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12451 (machopic_select_section): Use parentheses around && within ||.
12452 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12453
12454 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12455
12456 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12457 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12458 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12459 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12460 mdr_try_remove_redundant_insns, track_w_reload,
12461 mdr_try_wreg_elim): Make function static to match prototype.
12462 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
12463 parameter with ATTRIBUTE_UNUSED.
12464
12465 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12466
12467 * arc.c (arc_init): Don't use ISO C style function definitions.
12468 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12469 arm_get_strip_length, arm_strip_name_encoding): Likewise.
12470 * avr.h (progmem_section): Likewise.
12471 * h8300.c h8300_asm_insn_count): Likewise.
12472 * m32r.c (init_idents): Likewise.
12473 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12474 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12475 * xtensa.c (xtensa_build_va_list): Likewise.
12476
12477 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
12478
12479 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12480 * c-opts.c (parse_option): Rename find_opt.
12481 (set_std_c99): New function.
12482 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
12483 (missing_arg): Remove OPT_std_bad. Handle -o.
12484 (c_common_decode_option): Handle input and output file names,
12485 -o and -remap. Clean up -std= handling.
12486 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12487 (cpp_handle_option): Similarly. Don't handle filenames.
12488
12489 Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
12490
12491 * i386.c (classify_argument): Fix computing of field's offsets.
12492
12493 2002-08-11 Andreas Jaeger <aj@suse.de>
12494
12495 PR target/7531:
12496 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12497
12498 2002-08-10 Ziemowit Laski <zlaski@apple.com>
12499
12500 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12501 reference to clk_objective_c with flag_objc.
12502 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12503 Likewise.
12504 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12505
12506 2002-08-10 Neil Booth <neil@daikokuya.co.uk>
12507
12508 * c-opts.c (set_std_cxx98, set_std_c89): New.
12509 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12510 (c_common_decode_option): Handle new switches from cppinit.c.
12511 Add -std=gnu++98.
12512 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
12513 (no_arg, no_num): Remove.
12514 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
12515 switches apart from -lang-objc and lang-asm.
12516 (cpp_handle_option): Similarly.
12517 * cpplib.h (cpp_set_lang): New.
12518 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12519 -std=gnu++98.
12520 * objc/lang-specs.h: Remove -ansi.
12521
12522 Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
12523 Graham Stott
12524
12525 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12526 errors.
12527
12528 2002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12529
12530 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12531 emit_jump_insn): Fix uninitialized variable.
12532 * gcov.c (init_line_info): Likewise.
12533 * genautomata.c (transform_3): Add braces around ambiguous
12534 else.
12535 * ifcvt.c (cond_exec_process_insns): Mark parameter with
12536 ATTRIBUTE_UNUSED.
12537 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12538 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12539 variable.
12540
12541 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12542 warnings in output files.
12543
12544 2002-08-09 Ziemowit Laski <zlaski@apple.com>
12545
12546 * c-common.c (flag_objc): New.
12547 * c-common.h (c_language_kind): Get rid of clk_objective_c
12548 enum value.
12549 (flag_objc): New extern declaration.
12550 * c-decl.c (implicitly_declare): Call objc_check_decl
12551 instead of maybe_objc_check_decl.
12552 (finish_decl): Likewise.
12553 (grokfield): Likewise.
12554 (finish_struct): Likewise.
12555 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12556 (maybe_objc_comptypes): Rename to objc_comptypes.
12557 (maybe_building_objc_message_expr): Rename to
12558 objc_message_selector.
12559 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12560 replace with flag_objc as needed.
12561 * c-opts.c (c_common_init_options): Likewise.
12562 (c_common_decode_option): Likewise.
12563 * c-parse.in (init_reswords): Likewise.
12564 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12565 (maybe_objc_comptypes): Rename to objc_comptypes.
12566 (maybe_building_objc_message_expr): Rename to
12567 objc_message_selector.
12568 * c-typeck.c (comptypes): Call objc_comptypes instead of
12569 maybe_objc_comptypes, and/or objc_message_selector instead of
12570 maybe_building_objc_message_expr.
12571 (comp_target_types): Likewise.
12572 (convert_for_assignment): Likewise.
12573 (warn_for_assignment): Likewise.
12574 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12575 independently of those for other languages.
12576 * objc/objc-act.c (maybe_objc_comptypes): Delete.
12577 (maybe_objc_check_decl): Delete.
12578 (maybe_building_objc_message_expr): Rename to
12579 objc_message_selector.
12580 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12581 clk_objective_c; set flag_objc flag.
12582
12583 2002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
12584
12585 * ifcvt.c (find_if_case_2): Test correct basic block for size.
12586
12587 2002-08-09 Dale Johannesen <dalej@apple.com>
12588
12589 * config/rs6000/rs6000.md: Add sibcall patterns.
12590 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
12591 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
12592 Rewritten to handle sibcalls.
12593 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
12594 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
12595
12596 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
12597
12598 * profile.c (da_file_name): New static var.
12599 (init_branch_prob): Initialize it.
12600 (end_branch_prob): Remove da file.
12601
12602 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
12603 * configure.in (coverage_flags): Default to nothing.
12604 * configure: Rebuilt.
12605
12606 2002-08-09 Neil Booth <neil@daikokuya.co.uk>
12607
12608 * Makefile.in (c-opts.o): Update
12609 * c-opts.c: Include intl.h.
12610 (print_help): Move from cppinit.c. Remove unused options.
12611 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12612 (missing_arg): Complain for switches without an argument.
12613 (c_common_decode_option): Reject missing joined arguments.
12614 Handle new switches from cppinit.c.
12615 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12616 (cpp_handle_option): Similarly.
12617 (print_help): Moved to c-opts.c.
12618 * cpplib.h (struct cpp_options): Remove help_only.
12619 * gcc.c (cpp_unique_options): Remove -$.
12620 * doc/cppopts.texi: Undocument -h.
12621
12622 2002-08-08 Jakub Jelinek <jakub@redhat.com>
12623
12624 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
12625 legitimate constant.
12626 (legitimate_pic_operand_p): Neither pic operand.
12627 (legitimate_address_p): But legitimate address.
12628 (get_thread_pointer): Generate MEM/u instead of CONST around
12629 UNSPEC_TP.
12630 (print_operand): Remove printing of UNSPEC_TP.
12631 (print_operand_address): And print it here.
12632
12633 2002-08-08 Devang Patel <dpatel@apple.com>
12634
12635 * objc/objc-act.c (build_selector_translation_table): Issue warning,
12636 when -Wselector is used,if method for which selector is being
12637 created does not exist.
12638
12639 2002-08-08 Stephen Clarke <stephen.clarke@superh.com>
12640
12641 * config/sh/sh.c (prepare_move_operands): Only call
12642 target_reg_operand if TARGET_SHMEDIA.
12643
12644 2002-08-08 Jakub Jelinek <jakub@redhat.com>
12645
12646 * config/rs6000/rs6000.h, config/rs6000/aix.h,
12647 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
12648 two patches.
12649 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
12650
12651 2002-08-08 Lars Brinkhoff <lars@nocrew.org>
12652 Richard Henderson <rth@redhat.com>
12653
12654 * emit-rtl.c (gen_rtx_REG): After reload, only return
12655 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
12656
12657 2002-08-08 Jakub Jelinek <jakub@redhat.com>
12658
12659 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
12660 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
12661 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
12662 macro.
12663
12664 2002-08-08 Adam Nemet <anemet@lnxw.com>
12665
12666 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
12667 register.
12668 (thumb_expand_prologue): Likewise.
12669 (thumb_output_function_prologue): Likewise.
12670 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
12671 the additional push of the PIC register.
12672
12673 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
12674
12675 * configure.in (enable_coverage): New enable switch.
12676 * configure: Rebuilt.
12677 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
12678 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
12679 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
12680 (mostlyclean): Remove coverage files.
12681 * doc/install.texi: Document enable_coverage.
12682
12683 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
12684 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12685 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
12686 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
12687 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
12688 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
12689 files.
12690
12691 2002-08-08 Neil Booth <neil@daikokuya.co.uk>
12692
12693 * c-opts.c (cpp_opts): New.
12694 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
12695 (c_common_decode_options): Handle cpplib switches.
12696 (c_common_init_options): Set cpp_opts.
12697 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
12698 (cpp_handle_option): Similarly.
12699
12700 2002-08-08 David Edelsohn <edelsohn@gnu.org>
12701
12702 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
12703 (TARGET_ALTIVEC_ABI): Same.
12704 (TARGET_ALTIVEC_VRSAVE): Same.
12705
12706 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
12707 icode not CODE_FOR_nothing. Change switch to if.
12708
12709 2002-08-08 Alan Modra <amodra@bigpond.net.au>
12710
12711 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
12712
12713 2002-08-08 Jakub Jelinek <jakub@redhat.com>
12714
12715 * stor-layout.c (place_union_field): For bitfields if
12716 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
12717 TYPE_USER_ALIGN.
12718
12719 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
12720
12721 * pa.c (struct deferred_plabel): Constify name field.
12722
12723 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
12724
12725 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
12726
12727 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
12728
12729 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
12730 local_prefix are the same.
12731 * configure: Rebuilt.
12732
12733 2002-08-07 Jakub Jelinek <jakub@redhat.com>
12734 Richard Henderson <rth@redhat.com>
12735
12736 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
12737 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
12738 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
12739 (place_field): Likewise.
12740 * config/i386/i386.c (x86_field_alignment): Don't check
12741 DECL_USER_ALIGN here.
12742 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
12743 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
12744 prototype.
12745 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
12746 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
12747 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
12748 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
12749 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
12750 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
12751
12752 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
12753
12754 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
12755 * c-common.c: Don't include tree-inline.h.
12756 (c_common_init_options, c_common_post_options): Move to c-opts.c.
12757 * c-common.h (c_common_decode_option): New.
12758 * c-decl.c (c_decode_option): Remove.
12759 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
12760 * c-opts.c: New file.
12761 * c-tree.h (c_decode_option): Remove.
12762 * doc/passes.texi: Update.
12763 * objc/objc-act.c (objc_decode_option): Remove.
12764 * objc/objc-act.h (objc_decode_option): Remove.
12765 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
12766 c_common_decode_option.
12767
12768 2002-08-07 Chris Demetriou <cgd@broadcom.com>
12769
12770 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
12771 dependency on TARGET_DOUBLE_FLOAT.
12772
12773 2002-08-07 Stephen Clarke <stephen.clarke@superh.com>
12774
12775 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
12776 overwrite callee-save registers. Fix comment.
12777
12778 2002-08-06 Chris Demetriou <cgd@broadcom.com>
12779
12780 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
12781 in target_flags based on ISA, if it was not set on the command
12782 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
12783 support Branch Likely instructions.
12784 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
12785 (TARGET_BRANCHLIKELY): Likewise.
12786 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
12787 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
12788 ISA_HAS_BRANCHLIKELY.
12789 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
12790 * doc/invoke.texi: Document new MIPS -mbranch-likely and
12791 -mno-branch-likely options.
12792
12793 2002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12794
12795 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
12796
12797 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
12798 $(GCONFIG_H).
12799
12800 2002-08-06 Aldy Hernandez <aldyh@redhat.com>
12801
12802 * c-decl.c (duplicate_decls): Error out for incompatible TLS
12803 declarations.
12804
12805 * testsuite/gcc.dg/tls/diag-3.c: New.
12806
12807 2002-08-06 Dale Johannesen <dalej@apple.com>
12808
12809 * c-common.c (fname_decl): Use line number 0 for
12810 __func__, to avoid confusing debuggers.
12811
12812 2002-08-06 Nathan Sidwell <nathan@codesourcery.com>
12813
12814 * gcov.c: Tidy.
12815 (struct line_info, struct coverage): New structures.
12816 (gcov_file_name, gcov_file): Remove globals.
12817 (output_data): Take source file parameter. Fix memory leak. Break
12818 up into ...
12819 (init_line_info, output_line_info, make_gcov_file_name,
12820 accumulate_branch_counts): ... here.
12821 (calculate_branch_probs, function_summary): Adjust.
12822 (main): Adjust.
12823 (function_*): Remove global variables.
12824
12825 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
12826
12827 * dwarf2out.c: Remove unused macros.
12828
12829 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
12830
12831 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
12832
12833 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
12834
12835 * cppinit.c (struct lang_flags): Rename trigraphs std.
12836 (set_lang): Update.
12837 * cpplib.h (struct cpp_options): New member std.
12838 * cppmacro.c (_cpp_builtin_macro_text): Use std.
12839 (collect_args): Flag whether to swallow a possible future
12840 comma pasted with varargs.
12841 (replace_args): Use this flag.
12842 * doc/cpp.texi: Update varargs extension documentation.
12843
12844 2002-08-06 Jakub Jelinek <jakub@redhat.com>
12845
12846 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
12847
12848 2002-08-06 Jakub Jelinek <jakub@redhat.com>
12849
12850 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
12851 and MODE_CLASS_INT modes.
12852
12853 2002-08-06 Jakub Jelinek <jakub@redhat.com>
12854
12855 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
12856 --{enable,disable}-threads is given to configure.
12857 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
12858 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
12859 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
12860 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
12861 Remove thread_file setting here.
12862
12863 2002-08-06 David Edelsohn <edelsohn@gnu.org>
12864
12865 * doc/install.texi (Binaries): Update Bull Freeware URL.
12866
12867 2002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12868
12869 * doc/gcc.texi (Top): Rename Index to Keyword Index.
12870
12871 2002-08-05 Nathan Sidwell <nathan@codesourcery.com>
12872
12873 * gcov.c (output_data): Round to % to nearest, tweak formatting.
12874
12875 2002-08-05 Jakub Jelinek <jakub@redhat.com>
12876
12877 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
12878 of the operands into MINUS_EXPR if code is PLUS_EXPR.
12879
12880 2002-08-05 Douglas B Rupp <rupp@gnat.com>
12881
12882 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
12883 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
12884 drectve_section): Define.
12885 * config/i386/t-interix: Replace interix.o rule with winnt.o.
12886 * config/i386/interix.c: Remove.
12887
12888 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
12889
12890 * attribs.c: Don't include obstack.h.
12891 * builtins.c: Likewise.
12892 * cfganal.c: Likewise.
12893 * cfgbuild.c: Likewise.
12894 * cfgcleanup.c: Likewise.
12895 * emit-rtl.c: Likewise.
12896 * loop.c: Likewise.
12897 * stmt.c: Likewise.
12898
12899 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
12900
12901 2002-08-05 Gabriel Dos Reis <gdr@nerim.net>
12902
12903 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
12904
12905 2002-08-04 Chris Demetriou <cgd@broadcom.com>
12906
12907 * doc/invoke.texi: Remove duplicated paragraph describing
12908 TARGET_SWITCHES.
12909
12910 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
12911
12912 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
12913 * collect2.h (permanent_obstack): Delete declaration.
12914 * collect2.c (permanent_obstack): Delete definition.
12915 (main): Don't initialize permanent_obstack. Use xstrdup instead.
12916 * expr.c: Don't include obstack.h.
12917 (permanent_obstack): Delete declaration.
12918 * function.c: Don't include obstack.h.
12919 (permanent_obstack): Delete declaration.
12920 * integrate.c: Don't include obstack.h.
12921 (function_maybepermanent_obstack): Delete declaration.
12922 * print-tree.c (debug_tree): Use x*alloc not permalloc.
12923 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
12924 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
12925 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
12926 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
12927 of permalloc, expralloc, perm_calloc.
12928 * tree.c (permanent_obstack): Delete definition.
12929 (init_ttree): Rename from init_obstacks.
12930 (permalloc): Delete.
12931 (perm_calloc): Delete.
12932 (dump_tree_statistics): Don't print information about
12933 permanent_obstack.
12934 * varasm.c (assemble_start_function): Use xstrdup instead of
12935 permalloc/strcpy.
12936 (assemble_variable): Likewise.
12937 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
12938 permalloc.
12939 (unicosmk_add_extern): Likewise.
12940 * config/c4x/c4x.c (c4x_external_ref): Likewise.
12941 (c4x_global_label): Likewise.
12942 * config/frv/frv.c (frv_encode_section_info): Likewise.
12943 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
12944 (i386_pe_record_exported_symbol): Likewise.
12945 * config/mips/mips.c (mips_output_external): Likewise.
12946 (mips_output_external_libcall): Likewise.
12947 * config/pa/pa.c: (permanent_obstack): Delete declaration.
12948 (output_call): Use ggc_strdup instead of allocating on
12949 permanent_obstack.
12950 * config/romp/romp.c: Include ggc.h.
12951 (get_symref): Don't declare permanent_obstack, use ggc_strdup
12952 intead of permanent_obstack.
12953 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
12954 instead of permalloc.
12955 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
12956 instead of permalloc
12957 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
12958 instead of permalloc.
12959 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
12960 permalloc.
12961
12962 2002-08-04 Bernd Schmidt <bernds@redhat.com>
12963
12964 Contribute a port developed primarily by Michael Meissner,
12965 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
12966 * config.gcc: Add frv-elf target.
12967 * config/frv/cmovd.c: New file.
12968 * config/frv/cmovh.c: New file.
12969 * config/frv/cmovw.c: New file.
12970 * config/frv/frv-abi.h: New file.
12971 * config/frv/frv-asm.h: New file.
12972 * config/frv/frv-modes.def: New file.
12973 * config/frv/frv-protos.h: New file.
12974 * config/frv/frv.c: New file.
12975 * config/frv/frv.h: New file.
12976 * config/frv/frv.md: New file.
12977 * config/frv/frvbegin.c: New file.
12978 * config/frv/frvend.c: New file.
12979 * config/frv/lib1funcs.asm: New file.
12980 * config/frv/media.h: New file.
12981 * config/frv/modi.c: New file.
12982 * config/frv/t-frv: New file.
12983 * config/frv/uitod.c: New file.
12984 * config/frv/uitof.c: New file.
12985 * config/frv/ulltod.c: New file.
12986 * config/frv/ulltof.c: New file.
12987 * config/frv/umodi.c: New file.
12988 * config/frv/xm-frv.h: New file.
12989
12990 * config/frv/media.h: Removed again.
12991
12992 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
12993
12994 * gcov.c (bb_file_time): New static variable.
12995 (object_directory): May also be object file.
12996 (preserve_paths): New static variable.
12997 (print_usage): Adjust.
12998 (options): Adjust.
12999 (process_args): Adjust.
13000 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13001 file. Find modification date on bb file.
13002 (read_profile): Don't rewind a NULL file.
13003 (format_hwint): New static function.
13004 (function_summary): Use format_hwint.
13005 (output_data): SOURCE_FILE_NAME is never relative to
13006 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13007 mangling. Adjust output format to make it more machine readable.
13008 * doc/gcov.texi: Document & clarify semantics.
13009
13010 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
13011
13012 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13013
13014 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
13015
13016 * gcc.c (cc1_options): Pass output file as auxbase when
13017 appropriate.
13018 * profile.c (init_branch_prob): FILENAME has already had ending
13019 stripped.
13020 * final.c (end_final): Likewise.
13021 * toplev.c (aux_base_name): New global.
13022 (compile_file): Pass aux_base_name to init init_branch_prob and
13023 end_final.
13024 (independent_decode_option, case 'a'): New auxinfo options.
13025 (case 'd'): Protect against mising basename.
13026 (do_compile): Initialize aux_base_name.
13027 * toplev.h (aux_base_name): New global.
13028 * doc/invoke.texi: Adjust documentation.
13029
13030 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
13031
13032 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13033 of TARGET_ALIGN_DOUBLE.
13034
13035 2002-08-04 Gabriel Dos Reis <gdr@nerim.net>
13036
13037 * diagnostic.c (inform): New function.
13038 * diagnostic.h (inform): Declare.
13039
13040 2002-08-03 David Edelsohn <edelsohn@gnu.org>
13041
13042 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13043 (movhi_internal): Same.
13044 (movqi_internal): Same.
13045 (movdi_internal64): Same.
13046
13047 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13048
13049 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13050 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
13051 (COMMON_ASM_OP): Define.
13052 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
13053 Use ALIGN parameter.
13054 (LOCAL_COMMON_ASM_OP): Define.
13055 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
13056
13057 2002-08-03 Roger Sayle <roger@eyesopen.com>
13058
13059 * builtins.def: Define new builtin functions exp, expf, expl,
13060 log, logf and logl (and their __builtin_* variants).
13061 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13062 Define exp_optab and log_optab.
13063 * optabs.c (init_optans): Initialize exp_optab and log_optab.
13064 * genopinit.c (optabs): Implement exp_optab and log_optab
13065 using exp?f2 and log?f2 patterns.
13066 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13067 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13068 (expand_builtin): Ignore the new builtins (and all cos and
13069 sin variants) when not optimizing. Expand new builtins via
13070 expand_builtin_mathfn when flag_unsafe_math_optimizations.
13071
13072 * doc/extend.texi: Document new exp and log builtins.
13073 * doc/md.texi: Document new exp?f2 and log?f2 patterns
13074 (and previously undocumented cos?f2 and sin?f2 patterns).
13075
13076 2002-08-03 Jason Merrill <jason@redhat.com>
13077
13078 * explow.c (int_expr_size): New fn.
13079 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13080 * expr.h: Declare it.
13081
13082 2002-08-02 Krister Walfridsson <cato@df.lth.se>
13083
13084 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13085 gengtype-* dependencies.
13086
13087 2002-08-02 Eric Christopher <echristo@redhat.com>
13088
13089 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13090 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13091 #ifndef to #undef.
13092 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13093
13094 2002-08-02 David Edelsohn <edelsohn@gnu.org>
13095
13096 PR optimize/7067
13097 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13098 small if optimizing for size.
13099
13100 2002-08-02 Daniel Jacobowitz <drow@mvista.com>
13101
13102 * configure.in (FORBUILD): Use $build_alias.
13103 * configure: Regenerated.
13104
13105 2002-08-02 Richard Sandiford <rsandifo@redhat.com>
13106
13107 * config.gcc: Don't include mips/abi64.h in $tm_file.
13108 * hard-reg-set.h (call_really_used_regs): Declare.
13109 * config/mips/abi64.h: Remove file.
13110 * config/mips/linux.h,
13111 * config/mips/iris6.h: Don't include it.
13112 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13113 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13114 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13115 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13116 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13117 Bring across definitions from abi64.h.
13118 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13119 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13120 (struct mips_args): Use it.
13121 * config/mips/mips.c (mips_conditional_register_usage): Define.
13122
13123 2002-08-02 Jason Merrill <jason@redhat.com>
13124
13125 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13126 * langhooks.c (lhd_expr_size): Define default.
13127 * langhooks.h (struct lang_hooks): Add expr_size.
13128 * explow.c (expr_size): Call it.
13129 * expr.c (store_expr): Don't copy an expression of size zero.
13130 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13131 to store.
13132 * Makefile.in (builtins.o): Depend on langhooks.h.
13133
13134 2002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13135
13136 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13137 * ra-debug.c: Include "tm_p.h".
13138 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13139
13140 2002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
13141
13142 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13143 when not honoring signalling NaNs.
13144 (simplify_ternary_operation): a == b has a definite value
13145 when not honoring NaNs.
13146
13147 2002-08-02 Jason Merrill <jason@redhat.com>
13148
13149 * gdbinit.in (pct): New macro.
13150
13151 2002-08-01 Stan Shebs <shebs@apple.com>
13152 Andreas Tobler <toa@pop.agri.ch>
13153
13154 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13155 plays nice with Darwin headers.
13156 (_BSD_RUNE_T_DEFINED_): Likewise.
13157
13158 2002-08-01 Zack Weinberg <zack@codesourcery.com>
13159
13160 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13161 * cppinit.c (cpp_post_options): Likewise.
13162
13163 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13164 warning about 'LL' suffix (but not 'ULL' etc) when
13165 -Wno-long-long is in effect.
13166
13167 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13168 Check for failing time()/localtime(), issue a warning, and
13169 make __TIME__ and __DATE__ expand to fallback strings.
13170
13171 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13172 and __TIME__ when the date and time cannot be determined.
13173
13174 2002-08-02 Alan Modra <amodra@bigpond.net.au>
13175
13176 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13177
13178 2002-08-01 Daniel Jacobowitz <drow@mvista.com>
13179
13180 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13181
13182 2002-08-01 Chris Demetriou <cgd@broadcom.com>
13183
13184 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13185 (mipsisa64sb1el-*-elf*): Likewise.
13186 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13187 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13188 (TARGET_SB1, TUNE_SB1): New macros.
13189 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13190 -mtune flags.
13191
13192 2002-08-01 David Edelsohn <edelsohn@gnu.org>
13193
13194 * varasm.c (asm_emit_uninitialized): Return false if global BSS
13195 and ASM_EMIT_BSS not supported by target.
13196 (assemble_variable): Do not duplicate uninitialized logic.
13197 Fall through if asm_emit_uninitialized failed.
13198
13199 2002-08-01 Chris Demetriou <cgd@broadcom.com>
13200
13201 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13202
13203 2002-08-02 Alan Modra <amodra@bigpond.net.au>
13204
13205 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13206 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13207
13208 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13209 HOST_BITS_PER_WIDE_INT == 64.
13210
13211 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13212
13213 * df.c (df_insn_table_realloc): Change parameter to unsigned.
13214 * optabs.c (expand_binop): Make variable unsigned.
13215 * simplify-rtx.c (simplify_subreg): Likewise.
13216 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13217
13218 2002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13219
13220 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13221
13222 2002-08-01 Richard Henderson <rth@redhat.com>
13223
13224 * toplev.c (parse_options_and_default_flags): Don't set
13225 flag_reorder_blocks for -Os.
13226
13227 * config/avr/avr.c (avr_optimization_options): Remove.
13228 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13229 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13230 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13231
13232 2002-08-01 H.J. Lu <hjl@gnu.org>
13233 Richard Henderson <rth@redhat.com>
13234
13235 * output.h (DECL_READONLY_SECTION): Remove.
13236 (decl_readonly_section): Declare.
13237 * varasm.c (decl_readonly_section): New.
13238 (default_section_type_flags, default_select_section): Use it.
13239 * config/arm/pe.c (arm_pe_unique_section): Likewise.
13240 * config/i386/interix.c (i386_pe_unique_section): Likewise.
13241 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13242 * config/mcore/mcore.c (mcore_unique_section): Likewise.
13243 * config/mips/mips.c (mips_unique_section): Likewise.
13244
13245 2002-08-01 Richard Henderson <rth@redhat.com>
13246
13247 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13248 refers to a subroutine parameter.
13249
13250 2002-08-01 Jakub Jelinek <jakub@redhat.com>
13251
13252 * varasm.c (assemble_visibility): Strip name encoding.
13253
13254 2002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
13255
13256 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13257 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13258 when there is no frame pointer.
13259 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13260 registers properly.
13261 * config/ns32k/__unorddf2.c: New file.
13262 * config/ns32k/__unordsf2.c: New file.
13263 * config/ns32k/t-ns32k: New file.
13264 * config.gcc (ns32k-*-netbsd*): Use it.
13265
13266 2002-08-01 Aldy Hernandez <aldyh@redhat.com>
13267
13268 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13269
13270 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
13271
13272 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13273
13274 2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
13275
13276 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13277
13278 2002-08-01 Richard Sandiford <rsandifo@redhat.com>
13279
13280 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13281
13282 2002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13283
13284 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13285 n_sets): Removed.
13286 (expr_hash_table, set_hash_table): Type changed to ...
13287 (struct hash_table): New type.
13288 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13289 insert_expr_in_table, insert_set_in_table, compute_hash_table,
13290 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13291 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13292 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13293 (alloc_hash_table): New.
13294 (free_set_hash_table, free_expr_hash_table): Merged to ...
13295 (free_hash_table): New.
13296 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13297 (compute_hash_table_work): New.
13298 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13299 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13300 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13301 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13302 hoist_code, one_code_hoisting_pass,
13303 trim_ld_motion_mems): Altered due to changed type of hash tables.
13304
13305 2002-08-01 Zack Weinberg <zack@codesourcery.com>
13306
13307 * final.c (output_alternate_entry_point):
13308 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13309
13310 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13311
13312 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13313 avoid ISO C style function definition.
13314
13315 * expr.c (expand_assignment): Delete unused variable.
13316
13317 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
13318
13319 * c-common.c (cb_register_builtins): Set
13320 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13321 is given, and to 0 otherwise.
13322 * combine.c (simplify_if_then_else): HONOR_NANS
13323 implies FLOAT_MODE_P.
13324
13325 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
13326
13327 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13328 (cpp_handle_option): Don't handle it.
13329 (print_help): Update.
13330 * doc/cppopts.texi: Update.
13331
13332 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
13333
13334 * c-common.c (cb_register_builtins): If C++, define
13335 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13336 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13337 cp:
13338 * lang-specs.h: Simplify in accordance with new code in
13339 c-common.c.
13340
13341 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
13342
13343 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13344 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13345 * c-decl.c: Move all warning and flag variables to c-common.c.
13346 * c-format.c: Move all warning variables to c-common.c.
13347 * c-tree.h: Move all warning and flag declarations to c-common.h.
13348 * objc/objc-act.c: Move all warning variables to c-common.c.
13349 (flag_warn_protocol): Rename warn_protocol.
13350
13351 2002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
13352
13353 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13354
13355 2002-07-31 Graham Stott <graham.stott@btinternet.com>
13356
13357 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13358 .section prefix.
13359
13360 2002-07-31 Stan Shebs <shebs@apple.com>
13361
13362 * config.gcc (i[34567]86-*-darwin*): New configuration.
13363 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13364 defining.
13365 (TARGET_ENCODE_SECTION_INFO): Ditto.
13366 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13367 * config/darwin.c (machopic_indirect_data_reference): Remove
13368 setting of RTX_UNCHANGING_P.
13369 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13370 not to be applied to sums.
13371 * config/i386/t-darwin: New file.
13372 * config/i386/darwin.h: New file.
13373 * config/i386/i386.h (TARGET_MACHO): Add default definition.
13374 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13375 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13376 label and not the GOT add.
13377 (constant_address_p): For Mach-O, seeing a CONST is enough.
13378 (legitimate_pic_address_disp_p): Add a Mach-O case.
13379 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13380 (legitimize_pic_address): Use generic Mach-O code to legitimize.
13381 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13382 if outputting a difference.
13383 (ix86_output_addr_diff_elt): Add Mach-O case.
13384 (ix86_expand_move): Similarly.
13385 (ix86_expand_call): Similarly.
13386 (current_machopic_label_num): New global.
13387 (machopic_output_stub): New function.
13388 (ix86_value_regno): New function.
13389 (ix86_function_value): Use it instead of VALUE_REGNO.
13390 (ix86_libcall_value): Ditto.
13391 * config/i386/unix.h (VALUE_REGNO): Remove.
13392
13393 2002-07-31 Graham Stott <grahas@btinternet.com>
13394
13395 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13396 hash for LABEL_REF's.
13397
13398 2002-07-31 Graham Stott <grahams@btinternet.com>
13399
13400 * config/rs6000/rs6000.c (spe_init_builtins,
13401 altivec_init_builtins, rs6000_common_init_builtins):
13402 Replace ANSI with K&R function def.
13403
13404 2002-07-31 David Edelsohn <edelsohn@gnu.org>
13405
13406 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13407 for CCFPmode.
13408
13409 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
13410
13411 * config/mips/crtn.asm: Don't use __mips16 to determine the
13412 return-address offset. Define RA to a suitable temporary
13413 register for the return address.
13414
13415 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
13416
13417 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13418 constraints to 'd'.
13419
13420 2002-07-30 Chris Demetriou <cgd@broadcom.com>
13421
13422 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13423 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
13424 patch on 2002-07-29.)
13425 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13426
13427 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13428
13429 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13430 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13431 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13432 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13433 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13434 (ASM_GLOBALIZE_LABEL): Delete.
13435 (GLOBAL_ASM_OP): Define.
13436
13437 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13438
13439 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13440 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13441
13442 2002-07-30 Geoffrey Keating <geoffk@redhat.com>
13443
13444 * doc/extend.texi (Hints implementation): Document that GCC
13445 mostly ignores `register'.
13446
13447 2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
13448
13449 * flags.h: Declare flag_finite_math_only.
13450 Use it in definition of HONOR_NANS and
13451 HONOR_INFINITIES.
13452 * c-common.c (cb_register_builtins): Emit
13453 __FINITE_MATH_ONLY__ when flag_finite_math_only
13454 is set.
13455 * combine.c (simplify_if_then_else): If
13456 flag_finite_math_only is set, a == b has a
13457 definite value.
13458 * toplev.c: Initialize flag_finite_math_only.
13459 (set_flags_fast_math): Set it on -ffast-math.
13460 (flag_fast_math_set_p): Test it.
13461 * doc/invoke.texi: Document -ffinite-math-only.
13462
13463 2002-07-30 Richard Henderson <rth@redhat.com>
13464
13465 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13466 (noce_process_if_block): Likewise.
13467
13468 2002-07-30 Bernd Schmidt <bernds@redhat.com>
13469
13470 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13471 Bail out early if false_expr is NULL and we'd crash due to this.
13472 * genemit.c (gen_expand): Recognize return insns even if the return
13473 appears in a parallel.
13474 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13475 * config/fp-bit.c: Likewise.
13476 * doc/tm.texi: Document it.
13477
13478 2002-07-30 David Edelsohn <edelsohn@gnu.org>
13479 Zack Weinberg <zack@codesourcery.com>
13480
13481 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13482 CODE_FOR_nothing. Change switch to if.
13483 (rs6000_expand_binop_builtin): Same.
13484 (rs6000_expand_builtin): Expand builtin if target support enabled.
13485 (rs6000_init_builtins): Init builtin if target support enabled.
13486 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13487
13488 2002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13489
13490 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13491
13492 2002-07-30 Richard Sandiford <rsandifo@redhat.com>
13493
13494 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13495
13496 Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
13497
13498 * sh.md (cond_delay_slot): New attribute.
13499 (cbranch delay): Use it for anulled-true case.
13500 (stuff_delay_slot): New pattern.
13501 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13502 delay slot insn.
13503 (gen_far_branch): Emit stuff_delay_slot pattern.
13504
13505 Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
13506
13507 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13508
13509 2002-07-30 Kazu Hirata <kazu@cs.umass.edu>
13510
13511 * fold-const.c: Fix comment typos.
13512 * gcse.c: Likewise.
13513 * reload1.c: Likewise.
13514
13515 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
13516
13517 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13518 for TARGET_SPE.
13519
13520 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
13521
13522 * c-pretty-print.h (pp_c_statement): Declare.
13523 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13524 (pp_c_statement): Define.
13525
13526 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13527
13528 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13529 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13530 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13531 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13532 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13533 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13534
13535 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13536 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13537
13538 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
13539
13540 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13541 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13542 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13543 (pp_c_expression): Update.
13544
13545 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13546
13547 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13548 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13549 * alpha/vms-ld.c (main): Likewise.
13550 * dsp16xx.c (double_reg_to_memory): Likewise.
13551 * mcore.c (mcore_expand_prolog): Likewise.
13552 * cppfiles.c (read_name_map): Likewise.
13553 * gensupport.c (process_rtx, identify_predicable_attribute,
13554 alter_test_for_insn): Likewise.
13555 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13556
13557 2002-07-29 Roger Sayle <roger@eyesopen.com>
13558
13559 * builtins.c (expand_builtin): Change the default behavior to
13560 only issue an error if the builtin function doesn't have a
13561 fallback library call. Remove several cases handled by the
13562 new default.
13563
13564 2002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
13565
13566 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13567 floating point format of the target is IEEE.
13568 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13569 format of the target is DEC.
13570
13571 2002-07-29 Richard Henderson <rth@redhat.com>
13572
13573 * unroll.c (verify_addresses): Remove.
13574 (find_splittable_givs): Never split DEST_ADDR givs.
13575
13576 2002-07-29 Geoffrey Keating <geoffk@redhat.com>
13577
13578 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13579 is exhaustive.
13580 (Files): Improve documentation on generated source files.
13581
13582 * doc/extend.texi (Translation implementation): Document what
13583 diagnostics look like.
13584 (Identifiers implementation): Document that there's normally no
13585 limit on identifier names.
13586 (Integers implementation): Document two's complement.
13587 (Hints implementation): Document that GCC honors 'inline', mostly.
13588 (Preprocessing directives implementation): Document that GCC
13589 requires the current time.
13590
13591 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
13592
13593 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
13594 (pp_initializer): New macro.
13595 (pp_c_initializer): Declare.
13596 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
13597 (pp_c_initializer): Define.
13598 (pp_c_initializer_list): New function.
13599 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
13600 VECTOR_CST, CONSTRUCTOR.
13601 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
13602 IMAGPART_EXPR.
13603 (pp_c_cast_expression): Handle FLOAT_EXPR.
13604 (pp_c_assignment_expression): Handle INIT_EXPR.
13605 (pp_c_expression): Update.
13606
13607 2002-07-30 Neil Booth <neil@daikokuya.co.uk>
13608
13609 * objc/objc-act.c (objc_init): Return immediately if filename
13610 is NULL.
13611
13612 2002-07-29 Eric Christopher <echristo@redhat.com>
13613
13614 * config/mips/elf.h: Remove ecoff.h and gofast includes.
13615 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
13616 (SDB_DEBUGGING_INFO): Undefine.
13617 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
13618 (PUT_SDB_SIZE): Remove.
13619 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
13620 (STARTFILE_SPEC): Add isa3264 define.
13621 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
13622 * config/mips/ecoff.h: Remove. and here...
13623 * config/mips/iris3.h: and here...
13624 * config/mips/sni-svr4.h: and here...
13625 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
13626 Add assembler -mmdebug options for non-dwarf debugging.
13627 * config/mips/r3900.h: Remove debug info defines.
13628 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
13629 * config/mips/isa3264.h: Ditto.
13630 * config/mips/t-isa3264: Fix up for file removal and gofast configure
13631 change.
13632 * config/mips/t-elf: Ditto.
13633 * config/mips/t-ecoff: Ditto.
13634 * config/mips/t-r3900: Ditto.
13635 * config/mips/t-iris5-6: Ditto.
13636 * config/mips/t-isa3264: Ditto.
13637 * config/mips/t-linux: Remove.
13638 * config/mips/t-netbsd: Remove.
13639 * config/mips/t-mips: New file.
13640 * config/mips/t-gofast: Ditto.
13641 * config/mips/netbsd.h: Remove unnecessary undefines.
13642 * config/mips/linux.h: Remove #include of mips.h.
13643 * config.gcc: Add mips.h include for elf targets. Remove tm_file
13644 for ecoff. Add gofast configure option for mips.
13645
13646 2002-07-29 Chris Demetriou <cgd@broadcom.com>
13647
13648 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
13649 linker scripts use STARTUP directives consistently.
13650 * configure: Regenerate.
13651 * config.in: Regenerate.
13652 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
13653 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
13654 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13655 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
13656 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
13657 will be the same.
13658
13659 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
13660
13661 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
13662
13663 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
13664
13665 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
13666
13667 2002-07-29 Aldy Hernandez <aldy@quesejoda.com>
13668
13669 * config/rs6000/rs6000.md: Move altivec patterns from here...
13670
13671 * config/rs6000/altivec.md: ...to here.
13672
13673 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
13674
13675 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
13676
13677 2002-07-29 Richard Henderson <rth@redhat.com>
13678
13679 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
13680 set_mem_attributes and add BITPOS argument. Subtract it from
13681 OFFSET when same is adjusted.
13682 (set_mem_attributes): New wrapper function.
13683 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
13684 remove offset adjustment hack.
13685 * expr.h (set_mem_attributes_minus_bitpos): Declare.
13686
13687 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
13688
13689 * Makefile.in (C_OBJS): Include c-pretty-print.o
13690 (c-pretty-print.o): Add depency rule.
13691 * pretty-print.h: Add more macros.
13692 * c-pretty-print.c: New file.
13693 * c-pretty-print.h: Likewise.
13694
13695 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
13696
13697 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
13698 constants to __ev64_s32__.
13699 (__internal_ev_mwhgsmian): Same.
13700 (__internal_ev_mwhgsmfan): Same.
13701 (__internal_ev_mwhgssfan): Same.
13702 (__internal_ev_mwhgumiaa): Same.
13703 (__internal_ev_mwhgsmiaa): Same.
13704 (__internal_ev_mwhgsmfaa): Same.
13705 (__internal_ev_mwhgssfaa): Same.
13706
13707 2002-07-29 David Edelsohn <edelsohn@gnu.org>
13708
13709 * varasm.c (assemble_variable): Narrow test for uninitialized
13710 without BSS target support.
13711
13712 2002-07-29 Nathan Sidwell <nathan@codesourcery.com>
13713
13714 * profile.c: Add file comment describing the overall algorithm and
13715 structures.
13716 (struct edge_info): Add comments.
13717 (struct bb_info): Add comments.
13718 * basic-block.h (EDGE_*): Add comments.
13719 * doc/gcov.texi (Gcov Data Files): Document bit flags.
13720
13721 2002-07-29 Bob Wilson <bob.wilson@acm.org>
13722
13723 * config/xtensa/elf.h, config/xtensa/linux.h
13724 (TARGET_OS_CPP_BUILTINS): Define.
13725 (CPP_PREDEFINES): Remove.
13726 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
13727 (CPP_SPEC): Remove.
13728
13729 2002-07-29 Zack Weinberg <zack@codesourcery.com>
13730
13731 * gensupport.c: Include hashtab.h.
13732 (insn_elision, condition_table, hash_c_test, cmp_c_test,
13733 maybe_eval_c_test): New routines and data structures to
13734 support insn elision.
13735 (init_md_reader): Read and initialize the condition_table.
13736 (read_md_rtx): Discard insn patterns whose C test is provably
13737 always false.
13738 * gensupport.h: Declare new functions and data structures.
13739
13740 * genconditions.c, dummy-conditions.c: New files.
13741 * Makefile.in: Build genconditions; run it to construct
13742 insn-conditions.c; build that and link it into most gen*
13743 programs.
13744 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
13745 (GEN): Delete, unused.
13746 (STAGESTUFF): Update.
13747
13748 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
13749 CODE_FOR_nothing for all elided patterns.
13750 (main): Tweaked to support this.
13751 * genflags.c (gen_proto): Emit a static inline generator
13752 function here for all elided patterns, which simply returns
13753 NULL_RTX.
13754 (gen_insn): Do not define HAVE_xxx for elided patterns.
13755 (main): Tweaked to support this. No need to forward-declare
13756 struct rtx_def.
13757 * genrecog.c: Do not bother emitting the C test if it's known
13758 to be true at compile time.
13759
13760 2002-07-29 Mike Stump <mrs@apple.com>
13761
13762 * config.gcc (target_gtfiles): Initialize, as otherwise cross
13763 compilers hosted on powerpc-apple-darwin6.0 won't even build.
13764
13765 2002-07-29 Richard Earnshaw <rearnsha@arm.com>
13766
13767 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
13768 remove clobber of LR.
13769 (sibcall_insn, sibcall_value_insn): Update accordingly.
13770 (sibcall_epilogue): Remove debugging comment from assembler stream.
13771
13772 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
13773
13774 * pretty-print.h: Define more macros.
13775 * diagnostic.h (output_formatted_integer): Moved from...
13776 * diagnostic.c: ... here.
13777
13778 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13779
13780 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
13781
13782 2002-07-28 Zack Weinberg <zack@codesourcery.com>
13783
13784 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
13785 arguments. Always use ".-symbol" as expression argument.
13786 * doc/tm.texi: Update to match. Document requirement for
13787 ".size symbol, .-symbol" to be acceptable to assembler.
13788
13789 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
13790 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
13791 config/i386/freebsd-aout.h, config/i386/sco5.h,
13792 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
13793 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
13794
13795 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13796
13797 * Makefile.in (gengtype-lex.c): Fix error in last change.
13798
13799 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
13800 backslash.
13801
13802 * Makefile.in (vmsdbgout.o): Depend on function.h.
13803
13804 * vmsdbgout.c: Include function.h.
13805
13806 2002-07-28 Alan Modra <amodra@bigpond.net.au>
13807
13808 * prefix.c (update_path): Don't strip single `.' path components
13809 unless stripping a later `..' component. Exit loop as soon as
13810 a valid path is found.
13811
13812 2002-07-27 Roger Sayle <roger@eyesopen.com>
13813
13814 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
13815 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
13816 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
13817 floating point unordered comparisons (e.g. __builtin_isgreater)
13818 as const, and leave the remaining GCC_BUILTINs unchanged.
13819
13820 * c-decl.c (builtin_function): No need to explicitly mark
13821 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
13822
13823 2002-07-27 Roger Sayle <roger@eyesopen.com>
13824
13825 * Makefile.in: rtlanal.o now depends upon real.h.
13826
13827 * flags.h [flag_signaling_nans]: New flag.
13828 [HONOR_SNANS]: New macro.
13829
13830 * toplev.c [flag_signaling_nans]: Initialize to false.
13831 (f_options): Add processing for "-fsignaling-nans".
13832 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
13833 (process_options): flag_signaling_nans implies flag_trapping_math.
13834
13835 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
13836 when -fsignaling-nans. First step to implementing WG14's N965.
13837
13838 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
13839 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
13840 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
13841
13842 * simplify-rtx.c (simplify_relational_operation): Conditionalize
13843 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
13844
13845 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
13846 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
13847 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
13848 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
13849 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
13850
13851 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
13852
13853 2002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13854
13855 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
13856 * gengtype-lex.l (YY_USE_PROTOS): Undef.
13857 (YY_DECL): Define.
13858
13859 2002-07-27 Roger Sayle <roger@eyesopen.com>
13860
13861 * doc/invoke.texi: Document that both -fno-builtin-foo and
13862 -fno-builtin are supported by the g++ front-end.
13863
13864 2002-07-27 Stan Shebs <shebs@apple.com>
13865
13866 * configure.in: Rename config_gtfiles to target_gtfiles.
13867 * configure: Regenerate.
13868 * doc/gty.texi: Update reference.
13869 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
13870 instead of appending to it.
13871
13872 2002-07-25 Aldy Hernandez <aldyh@redhat.com>
13873
13874 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
13875 vectors are split into two registers.
13876 (function_arg): Same.
13877
13878 Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
13879
13880 * pa.md (extv): Check predicates before emitting extv_32.
13881
13882 2002-07-27 Alan Modra <amodra@bigpond.net.au>
13883
13884 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
13885 (rs6000_traceback): New var.
13886 (rs6000_override_options): Set rs6000_traceback.
13887 (rs6000_output_function_epilogue): Implement traceback options.
13888 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
13889 (rs6000_traceback_name): Declare.
13890
13891 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
13892 label reference when NO_PROFILE_COUNTERS.
13893
13894 2002-07-26 Jason Merrill <jason@redhat.com>
13895
13896 * function.c (assign_parms): Handle frontend-directed pass by
13897 invisible reference.
13898
13899 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
13900
13901 * doc/cppopts.texi: Update.
13902
13903 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
13904
13905 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
13906 warnings on assertions.
13907
13908 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
13909
13910 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
13911 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
13912 RID_COMPL): Remove.
13913 * c-parse.in (rid_to_yy): Similarly.
13914
13915 2002-07-26 Jason Merrill <jason@redhat.com>
13916
13917 * c-dump.c: Resurrect.
13918 * tree-dump.c: Move C-specific stuff to c-dump.c.
13919 * c-common.h: Declare c_dump_tree.
13920 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
13921 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
13922 (c-dump.o): New rule.
13923
13924 2002-07-26 Alan Modra <amodra@bigpond.net.au>
13925
13926 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
13927 PowerPC64. Replace "T" and "S" constraints with "n" when the
13928 predicate will do. Formatting fixes.
13929 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
13930 as for extzvsi_internal1.
13931
13932 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
13933
13934 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
13935 DERIV_END_LABEL_FMT): Remove.
13936 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
13937
13938 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
13939
13940 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
13941 Remove.
13942
13943 2002-07-25 Stan Shebs <shebs@apple.com>
13944
13945 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
13946 local var dwarfp.
13947 (output_compiler_stub): Remove unused locals.
13948 (output_call): Always initialize line number.
13949
13950 Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
13951
13952 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
13953 * sh.md (truncdiqi2, movqi_media): Likewise.
13954
13955 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
13956
13957 * gcse.c (obstack_chunk_alloc): Remove.
13958 (gcse_alloc): Fix to count allocated bytes.
13959 * collect2.c (SYMBOL__MAIN): Remove.
13960
13961 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
13962
13963 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
13964 HAVE_TARGET_EXECUTABLE_SUFFIX.
13965
13966 Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
13967
13968 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
13969 SIZE, EXPR and OFFSET.
13970
13971 2002-07-25 Richard Henderson <rth@redhat.com>
13972
13973 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
13974 in ARRAY_REF of DECL_P case.
13975
13976 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
13977
13978 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
13979 description. Document -mips32, -mips64, and the associated -march
13980 values. Describe the "mipsN" arguments to -march. Say that the
13981 -mipsN options are equivalent to -march. Reword the description
13982 of default type sizes.
13983 * toplev.h (target_flags_explicit): Declare.
13984 * toplev.c (target_flags_explicit): New var.
13985 (set_target_switch): Update target_flags_explicit.
13986 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
13987 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
13988 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
13989 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
13990 * config/mips/mips.h (mips_cpu_info): New struct.
13991 (mips_cpu_string, mips_explicit_type_size_string): Remove.
13992 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
13993 (MIPS_CPP_SET_PROCESSOR): New macro.
13994 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
13995 Define _MIPS_ARCH and _MIPS_TUNE.
13996 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
13997 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
13998 MIPS_ISA_DEFAULT were already defined.
13999 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14000 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14001 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14002 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14003 (ABI_GAS_ASM_SPEC): Remove.
14004 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14005 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14006 Invoke %(asm_abi_default_spec) if no ABI was specified.
14007 (CC1_SPEC): Remove ISA -> register-size rules.
14008 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
14009 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14010 (mips_cpu_string, mips_explicit_type_size_string): Remove.
14011 (mips_cpu_info_table): New array.
14012 (mips_set_architecture, mips_set_tune): New fns.
14013 (override_options): Rework to make -mipsN equivalent to -march.
14014 Detect more erroneous cases, including those removed from CC1_SPEC.
14015 Don't change the ABI based on architecture, or vice versa.
14016 Unify logic with GAS.
14017 (mips_asm_file_start): Get architecture name from mips_arch_info.
14018 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14019 (mips_parse_cpu): Take the name of the option as argument. Handle
14020 'from-abi'. Raise an error if the option is wrong.
14021 (mips_cpu_info_from_isa): New fn.
14022
14023 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
14024
14025 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14026 (tablejump_mips162): Likewise.
14027
14028 Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
14029
14030 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14031 int_mode_for_mode.
14032
14033 2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
14034
14035 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14036 complaining.
14037 * c-common.h (c_sizeof): Adjust definition.
14038 (c_alignof): Likewise.
14039 * c-tree.h (c_sizeof_nowarn): Now macro.
14040 * c-typeck.c (c_sizeof_nowarn): Remove definition.
14041
14042 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
14043
14044 * c-decl.c (c_decode_option): No need to handle switches
14045 cpplib handles.
14046
14047 2002-07-24 Zack Weinberg <zack@codesourcery.com>
14048
14049 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14050 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14051 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
14052 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14053
14054 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14055 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14056 config/cris/aout.h, config/i386/freebsd-aout.h,
14057 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14058 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14059 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14060 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14061 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14062 config/xtensa/elf.h, config/xtensa/linux.h:
14063 Use the new macros.
14064 Where possible, remove redundant definitions of SIZE_ASM_OP,
14065 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14066
14067 2002-07-24 Aldy Hernandez <aldyh@redhat.com>
14068
14069 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14070 TARGET_ISEL, and TARGET_FPRS.
14071
14072 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14073 -mabi=spe, -mabi=no-spe, and -misel=.
14074
14075 * config/rs6000/rs6000-protos.h: Add output_isel.
14076 Move vrsave_operation prototype here.
14077
14078 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14079 (smaxsi3): Same.
14080 (uminsi3): Same.
14081 (umaxsi3): Same.
14082 (abssi2_nopower): Disallow when TARGET_ISEL.
14083 (*ne0): Same.
14084 (negsf2): Change to expand and rename old pattern to *negsf2.
14085 (abssf2): Change to expand and rename old pattern to *abssf2.
14086
14087 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14088 fixunssfsi2.
14089
14090 Change patterns that check for TARGET_HARD_FLOAT or
14091 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14092
14093 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14094 rs6000_isel, rs6000_fprs, rs6000_isel_string.
14095 (rs6000_override_options): Add 8540 case to
14096 processor_target_table.
14097 Set rs6000_isel for the 8540.
14098 Call rs6000_parse_isel_option.
14099 (enable_mask_for_builtins): New.
14100 (rs6000_parse_isel_option): New.
14101 (rs6000_parse_abi_options): Add spe and no-spe.
14102 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14103 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14104 for TARGET_HARD_FLOAT.
14105 Add case for SPE_VECTOR_MODE.
14106 (rs6000_legitimize_reload_address): Handle SPE vector modes.
14107 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14108 vector modes.
14109 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14110 (rs6000_emit_move): Check for TARGET_FPRS.
14111 Add cases for SPE vector modes.
14112 (function_arg_boundary): Return 64 for SPE vector modes.
14113 (function_arg_advance): Check for TARGET_FPRS and
14114 Handle SPE vectors.
14115 (function_arg): Same.
14116 (setup_incoming_varargs): Check for TARGET_FPRS.
14117 (rs6000_va_arg): Same.
14118 (struct builtin_description): Un-constify mask field. Move up in
14119 file.
14120 (bdesc_2arg): Un-constify and add SPE builtins.
14121 (bdesc_1arg): Same.
14122 (bdesc_spe_predicates): New.
14123 (bdesc_spe_evsel): New.
14124 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14125 (rs6000_expand_binop_builtin): Same.
14126 (bdesc_2arg_spe): New.
14127 (spe_expand_builtin): New.
14128 (spe_expand_predicate_builtin): New.
14129 (spe_expand_evsel_builtin): New.
14130 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14131 (rs6000_init_builtins): Initialize SPE builtins. Call
14132 rs6000_common_init_builtins.
14133 (altivec_init_builtins): Move all non-altivec builtin code to...
14134 (rs6000_common_init_builtins): ...here. New function.
14135 (branch_positive_comparison_operator): Allow NE code for SPE.
14136 (ccr_bit): Return correct ccr bit for SPE fp.
14137 (print_operand): Emit crnor in 'D' case for SPE.
14138 New case 't'.
14139 Add SPE code for 'y' case.
14140 (rs6000_generate_compare): Generate rtl for SPE fp.
14141 (output_cbranch): Handle SPE hard floats.
14142 (rs6000_emit_cmove): Handle isel.
14143 (rs6000_emit_int_cmove): New.
14144 (output_isel): New.
14145 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14146 64-bits for SPE.
14147 (debug_stack_info): Add SPE info.
14148 (gen_frame_mem_offset): New.
14149 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14150 Change mode of frame pointer, when saving it, to Pmode.
14151 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14152 Misc cleanups and use gen_frame_mem_offset when appropriate.
14153
14154 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14155 (TARGET_SPE_ABI): New.
14156 (TARGET_SPE): New.
14157 (TARGET_ISEL): New.
14158 (TARGET_FPRS): New.
14159 (FIXED_SCRATCH): New.
14160 (RTX_COSTS): Add PROCESSOR_PPC8540.
14161 (ASM_CPU_SPEC): Add case for 8540.
14162 (TARGET_OPTIONS): Add isel= case.
14163 (rs6000_spe_abi): New.
14164 (rs6000_isel): New.
14165 (rs6000_fprs): New.
14166 (rs6000_isel_string): New.
14167 (UNITS_PER_SPE_WORD): New.
14168 (LOCAL_ALIGNMENT): Adjust for SPE.
14169 (HARD_REGNO_MODE_OK): Same.
14170 (DATA_ALIGNMENT): Same.
14171 (MEMBER_TYPE_FORCES_BLK): New.
14172 (FIRST_PSEUDO_REGISTER): Set to 113.
14173 (FIXED_REGISTERS): Add SPE registers.
14174 (reg_class): Same.
14175 (REG_CLASS_NAMES): Same.
14176 (REG_CLASS_CONTENTS): Same.
14177 (REGNO_REG_CLASS): Same.
14178 (REGISTER_NAMES): Same.
14179 (DEBUG_REGISTER_NAMES): Same.
14180 (ADDITIONAL_REGISTER_NAMES): Same.
14181 (CALL_USED_REGISTERS): Same.
14182 (CALL_REALLY_USED_REGISTERS): Same.
14183 (SPE_ACC_REGNO): New.
14184 (SPEFSCR_REGNO): New.
14185 (SPE_SIMD_REGNO_P): New.
14186 (HARD_REGNO_NREGS): Adjust for SPE.
14187 (VECTOR_MODE_SUPPORTED_P): Same.
14188 (REGNO_REG_CLASS): Same.
14189 (FUNCTION_VALUE): Same.
14190 (LIBCALL_VALUE): Same.
14191 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14192 (SPE_VECTOR_MODE): New.
14193 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14194 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
14195 (rs6000_stack): Add spe_gp_size, spe_padding_size,
14196 spe_gp_save_offset.
14197 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14198 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14199 (SPE_CONST_OFFSET_OK): New.
14200 (rs6000_builtins): Add SPE builtins.
14201
14202 * testsuite/gcc.dg/ppc-spe.c: New.
14203
14204 * config/rs6000/eabispe.h: New.
14205
14206 * config/rs6000/spe.h: New.
14207
14208 * config/rs600/spe.md: New.
14209
14210 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14211 __SIMD__ for TARGET_SPE.
14212
14213 * config.gcc: Add powerpc-*-eabispe* case.
14214 Add spe.h to user headers for powerpc.
14215
14216 2002-07-24 Chris Demetriou <cgd@broadcom.com>
14217
14218 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14219 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14220 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14221
14222 2002-07-24 Richard Henderson <rth@redhat.com>
14223
14224 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14225 form when not optimizing.
14226
14227 2002-07-24 David Mosberger <davidm@hpl.hp.com>
14228
14229 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14230 thread_pointer_rtx as unchanging.
14231
14232 2002-07-24 Michael Matz <matz@suse.de>
14233
14234 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14235 (free_reg): Use it.
14236
14237 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
14238
14239 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14240 pattern.
14241 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14242 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14243
14244 2002-07-24 Chris Demetriou <cgd@broadcom.com>
14245
14246 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14247 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14248 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14249
14250 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
14251
14252 * toplev.c (rest_of_compilation): Dump loops before clobbering
14253 the structure.
14254
14255 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
14256
14257 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14258
14259 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
14260
14261 PR optimization/7291
14262 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14263 problem on x86_64.
14264
14265 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
14266
14267 * pretty-print.h: Add macros from cp/error.c
14268
14269 2002-07-24 Alan Modra <amodra@bigpond.net.au>
14270
14271 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14272 (mask64_2_operand): Declare.
14273 (build_mask64_2_operands): Declare.
14274 (and64_2_operand): Declare.
14275 (extract_MB): Declare.
14276 (extract_ME): Declare.
14277 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
14278 CONST_DOUBLE code.
14279 (mask_operand_wrap): New insn predicate.
14280 (mask64_2_operand): Likewise.
14281 (and64_2_operand): Likewise.
14282 (build_mask64_2_operands): New function.
14283 (extract_MB): New function.
14284 (extract_ME): New function.
14285 (print_operand <case m,M>): Use extract_MB and extract_ME.
14286 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
14287 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14288 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14289 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
14290 * config/rs6000/rs6000.md (andsi3_internal3): New
14291 (andsi3_internal3+1): Enable split for powerpc64.
14292 (andsi3_internal3+2): New split.
14293 (andsi3_internal4): Renamed old andsi3_internal3.
14294 (andsi3_internal5): New.
14295 (andsi3_internal5+1): Enable split for powerpc64.
14296 (andsi3_internal5+2): New split.
14297 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14298 (anddi3): Handle 't' constraint.
14299 (anddi3+1): New split.
14300 (anddi3_internal2): Handle 't' constraint.
14301 (anddi3_internal2+1): New split.
14302 (anddi3_internal3): Handle 't' constraint.
14303 (anddi3_internal3+1): New split.
14304
14305 2002-07-24 Alan Modra <amodra@bigpond.net.au>
14306
14307 * config/rs6000/rs6000.md: Remove scratch reg on insns using
14308 addze and similar (plus (comparison r1 r2) r3) insns. Add
14309 missing scratch reg in one case. Formatting fixes.
14310
14311 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
14312
14313 * cppexp.c (parse_defined): Mark macro used.
14314 * cpphash.h (struct cpp_macro): New member "used".
14315 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14316 (struct cpp_reader): New member.
14317 * cppinit.c (cpp_finish_options): Set first_unused_line.
14318 (cpp_finish): Warn of unused macros if requested.
14319 (OPT_TABLE): New switches.
14320 (cpp_handle_option): Handle them.
14321 * cpplib.c (do_undef): Warn if macro unused.
14322 (do_ifdef, do_ifndef): Mark macro used.
14323 * cpplib.h (struct cpp_options): New member.
14324 * cppmacro.c (_cpp_warn_if_unused_macro): New.
14325 (enter_macro_context): Mark macro used.
14326 (_cpp_create_definition): Mark macro unused; warn if unused
14327 when redefined.
14328 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14329 Mark macros used.
14330 * doc/cppopts.texi: Update.
14331
14332 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14333
14334 * dwarf2out.c (SECTION_ASM_OP,
14335 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14336 * system.h (SECTION_ASM_OP): Poison.
14337 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14338 * config/alpha/alpha-interix.h, config/mips/linux.h
14339 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14340 * config/mmix/mmix-protos.h, config/mmix/mmix.c
14341 (mmix_asm_output_define_label_difference_symbol): Remove.
14342 * config/mmix/mmix.h
14343 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14344 * doc/tm.texi: Remove documentation.
14345
14346 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
14347
14348 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14349 (constrain_operands): Likewise.
14350 * regclass.c (record_reg_classes): Likewise.
14351 * reload.c (find_reloads): Likewise.
14352 * doc/md.texi: Likewise.
14353
14354 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14355 * simplify-rtx.c (simplify_subreg): When converting to a non-int
14356 mode, try to convert to an integer mode of matching size first.
14357
14358 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14359 from individual subregs, check that each subreg has been generated
14360 sucessfully.
14361
14362 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14363
14364 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14365 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14366 FOR_EACH_BB_IN_SBITMAP): Remove.
14367 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14368 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14369 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14370 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14371 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14372 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14373
14374 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
14375
14376 * pretty-print.h: New file.
14377
14378 2002-07-23 Paul Koning <pkoning@equallogic.com>
14379
14380 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14381 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14382 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14383 (TARGET_G_FLOAT): Default to 0 if not defined.
14384 (ieeetoe): New, common routine to convert target format floats
14385 to internal form.
14386 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14387 vs. others.
14388 (e113toe): Change to use ieeetoe.
14389
14390 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
14391
14392 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14393 IBM.
14394 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14395 (e64toe): Remove special cases for DEC and IBM. Remove support for
14396 ARM_EXTENDED_IEEE_FORMAT.
14397 (e24toe): Remove special cases for DEC.
14398 (significand_size): Simplify. Indent.
14399 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14400 (etoieee, toieee): New.
14401 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14402 etoieee and toieee for IEEE arithmetic.
14403
14404 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
14405
14406 * doc/extend.texi: Say ISO C90, not ISO C89.
14407 * doc/invoke.texi: Likewise.
14408 * doc/standards.texi: Likewise.
14409
14410 2002-07-23 Steve Ellcey <sje@cup.hp.com>
14411
14412 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14413 Fix permutation of conversion and plus/mult.
14414 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14415 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14416 (expand_builtin_strncpy) Ditto.
14417 (expand_builtin_memset) Ditto.
14418
14419 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
14420
14421 Fix PR/7363:
14422 * c-common.c (c_sizeof_or_alignof_type): New function.
14423 (c_alignof): Remove definition.
14424 * c-common.h (c_sizeof, c_alignof): Define as macros.
14425 (c_sizeof_or_alignof_type): Declare.
14426 (my_friendly_assert): Moved from cp/cp-tree.h
14427 * c-typeck.c (c_sizeof): Remove definition.
14428
14429 2002-07-23 Jan Hubicka <jh@suse.cz>
14430
14431 * gcse.c (try_replace_reg): Use num_changes_pending.
14432 * recog.c (num_changes_pending): New function.
14433 (validate_replace_src): Use validate_repalce_src_group.
14434 (validate_replace_src_group): New.
14435 * recog.h (validate_repalce_src_group): New.
14436 (num_changes_pending): Likewise.
14437
14438 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
14439
14440 * calls.c (emit_library_call_value_1): If
14441 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14442 libcall, const call nor pure call.
14443
14444 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14445
14446 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14447
14448 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14449
14450 * vmsdbgout.c (SECTION_ASM_OP): Remove.
14451
14452 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14453
14454 * config/i386/i386.c (AT_BP): Remove.
14455
14456 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
14457
14458 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14459 Default definition.
14460 * gcse.c: Don't define obstack_chunk_free.
14461 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14462 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14463 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14464 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14465 Don't define obstack macros.
14466
14467 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
14468
14469 PR target/6744
14470 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14471 ASM_OPERANDS instructions.
14472
14473 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
14474
14475 PR target/7361
14476 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14477 constant addresses only on 68HC12.
14478
14479 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
14480
14481 * cppfiles.c (stack_include_file): Correct test of whether
14482 a dependency should be output.
14483
14484 2002-07-22 David Edelsohn <edelsohn@gnu.org>
14485
14486 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14487
14488 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
14489
14490 * arm.md (movqi): If optimizing and we can create pseudos, use
14491 a ZERO_EXTEND to load from memory, then copy the result into the
14492 target.
14493 (movhi): Likewise, but only for ARMv4.
14494
14495 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
14496
14497 * ssa-ccp.c (PHI_PARMS): Remove.
14498
14499 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
14500
14501 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14502 on big-endian targets.
14503
14504 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14505
14506 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14507 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14508 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14509 New formatting macros.
14510
14511 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14512
14513 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
14514
14515 * rtlanal.c (subreg_regno_offset): Return correct offset for
14516 big endian paradoxical subregs.
14517
14518 * optabs.c (expand_vector_unop): Don't expand using sub_optab
14519 if we got the wrong mode.
14520
14521 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14522 * genrecog.c (write_switch, write_cond): Use it.
14523 * genemit.c (gen_exp): Likewise.
14524
14525 2002-07-22 Jakub Jelinek <jakub@redhat.com>
14526
14527 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14528
14529 2002-07-22 Jakub Jelinek <jakub@redhat.com>
14530
14531 * c-decl.c (build_compound_literal): Defer compound literal decls
14532 until until file end to emit them only if they are actually used.
14533
14534 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14535
14536 * ra-build.c (check_conflict_numbers): Hide unused function.
14537 (livethrough_conflicts_bb): Avoid automatic aggregate
14538 initialization.
14539 (parts_to_webs_1): Avoid `U' integer constant modifier.
14540 (conflicts_between_webs): Wrap a variable in the macro controlling
14541 its usage.
14542 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14543 (dump_igraph, dump_graph_cost): Avoid string concatenation
14544 (dump_static_insn_cost): Avoid automatic aggregate
14545 initialization.
14546 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14547 initialization.
14548 (dump_cost): Avoid string concatenation
14549
14550 2002-07-21 Richard Henderson <rth@redhat.com>
14551
14552 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14553 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14554
14555 2002-07-21 Richard Henderson <rth@redhat.com>
14556
14557 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14558 that are not unrolled completely.
14559
14560 2002-07-21 Richard Henderson <rth@redhat.com>
14561
14562 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14563 * loop.c (strength_reduce): Update.
14564 * toplev.c (rest_of_compilation): Do unrolling in the first
14565 loop pass, not the second.
14566
14567 2002-07-21 Richard Henderson <rth@redhat.com>
14568
14569 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14570 when flag_argument_noalias == 2.
14571 * alias.c (nonoverlapping_memrefs_p): Handle that.
14572 * print-rtl.c (print_mem_expr): Likewise.
14573
14574 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
14575
14576 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14577 instead of __negdi2 directly.
14578
14579 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
14580
14581 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14582 * function.c (SYMBOL__MAIN): Remove definition.
14583 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14584 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14585 * profile.c (GCOV_INDEX_TO_BB): Remove.
14586 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14587 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
14588
14589 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
14590
14591 * c-lex.c (GET_ENVIRONMENT): Remove.
14592 * collect2.c (GET_ENV_PATH_LIST): Remove.
14593 (prefix_from_env): Use GET_ENVIRONMENT.
14594 * cppinit.c (GET_ENV_PATH_LIST): Remove.
14595 (init_standard_includes): Use GET_ENVIRONMENT.
14596 * defaults.h (GET_ENVIRONMENT): Define here if not already.
14597 * gcc.c (GET_ENV_PATH_LIST): Remove.
14598 (make_relative_prefix, process_command): Update.
14599 * protoize.c (GET_ENV_PATH_LIST): Remove.
14600 (do_processing): Update.
14601
14602 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
14603
14604 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
14605 (grokdeclarator): Likewise.
14606 * c-format.c (C_STD_NAME): Likewise.
14607 * c-lex.c (interpret_integer): Likewise.
14608 * c-typeck.c (build_array_ref): Likewise.
14609 * cpplex.c (_cpp_lex_direct): Likewise.
14610 * toplev.c (documented_lang_options): Likewise.
14611
14612 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
14613
14614 * c-format.c (T99_I, T99_UI): Remove.
14615
14616 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
14617
14618 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
14619
14620 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
14621
14622 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
14623 do_local_cprop.
14624
14625 2002-07-21 Andreas Jaeger <aj@suse.de>
14626
14627 * reload1.c (fixup_abnormal_edges): Remove unused variable.
14628
14629 2002-07-21 Bernd Schmidt <bernds@redhat.com>
14630
14631 Improvements for the ifcvt pass from Michael Meissner, with patches
14632 by Richard Sandiford <rsandifo@redhat.com>
14633 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
14634 * ifcvt.c (cond_exec_changed_p): New static variable.
14635 (last_active_insn): New function, renamed from last_active_insn_p
14636 and changed to return the last active insn in a basic block. All
14637 callers updated.
14638 (block_fallthru): New function.
14639 (cond_exec_process_insns): New argument CE_INFO. Pass it to
14640 IFCVT_MODIFY_INSN. All callers updated.
14641 Return false if START or END are NULL.
14642 Handle case where we're processing an insn that is already
14643 conditional.
14644
14645 (noce_process_if_block): CE_INFO argument rather than
14646 multiple args containing the involved basic blocks. All callers
14647 changed.
14648 (process_if_block, merge_if_block, find_if_block,
14649 cond_exec_process_if_block): Likewise.
14650
14651 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
14652 changed.
14653 Use new function last_active_insn to simplify some code.
14654 New code to handle multiple tests.
14655 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
14656 cond_exec_changed_p to TRUE.
14657
14658 (process_if_block): New code to handle multiple tests.
14659 (merge_if_block): Likewise.
14660 (find_if_header): New arg PASS. Changed to return the currently
14661 processed basic block or NULL instead of true/false. All callers
14662 changed.
14663 Call IFCVT_INIT_EXTRA_FIELDS.
14664 (block_jumps_and_fallthru_p): New function.
14665 (find_if_block): Discover opportunities to convert multiple tests.
14666 Add additional debugging output.
14667 Update the ce_info structure before returning.
14668
14669 (if_convert): Run multiple passes of if-conversion.
14670 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
14671 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
14672 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
14673 these macros.
14674
14675 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
14676
14677 * gcse.c: Include cselib.h
14678 (constptop_register): Break out from ...
14679 (cprop_insn): ... here; kill basic_block argument.
14680 (do_local_cprop, local_cprop_pass): New functions.
14681 (one_cprop_pass): Call local_cprop_pass.
14682
14683 2002-07-20 Roger Sayle <roger@eyesopen.com>
14684
14685 * simplify-rtx.c (simplify_relational_operation): Optimize
14686 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
14687
14688 2002-07-20 Michae Matz <matz@suse.de>
14689
14690 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
14691
14692 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
14693
14694 * cppexp.c (struct op): Add token pointer.
14695 (check_promotion, CHECK_PROMOTION): New.
14696 (optab): Update.
14697 (_cpp_parse_expr): Update, use token pointer of struct op.
14698 (reduce): Warn about change of sign owing to promotion.
14699 * cppinit.c (cpp_handle_option): New warning if -Wall.
14700 * cpplib.h (struct cpp_options): New member.
14701
14702 2002-07-19 David Edelsohn <edelsohn@gnu.org>
14703
14704 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
14705 fpu list. Separate Power4 compare and delayed_compare. Correct
14706 Power4 fpcompare.
14707 (fix_truncdfsi2_internal): Restore FPR preference.
14708 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
14709 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
14710
14711 2002-07-19 Momchil Velikov <velco@fadata.bg>
14712
14713 * reload1.c (reload_as_needed): Duplicate oldpat.
14714
14715 2002-07-20 Alan Modra <amodra@bigpond.net.au>
14716
14717 PR optimization/7130
14718 * loop.h (struct loop_info): Add "preconditioned".
14719 * unroll.c (unroll_loop): Set it.
14720 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
14721
14722 2002-07-19 Zack Weinberg <zack@codesourcery.com>
14723
14724 * rtl.def (CODE_LABEL): Remove slot 8.
14725 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
14726 (LABEL_ALTERNATE_NAME): Delete.
14727 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
14728 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
14729
14730 * final.c (output_alternate_entry_point): New.
14731 (final_scan_insn): Use it instead of
14732 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
14733 of a case label being an alternate entry point.
14734
14735 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
14736 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
14737 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
14738 (field deleted).
14739 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
14740
14741 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
14742 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
14743 * doc/tm.texi: Delete documentation of
14744 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
14745
14746 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14747
14748 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
14749 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
14750 (LINK_SPEC): Define.
14751 (STARTFILE_SPEC): Define.
14752 (ENDFILE_SPEC): Define.
14753
14754 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
14755 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
14756
14757 * config/mips/iris6-o32-gas.h: New file.
14758 * config.gcc (mips-sgi-irix6*o32): Use it.
14759
14760 * config/mips/t-iris5-gas: New file.
14761 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
14762
14763 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
14764
14765 * cppexp.c (ALWAYS_EVAL): Remove.
14766 (optab, reduce): Always evaluate.
14767 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
14768 only if not skipping evaluation.
14769
14770 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
14771
14772 * config/avr/avr.c (debug_hard_reg_set): Remove.
14773
14774 2002-07-19 Chris Demetriou <cgd@broadcom.com>
14775
14776 * gcc.c (cpp_options): Include "%1" (cc1_spec).
14777
14778 2002-07-19 Richard Henderson <rth@redhat.com>
14779
14780 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
14781
14782 2002-07-19 Alan Modra <amodra@bigpond.net.au>
14783
14784 * prefix.c (update_path): Don't zap single `.' path components
14785 unless followed by another `.' and fix typo last patch.
14786
14787 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
14788
14789 * cppexp.c (cpp_num_mul): Remove unused parameter.
14790 (UNARY, BINARY, OTHER, binary_handler): Remove.
14791 (ALWAYS_EVAL): New.
14792 (optab): Update.
14793 (reduce): Refactor to a large switch, don't use a function
14794 pointer.
14795
14796 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
14797
14798 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
14799
14800 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
14801
14802 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
14803 (sh_expand_binop_v2sf): Likewise.
14804 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
14805 (int_gpr_dest, trunc_hi_operand): New functions.
14806 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
14807 trunc_hi_operand.
14808 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
14809 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
14810 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
14811 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
14812 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
14813 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
14814 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
14815 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
14816 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
14817 (movsf_ie+1): Likewise.
14818 (loaddi_trunc): Use int_gpr_dest predicate.
14819 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
14820 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
14821 (casesi_worker_0+[12], casesi_worker): Likewise.
14822 (shcompact_preserve_incoming_args): Likewise.
14823 (mov_nop): Use any_register_operand predicate.
14824 (mperm_w0): Use trunc_hi_operand predicate.
14825
14826 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
14827
14828 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
14829 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
14830 numbering.
14831
14832 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
14833
14834 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
14835
14836 2002-07-18 Richard Henderson <rth@redhat.com>
14837
14838 PR optimization/7147
14839 * ifcvt.c (noce_get_condition): Make certain that the condition
14840 is valid at JUMP.
14841
14842 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
14843
14844 * sh.c (barrier_align, push): Shut up compiler warnings.
14845 (initial_elimination_offset,sh_media_init_builtins): Likewise.
14846 (reg_no_subreg_operand): Delete.
14847
14848 2002-07-17 Bo Thorsen <bo@suse.de>
14849
14850 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
14851 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
14852 (STARTFILE_SPEC): Remove hardcoded library paths.
14853 (ENDFILE_SPEC): Likewise.
14854
14855 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
14856
14857 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
14858
14859 * gcse.c (try_replace_reg): Do not return false positives.
14860
14861 2002-07-18 Alan Modra <amodra@bigpond.net.au>
14862
14863 * prefix.c: (update_path): Strip ".." components when prior dir
14864 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
14865
14866 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
14867 (ASM_OUTPUT_REG_POP): Likewise.
14868
14869 2002-07-18 Alan Modra <amodra@bigpond.net.au>
14870
14871 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
14872 adjustments to first_reg for profiling case.
14873 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
14874 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
14875 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
14876 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
14877 (ASM_OUTPUT_REG_POP): Define.
14878 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
14879 (ASM_OUTPUT_REG_POP): Undef.
14880
14881 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
14882
14883 * cpplib.c (do_sccs): Handle #sccs on all systems.
14884 * system.h (SCCS_DIRECTIVE): Poison.
14885 * config/darwin.h, config/freebsd.h, config/netbsd.h,
14886 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
14887 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
14888 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
14889 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
14890 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
14891 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
14892 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
14893 Remove all references to SCCS_DIRECTIVE.
14894 * doc/cpp.texi, doc/tm.texi: Update.
14895
14896 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
14897
14898 * regrename.c (maybe_mode_change): New function.
14899 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
14900
14901 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
14902
14903 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
14904 suppress addition when either ct or cf are zero.
14905
14906 2002-07-17 Eric Botcazou <ebotcazou@multimania.com>
14907 Glen Nakamura <glen@imodulo.com>
14908
14909 PR optimization/6713
14910 * loop.c (loop_givs_rescan): Explicitly delete the insn that
14911 sets a non-replaceable giv after issuing the new one.
14912
14913 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
14914
14915 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
14916 eval_token): Clarify and correct use of "bool" variables.
14917 * cpplib.h (struct cpp_options): Similarly.
14918 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
14919 * cpptrad.c (recursive_macro): Similarly.
14920
14921 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
14922
14923 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
14924 SHmedia code.
14925
14926 * sh.md (cmpgtudi_media): Remove spurious @.
14927
14928 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
14929 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
14930
14931 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
14932 * sh-protos.h (sh_initialize_trampoline): Declare.
14933 * sh.c (sh_initialize_trampoline): New function.
14934 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
14935 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
14936 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
14937 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
14938 * sh.md (initialize_trampoline, double_shori): New patterns.
14939 (initialize_trampoline_compact): Likewise.
14940 (shmedia32_initialize_trampoline_big): Remove.
14941 (shmedia32_initialize_trampoline_little): Likewise.
14942
14943 * sh-protos.h (binary_float_operator): Remove declaration.
14944 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
14945 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
14946 (unary_float_operator, sh_expand_unop_v2sf): New functions.
14947 (sh_expand_binop_v2sf): Likewise.
14948 (zero_vec_operand): Delete.
14949 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
14950 all non-shared ones.
14951 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
14952 Enable nsb and byterev.
14953 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
14954 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
14955 in general regs.
14956 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
14957 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
14958 immediate operands.
14959 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
14960 Add DF_HI_REGS.
14961 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
14962 lowpart fp regs - only for big endian for now.
14963 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
14964 when FPU is in use.
14965 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
14966 (LOAD_EXTEND_OP): NIL for SImode.
14967 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
14968 general and fp registers is 4.
14969 PREDICATE_CODES: Amend binary_float_operator entry.
14970 Remove zero_vec_operand. Add unary_float_operator.
14971 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
14972 subreg SET_DEST.
14973 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
14974 (truncdiqi2): Do sign extension.
14975 (movsi_media, movdi_media): Allow to use r63 to an fp register.
14976 (movdf_media, movsf_media): Likewise.
14977 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
14978 Collapse to one define_insn_and_split. Allow immediate sources.
14979 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
14980 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
14981 (movv4sf): Allow immediate sources.
14982 (movsf_media_nofpu+1): Don't split moves to FP registers.
14983 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
14984 (movv8qi_i+3): Check against CONST0_RTX.
14985 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
14986 for input and output operands. Fix argument 3 to gen_mextr_rl.
14987 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
14988 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
14989 (mshf0_w, fipr, ftrv): Likewise.
14990 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
14991
14992 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
14993
14994 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
14995 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
14996 * arm.c: Similarly.
14997
14998 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
14999
15000 * config/mips/mips-protos.h (mips_sign_extend): Declare.
15001 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15002 (TARGET_SWITCHES): Remove debugh.
15003 (ISA_HAS_TRUNC_W): New macro.
15004 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15005 (PREDICATE_CODES): Remove se_nonimmediate_operand.
15006 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15007 any SImode move_operand.
15008 (se_nonimmediate_operand): Remove.
15009 (mips_sign_extend): New.
15010 (mips_move_2words): Use it for sign-extended source operands.
15011 (override_options): Allow integers to be put into single FPRs.
15012 (mips_secondary_reload_class): Handle integers in float registers.
15013 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15014 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15015 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15016 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15017 (fix_truncdfdi2): Provide only a single alternative, in which the
15018 integer is in a float register. Depend on TARGET_FLOAT64 rather
15019 than TARGET_64BIT.
15020 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15021 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15022 (movdi_internal2): Don't allow the source operand to be sign-extended.
15023 Add alternatives for float registers.
15024 (*movdi_internal2_extend): New. Version of movdi_internal2 that
15025 allows sign-extension.
15026 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15027 (movsi_internal2): Rename to movsi_internal. Add alternatives for
15028 float registers. Remove TARGET_DEBUG_H_MODE test.
15029 (movhi_internal1): Rename to movhi_internal. Don't check
15030 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
15031 (movqi_internal1): Rename to movqi_internal and remove
15032 TARGET_DEBUG_H_MODE dependency.
15033 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15034
15035 2002-07-16 Jim Wilson <wilson@redhat.com>
15036
15037 * toplev.c (lang_dependent_init): Create function context for
15038 init_expr_once.
15039
15040 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
15041
15042 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15043 --gc-sections if -r.
15044 * config/cris/cris.h: Ditto.
15045
15046 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
15047
15048 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15049 the comparison directly gives a mask suppress addition when cf is
15050 zero by complementing the mask.
15051
15052 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
15053
15054 * Makefile.in: Delete references to enquire.
15055 * enquire.c: Move to contrib.
15056
15057 2002-07-16 Stan Shebs <shebs@apple.com>
15058
15059 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15060 config/rs6000/darwin.h.
15061 (ASM_OUTPUT_SKIP): Ditto.
15062 (TEXT_SECTION_ASM_OP): Ditto.
15063 (DATA_SECTION_ASM_OP): Ditto.
15064 (ASM_APP_ON): Define.
15065 (ASM_APP_OFF): Define.
15066 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15067 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15068
15069 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15070 (machopic_function_base_name): Declare result to be const.
15071 (machopic_non_lazy_ptr_name): Ditto.
15072 (machopic_stub_name): Ditto.
15073 * config/darwin-protos.h: Ditto for the prototypes.
15074
15075 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
15076
15077 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15078
15079 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
15080
15081 * i386.md (prefetch): Fix for 64bit mode.
15082 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15083
15084 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
15085
15086 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15087 * i386.c (x86_machine_dependent_reorg): New function.
15088 * i386-protos.h (x86_machine_dependent_reorg): Declare.
15089
15090 2002-07-16 Zack Weinberg <zack@codesourcery.com>
15091
15092 * builtins.c (std_expand_builtin_va_start): Remove unused
15093 first argument.
15094 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15095 std_expand_builtin_va_start with just two arguments.
15096 * expr.h: Update prototypes.
15097
15098 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15099 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15100 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15101 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15102 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15103 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15104 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15105 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15106 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
15107 argument from all implementations of EXPAND_BUILTIN_VA_START
15108 and all uses of std_expand_builtin_va_start.
15109
15110 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
15111
15112 * regrename.c (copy_value): Don't record high part copies.
15113
15114 2002-07-16 Steve Ellcey <sje@cup.hp.com>
15115
15116 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15117 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15118 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15119
15120 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
15121
15122 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15123
15124 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15125 into addsi3 using register class "x" and "y".
15126
15127 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15128 "earlyclobber" constraint modifier for some alternative.
15129
15130 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15131 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15132 unordered.
15133 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15134
15135 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15136 (TARGET_SWITCHES): Add -mieee-compare option.
15137 (OVERRIDE_OPTIONS): 32332 is a subset of
15138 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15139 (TARGET_SWITCHES): Fix description of bitfield option.
15140 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15141 -mieee-compare option. Remove 32332 flag.
15142
15143 2002-07-16 Steve Ellcey <sje@cup.hp.com>
15144
15145 * explow.c (convert_memory_address): Remove special handling
15146 when POINTERS_EXTEND_UNSIGNED < 0.
15147 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15148 (movedi_symbolic): Fix typo.
15149 (load_fptr): Remove mode restriction so it works for SI and DI.
15150 (load_fptr_internal1): Ditto.
15151 (load_gprel): Ditto.
15152 (load_symptr_internal1): Ditto.
15153 (call_pic): Ditto.
15154 * config/ia64.c (call_operand): Modify mode check.
15155 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15156 (ia64_expand_move): Ditto.
15157 (ia64_assemble_integer): Handle SImode function pointers.
15158 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15159 (ia64_expand_op_and_fetch): Ditto.
15160 (ia64_expand_compare_and_swap): Ditto.
15161 (ia64_expand_lock_test_and_set): Ditto.
15162 (ia64_expand_lock_release): Ditto.
15163
15164 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15165
15166 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15167
15168 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15169 Richard Earnshaw <rearnsha@arm.com>
15170
15171 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15172 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
15173
15174 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
15175
15176 * arm.md (stack_tie): New insn. Use an idiom that the alias code
15177 understands to be a memory clobber.
15178 * arm.c (arm_expand_prologue): Use it.
15179
15180 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
15181
15182 * ra-rewrite.c: #include reload.h, insn-config.h
15183 * ra-build.c: #include reload.h
15184 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15185 depend on reload.h, insn-config.h.
15186
15187 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
15188
15189 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15190 the same size as a word.
15191
15192 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15193 BYTES_BIG_ENDIAN into account.
15194
15195 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
15196
15197 * i386.md (prefetch): Fix for 64bit mode.
15198 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15199
15200 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15201
15202 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
15203
15204 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15205
15206 2002-07-15 Zack Weinberg <zack@codesourcery.com>
15207
15208 * ginclude/varargs.h: Replace with stub which issues #error.
15209 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15210 __builtin_va_start.
15211
15212 * builtins.def (BUILT_IN_VARARGS_START): Delete.
15213 (BUILT_IN_VA_START): New.
15214 * builtins.c (expand_builtin_va_start): Eliminate first
15215 argument and code to implement pre-ISO varargs.
15216 (std_expand_builtin_va_start): Ignore first argument; it is
15217 always 1.
15218 (expand_builtin): Handle BUILT_IN_VA_START and
15219 BUILT_IN_STDARG_START identically. Delete
15220 BUILT_IN_VARARGS_START case.
15221
15222 * function.c (assign_parms): Delete hide_last_arg and all
15223 its uses.
15224 (mark_varargs): Delete function.
15225 * function.h (struct function): Delete 'varargs' bit.
15226 (current_function_varargs): Delete macro.
15227 * tree.h: Don't declare mark_varargs.
15228
15229 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15230 (c_expand_body): Don't call mark_varargs.
15231 * c-objc-common.c: Handle BUILT_IN_VA_START and
15232 BUILT_IN_STDARG_START identically. Delete
15233 BUILT_IN_VARARGS_START case.
15234 * c-tree.h: Don't declare c_mark_varargs.
15235 * c-parse.in: Remove grammar rules for '&...' (which has been
15236 commented out since before 2.7.2) and for '...' in K+R
15237 argument declarations.
15238
15239 * builtins.c, function.c, integrate.c, sibcall.c,
15240 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15241 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15242 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15243 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15244 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15245 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15246 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15247 config/stormy16/stormy16.c: Delete all references to
15248 current_function_varargs, and code predicated on that flag.
15249
15250 * config/alpha/alpha.c (alpha_va_start),
15251 config/arc/arc.c (arc_va_start),
15252 config/i386/i386.c (ix86_va_start),
15253 config/mips/mips.c (mips_va_start),
15254 config/mn10300/mn10300.c (mn10300_va_start),
15255 config/rs6000/rs6000.c (rs6000_va_start),
15256 config/s390/s390.c (s390_va_start),
15257 config/sh/sh.c (sh_va_start),
15258 Ignore first argument; it is always 1.
15259
15260 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15261 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15262 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15263 Delete m68hc11_va_start.
15264 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15265 No need to define EXPAND_BUILTIN_VA_START.
15266
15267 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15268 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15269
15270 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
15271
15272 PR optimization/7153
15273 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15274 dies in more than one insn.
15275
15276 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
15277
15278 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15279
15280 2002-07-15 Michael Matz <matz@suse.de>,
15281 Daniel Berlin <dberlin@dberlin.org>,
15282 Denis Chertykov <denisc@overta.ru>
15283
15284 Add a new register allocator.
15285
15286 * ra.c: New file.
15287 * ra.h: New file.
15288 * ra-build.c: New file.
15289 * ra-colorize.c: New file.
15290 * ra-debug.c: New file.
15291 * ra-rewrite.c: New file.
15292
15293 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15294 (ra-rewrite.o): New .o files for libbackend.a.
15295 (GTFILES): Add basic-block.h.
15296
15297 * toplev.c (flag_new_regalloc): New.
15298 (f_options): New option "new-ra".
15299 (rest_of_compilation): Call initialize_uninitialized_subregs()
15300 only for the old allocator. If flag_new_regalloc is set, call
15301 new allocator, instead of local_alloc(), global_alloc() and
15302 friends.
15303
15304 * doc/invoke.texi: Document -fnew-ra.
15305 * basic-block.h (FOR_ALL_BB): New.
15306 * config/rs6000/rs6000.c (print_operand): Write small constants
15307 as @l+80.
15308
15309 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15310 (df_reg_table_realloc): Make size at least as large as max_reg_num().
15311 (df_insn_table_realloc): Size argument now is absolute, not relative.
15312 Changed all callers.
15313
15314 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15315 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15316
15317 2002-06-20 Michael Matz <matz@suse.de>
15318
15319 * df.h (struct ref.id): Make unsigned.
15320 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15321
15322 2002-06-13 Michael Matz <matz@suse.de>
15323
15324 * df.h (DF_REF_MODE_CHANGE): New flag.
15325 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15326 involving subregs with invalid mode changes, when
15327 CLASS_CANNOT_CHANGE_MODE is defined.
15328
15329 2002-05-07 Michael Matz <matz@suse.de>
15330
15331 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15332
15333 2002-05-03 Michael Matz <matz@suse.de>
15334
15335 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15336
15337 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
15338
15339 * regclass.c (regclass): Work with all regs which have sets or
15340 refs.
15341 (reg_scan_mark_refs): Count regs inside (clobber ...).
15342
15343 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
15344
15345 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15346 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15347 add new refs.
15348 (df_bb_refs_update): Don't clear insns_modified here, ...
15349 (df_analyse): ... but here.
15350
15351 * sbitmap.c (dump_sbitmap_file): New.
15352 (debug_sbitmap): Use it.
15353
15354 * sbitmap.h (dump_sbitmap_file): Add prototype.
15355
15356 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
15357
15358 * df.c (df_insn_modify): Grow the UID table if necessary, rather
15359 than assume all emits go through df_insns_modify.
15360
15361 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
15362
15363 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15364 increase REG_N_REFS (like flow does), so that regclass doesn't
15365 think a reg is useless, and thus, not calculate a class, when it
15366 really should have.
15367
15368 2001-01-28 Daniel Berlin <dberlin@redhat.com>
15369
15370 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15371 dataflow analysis.
15372
15373 2002-07-15 Jakub Jelinek <jakub@redhat.com>
15374
15375 PR middle-end/7245
15376 * config/i386/i386.c (const_int_1_31_operand): New.
15377 * config/i386/i386.h (PREDICATE_CODES): Add it.
15378 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15379 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15380 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15381
15382 2002-07-14 Alan Modra <amodra@bigpond.net.au>
15383
15384 PR target/7282
15385 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15386 (floatunssidf2): Likewise.
15387 (floatsidf_ppc64): New insn_and_split.
15388 (floatunssidf_ppc64): Likewise.
15389
15390 2002-07-14 Andreas Jaeger <aj@suse.de>
15391
15392 * config.gcc (sh64): Remove unused
15393 target_requires_64bit_host_wide_int.
15394
15395 2002-07-12 Roger Sayle <roger@eyesopen.com>
15396
15397 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15398 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15399 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15400 whether clear_by_pieces should be used to clear storage.
15401 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15402
15403 * doc/tm.texi: Document these two new target macros.
15404
15405 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
15406
15407 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15408 the scratch register.
15409 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15410 of it, forbid reload to use it.
15411
15412 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
15413
15414 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15415 usage on 64-bit hosts, return value was truncated to 32 bits.
15416
15417 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
15418
15419 * simplify-rtx.c (simplify_subreg): Handle floating point
15420 CONST_DOUBLEs. When an integer subreg of a smaller mode than
15421 the element mode is requested, compute a subreg with an
15422 integer mode of the same size as the element mode first.
15423
15424 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
15425
15426 * combine.c (try_combine): When converting a paradoxical subreg
15427 to an extension, take LOAD_EXTEND_OP into account.
15428
15429 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15430
15431 * config.gcc (mips-sgi-irix6*o32): New configuration.
15432
15433 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15434 configurations.
15435 * configure: Regenerate.
15436
15437 * config/mips/iris6-o32-as.h: New file.
15438 * config/mips/iris6-o32.h: New file.
15439
15440 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15441 (NM_FLAGS): Define.
15442 (HAVE_AS_SHF_MERGE): Undefine.
15443
15444 * config/mips/t-iris5-as: New file.
15445 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15446
15447 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15448 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15449 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15450 dp-bit.c, fp-bit.c): Move ...
15451 * config/mips/t-iris5-6: ... here.
15452 New file, shared by IRIX 5 and IRIX 6.
15453 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15454 mips-sgi-irix5*): Use it.
15455
15456 * config/mips/iris6.h: Remove duplicate comment.
15457
15458 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15459 !TARGET_IRIX6]: Define.
15460 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15461
15462 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15463
15464 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15465
15466 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15467 and delete code to force constant to register.
15468 * pa-protos.h (adddi3_operand): Add prototype.
15469 * pa.c (adddi3_operand): New function.
15470
15471 2002-07-11 Roger Sayle <roger@eyesopen.com>
15472
15473 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15474 non-ANSI builtin functions.
15475
15476 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
15477
15478 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15479 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15480 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15481 (gen_const_vector_0): Use it.
15482
15483 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15484
15485 * pa.md (adddi3): For 32-bit targets, force constants to a register
15486 if they don't fit in an 11-bit immediate. Change insn predicate to
15487 arith11_operand. Remove comment.
15488 * pa.c (cint_ok_for_move): Fix comment.
15489 (emit_move_sequence): Don't directly split DImode constants on 32-bit
15490 targets.
15491
15492 2002-07-11 Tim Josling <tej@melbpc.org.au>
15493
15494 Remove front end hard coding from gengtype.c.
15495
15496 * Makefile.in
15497 (STAGESTUFF): add gtyp-gen.h
15498 (GTFILES): Remove front end specific files.
15499 (GTFILES_FILES_LANGS): New, from configure..
15500 (GTFILES_FILES_FILES): Likewise.
15501 (GTFILES_LANG_DIR_NAMES): Likewise.
15502 (GTFILES_SRCDIR): Likewise.
15503 (gtyp-gen.h): Build from configure information.
15504 (s-gtype): Remove command line parameters from gengtype.
15505 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15506 (mostlyclean): Delete files generated by and for gengtype.
15507
15508 * c-config-lang.in: New file.
15509
15510 * configure.in (all_gtfiles_files_langs): New. Accumulate files
15511 for each language.
15512 (all_gtfiles_files_files): New. Accumulate language for each file
15513 accumulated.
15514 (gtfiles): Pick up value for C.
15515 (srcdir): AC-SUBST this variable.
15516 (all_gtfiles_files_langs): AC-SUBST this variable.
15517 (all_gtfiles_files_files): AC-SUBST this variable.
15518
15519 * configure: Regenerate.
15520
15521 * gengtype-lex.l (parse_file): Make parameter const.
15522
15523 * gengtype.c (toplevel): include gtyp-gen.h.
15524 (BASE_FILE_<language> unnamed enum): Delete.
15525 (lang_names): Delete (replaced by gtyp-gen.h)
15526 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15527 all references.
15528 (NUM_GT_FILES): New.
15529 (NUM_LANG_FILES): New.
15530 (srcdir_len): New.
15531 (NUM_BASE_FILES): Change calculation.
15532 (open_base_files): Change prototype to avoid warning.
15533 (startswith): Delete.
15534 (get_file_basename): Iterate through generated language list not
15535 hard coded list.
15536 (get_base_file_bitmap): Use generated list of files and languages.
15537 (close_output_files): Add prototype to rmove warning.
15538 (main): Iterate through list of generated files from gtyp-gen.h
15539 rather than command line paramaters. Ignore duplicated file
15540 names.
15541
15542 * gengtype.h (parse_file): Amend prototype for const parameter.
15543
15544 * doc/sourcebuild.texi: Document gtfiles variable.
15545
15546 * doc/gty.texi: Document changes to gtfiles variable for front
15547 ends.
15548
15549 * objc/config-lang.in (gtfiles): Add files needed for objc front
15550 end.
15551
15552 2002-07-10 Roger Sayle <roger@eyesopen.com>
15553
15554 PR c/2454
15555 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15556 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
15557
15558 2002-07-10 Roger Sayle <roger@eyesopen.com>
15559 Zack Weinberg <zack@codesourcery.com>
15560
15561 * builtins.def: Make the argument types of abort and exit
15562 independent of the front-end.
15563
15564 2002-07-11 Alan Modra <amodra@bigpond.net.au>
15565
15566 * config/rs6000/linux64.h (ASM_SPEC): Define.
15567
15568 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
15569
15570 * config/rs6000/rs6000.c (emit_frame_save): New.
15571 (rs6000_frame_related): Replace reg2 before reg.
15572 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15573 and eh_return registers.
15574
15575 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
15576
15577 Revert all patches for optimization of Complex .op. Real.
15578 * complex_part_zero_p: Remove
15579 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15580 with x.
15581 * expand_cmplxdiv_wide: Ditto.
15582 * expand_binop: Ditto.
15583
15584 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
15585
15586 * config/avr/avr.md: Fix two 0x80000000 constants to make them
15587 negative also on 64-bit hosts.
15588
15589 Default to -fno-reorder-blocks when optimizing for size.
15590 * config/avr/avr-protos.h (avr_optimization_options): Declare.
15591 * config/avr/avr.c (avr_optimization_options): New function.
15592 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
15593
15594 Optimize returning from simple functions.
15595 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
15596 * config/avr/avr.c (avr_simple_epilogue): New function.
15597 * config/avr/avr.md (return): New insn.
15598
15599 2002-07-10 Douglas B Rupp <rupp@gnat.com>
15600
15601 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
15602 HAS_INIT_SECTION to protection.
15603
15604 2002-07-10 Mark Mitchell <mark@codesourcery.com>
15605
15606 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
15607 deprecated.
15608
15609 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
15610
15611 * combine.c (gen_lowpart_for_combine): Handle vector modes.
15612 Supply non-VOID mode to simplify_gen_subreg.
15613
15614 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
15615
15616 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
15617
15618 2002-07-10 Jeffrey A Law <law@redhat.com>
15619
15620 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
15621 as appropriate.
15622
15623 * mn10200.c (expand_epilogue): Fix test to determine which scratch
15624 register to use.
15625
15626 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
15627
15628 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
15629 Get mode from dest.
15630 If simplify_gen_subreg fails, try next equivalent.
15631
15632 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
15633
15634 * diagnostic.h: #include location.h
15635 (location_t): Move definition to..
15636 * location.h: ... here. New file.
15637 * tree.h: #include location.h
15638 (DECL_SOURCE_LOCATION): New macro.
15639 (DECL_SOURCE_FILE): Use.
15640 (DECL_SOURCE_LINE): Likewise.
15641 (struct tree_decl): REplace filename and linenum with locus.
15642 * Makefile.in (TREE_H): add location.h
15643 (diagnostic.o): Depends on gt-location.h
15644 (gt-location.h): Depends on s-gtype
15645
15646 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
15647
15648 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
15649 TARGET_OS_CPP_BUILTINS.
15650 * config/rs6000/aix31.h: Likewise.
15651 * config/rs6000/aix41.h: Likewise.
15652 * config/rs6000/aix43.h: Likewise.
15653 * config/rs6000/aix51.h: Likewise.
15654 * config/rs6000/beos.h: Likewise.
15655 * config/rs6000/darwin.h: Likewise.
15656 * config/rs6000/eabi.h: Likewise.
15657 * config/rs6000/eabisim.h: Likewise.
15658 * config/rs6000/linux.h: Likewise.
15659 * config/rs6000/linux64.h: Likewise.
15660 * config/rs6000/lynx.h: Likewise.
15661 * config/rs6000/mach.h: Likewise.
15662 * config/rs6000/rtems.h: Likewise.
15663 * config/rs6000/sysv4.h: Likewise.
15664 * config/rs6000/vxppc.h: Likewise.
15665
15666 2002-07-09 Devang Patel <dpatel@apple.com>
15667 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
15668 Do not allow ObjC objects as a parameter type for Objective-C methods.
15669 My previous patch restricted 'struct' also.
15670
15671 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
15672
15673 * cpperror.c (cpp_error): Default to directive_line within
15674 directives here.
15675 * cppexp.c (cpp_interpret_integer): Only use traditional
15676 number semantics in directives.
15677 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
15678 (do_include_common): Similarly.
15679 * cpptrad.c (scan_out_logical_line): Implement accurate
15680 quoting of <> in #include.
15681 * doc/cpp.texi: Update.
15682
15683 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
15684 J"orn Rennecke <joern.rennecke@superh.com>
15685
15686 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
15687 * sh.md (attribute issues): Replace with:
15688 (attribute pipe_model). All users changed.
15689 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
15690 All users changed.
15691 (function units sh5issue, sh5fds): New.
15692 (attribute is_mac_media): New.
15693 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
15694 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
15695 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
15696 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
15697 (call_media, call_value_media, sibcall_media): Likewise.
15698 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
15699 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
15700 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
15701 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
15702 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
15703 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
15704 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
15705 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
15706 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
15707 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
15708 (truncdfsf2_media): Likewise.
15709 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
15710 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
15711
15712 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
15713
15714 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
15715 * sh.c (general_extend_operand, inqhi_operand): New functions.
15716 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
15717 alternatives using 'N' modifier. Add type.
15718 (adddi3z_media): Likewise. Enable generator function generation.
15719 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
15720 exact predicates / constraints. Add type.
15721 (subsi3): Allow 0 for SHMEDIA.
15722 (udivsi3_i4_media): Use match_operand for input values
15723 rather than hard registers.
15724 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15725 unnecessarily through hard registers. Keep copies of pseudo
15726 registers outside of the libcall sequence.
15727 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
15728 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
15729 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
15730 (extendhidi2, extendqidi2): Likewise.
15731 (andsi3_compact): Name.
15732 (andcdi3): Enable generator function generation.
15733 (zero_extendhisi2, zero_extendqisi2): Rename to
15734 (zero_extendhisi2_compact, zero_extendqisi2_compact).
15735 (extendhisi2, extendqisi2): Rename to
15736 (extendhisi2_compact, extendqisi2_compact).
15737 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
15738 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
15739 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
15740 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
15741 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
15742 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
15743 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
15744 (shmedia32_initialize_trampoline_big): Likewise.
15745 (shmedia32_initialize_trampoline_little): Likewise.
15746 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
15747 (negdi2): Remove spurious T clobber.
15748 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
15749 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
15750 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
15751 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
15752 (ic_invalidate_line_media): Write back data cache before invalidating
15753 instruction cache. Add type.
15754 (movsf_media): Sign-extend when the destination is a general
15755 purpose register. Add type.
15756 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
15757 (casesi_worker_0+1): Only increment ref count for proper label.
15758 (casesi_worker_0+2): Likewise.
15759
15760 2002-07-09 Mark Mitchell <mark@codesourcery.com>
15761
15762 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
15763
15764 2002-07-09 Steve Ellcey <sje@cup.hp.com>
15765
15766 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
15767 from Pmode to ptr_mode.
15768 (get_exception_pointer): Ditto.
15769 (connect_post_landing_pads): Ditto.
15770 (dw2_build_landing_pads): Ditto.
15771
15772 2002-07-08 Steve Ellcey <sje@cup.hp.com>
15773 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
15774 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
15775 (handle_pragma_redefine_extname): Change to use new function.
15776
15777 2002-07-08 Roger Sayle <roger@eyesopen.com>
15778
15779 * combine.c (combine_simplify_rtx): Add an explicit cast
15780 to avoid signed/unsigned comparison warning.
15781 (simplify_if_then_else): Likewise.
15782 (extended_count): Likewise.
15783 (simplify_shift_const): Likewise.
15784 (simplify_comparison): Likewise.
15785
15786 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
15787
15788 * config/mips/mips.md: Add imadd type. Update scheduler description
15789 to use imadd as well as imul.
15790 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
15791 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
15792 (*mul_sub_si): Likewise for first alternative. Change second
15793 alternative from imul to multi.
15794
15795 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
15796
15797 * c-common.c (c_common_post_options): Update prototype;
15798 don't init backends if preprocessing only.
15799 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
15800 * langhooks.h (struct lang_hooks): Update post_options to
15801 return a boolean.
15802 * toplev.c (parse_options_and_default_flags, do_compile,
15803 lang_independent_init): Update prototypes. Allow the
15804 front end to specify that there is no need to initialize
15805 the back end.
15806 (general_init): Move call to hex_init here...
15807 (toplev_main): ...from here. Pass flag for back end init
15808 suppression.
15809
15810 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
15811
15812 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
15813 (PREDICATE_CODES): Add entries for equality_comparison_operator,
15814 greater_comparison_operator and less_comparison_operator.
15815 * sh.c (print_operand): Add '\'' code. Make 'o' handle
15816 more operators.
15817 (equality_comparison_operator): New function.
15818 (greater_comparison_operator, less_comparison_operator): Likewise.
15819 * sh.md (beq_media_i): Disable generator function generation.
15820 Use match_operator to handle a whole class of comparisons. Add
15821 modifier in output template to provide branch prediction. Add type.
15822 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
15823 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
15824 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
15825 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
15826
15827 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
15828
15829 Emit MMIX function prologue and epilogue as rtl.
15830 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
15831 not unprototyped get_hard_reg_initial_val.
15832 ("call_value", "nonlocal_goto_receiver"): Ditto.
15833 ("return"): Make define_expand. Move real insn to...
15834 ("*expanded_return"): New pattern.
15835 ("prologue", "epilogue"): New define_expands.
15836 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
15837 (struct machine_function): New member in_prologue.
15838 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
15839 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
15840 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
15841 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
15842 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
15843 (LOCAL_REGNO): Define. Adjust comment.
15844 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
15845 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
15846 leaf_function_p.
15847 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
15848 the prologue.
15849 (mmix_target_asm_function_prologue): Make static. Just mark that
15850 the prologue is being emitted. Move guts to...
15851 (mmix_expand_prologue): New function. Adjust for emitting
15852 prologue as rtl. For sizes, use HOST_WIDE_INT only.
15853 (mmix_target_asm_function_epilogue): Make static. Simply emit a
15854 \n. Move guts to...
15855 (mmix_expand_epilogue): New function. Adjust for emitting
15856 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
15857 (mmix_target_asm_function_end_prologue): Mark that the prologue
15858 has ended.
15859 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
15860 (mmix_conditional_register_usage): Improve comments.
15861 (mmix_local_regno): New function.
15862 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
15863 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
15864 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
15865 (mmix_get_hard_reg_initial_val): Ditto.
15866
15867 2002-07-06 Andreas Jaeger <aj@suse.de>
15868
15869 * toplev.c (set_fast_math_flags): Don't use ISO C style function
15870 definitions.
15871 * gengtype.c (open_base_files): Likewise.
15872 (close_output_files): Likewise.
15873 * tracer.c (find_best_predecessor): Likewise.
15874 (find_best_successor): Likewise.
15875 (ignore_bb_p): Likewise.
15876
15877 2002-07-05 Roger Sayle <roger@eyesopen.com>
15878
15879 PR c++/7099
15880 * builtin-attrs.def: Define new attribute lists for use in
15881 builtins.def.
15882 * builtins.def [DEF_BUILTIN]: Modify to take an additional
15883 ATTRS argument, an enumerated value defined in builtin-attrs.def
15884 that represents the attribute list for the builtins. Modify
15885 all builtin functions to pass an appropriate attribute list.
15886 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
15887 their required noreturn attributes.
15888 * tree.h (enum_builtin_function): Ignore the additional parameter
15889 to DEF_BUILTIN.
15890 * builtins.c (built_in_names): Likewise.
15891 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
15892 argument with a tree representing the functions attribute list.
15893 Pass this "attrs" argument to builtin_function. No longer handle
15894 the noreturn_p processing manually.
15895 (built_in_attributes): Move the definitions from builtin-attrs.def
15896 before c_common_nodes_and_builtins.
15897 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
15898 DEF_BUILTIN, passing it to both builtin_function and the changed
15899 builtin_function_2.
15900
15901 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
15902 __builtin__exit and __builtin__Exit.
15903
15904 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
15905
15906 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
15907 QI mode registers in soft registers.
15908 ("zero_extendqihi2"): Do not take into account soft registers
15909 for register allocation (use '*' constraint).
15910
15911 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
15912
15913 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
15914 it is dead.
15915 ("*ashrsi3"): Likewise.
15916 ("*lshrsi3"): Likewise.
15917
15918 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
15919
15920 * genautomata.c (output_max_insn_queue_index_def): Take latencies
15921 into account.
15922
15923 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
15924
15925 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
15926 address computation and memory moves.
15927
15928 2002-07-03 Mark Mitchell <mark@codesourcery.com>
15929
15930 PR c++/6706
15931 * dwarfout.c (output_reg_number): Fix warning message.
15932 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
15933 before using it.
15934
15935 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15936
15937 * gcc/gcc.c (asm_debug): Move initialization ...
15938 (init_spec): ... here.
15939
15940 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
15941
15942 * c-parse.in (extdef): Append ';'.
15943 (old_style_parm_decls): Append ';'.
15944
15945 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
15946
15947 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
15948 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
15949 to gcc_cv_as_gstabs_flag.
15950 * configure: Rebuilt.
15951
15952 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
15953
15954 * ggc.h (ggc_add_root): Document as obsolete.
15955
15956 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
15957
15958 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
15959 (mshflo_w): Likewise.
15960
15961 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
15962
15963 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
15964 vector mode subregs of constants to finding integer mode
15965 subregs of constants.
15966 * cse.c (cse_insn): Use simplify_gen_subreg.
15967 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
15968 From a vector mode expression of different size than the
15969 target mode.
15970
15971 2002-07-03 Eric Christopher <echristo@redhat.com>
15972
15973 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
15974 * config/mips/mips.h: Remove deprecated -m<processor> options
15975 and cc1_cpu_spec associated.
15976 (CONSTANT_ADDRESS_P): Fix last patch.
15977 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
15978 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
15979 sunge_sf): Remove.
15980
15981 2002-07-03 Stan Shebs <shebs@apple.com>
15982
15983 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
15984 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
15985 (CPP_SPEC): Remove insertion of APPLE_CC definition.
15986
15987 2002-07-03 Roger Sayle <roger@eyesopen.com>
15988
15989 * combine.c (struct_undo): Change types of recorded substitutions
15990 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
15991 (do_SUBST_INT): Change types of the substitution from unsigned int
15992 to int, to avoid compilation warning from SUBST_INT's only caller.
15993
15994 (make_extraction): Add cast to avoid compilation warning.
15995 (force_to_mode): Remove cast to avoid compilation warning.
15996
15997 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
15998 Jeff Law <law@redhat.com>
15999
16000 * i386.md (length_immediate attribute): Fix typo.
16001 (length_address attribute): Likewise.
16002 (modrm attribute): Set it to 0 for immediate call instructions.
16003 (jcc_1 pattern): Set modrm attribute to 0.
16004 (jcc_2 pattern ): Likewise.
16005 (jump pattern): Likewise.
16006 (doloop_end_internal pattern): Explicitly set length.
16007 (leave pattern): Fix typo.
16008 (leave_rex64 pattern): Likewise.
16009
16010 2002-07-03 David Edelsohn <edelsohn@gnu.org>
16011
16012 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16013 in FPR as preference.
16014 (fctiwz): Same.
16015 (floatdidf2, fix_truncdfdi2): Same.
16016 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16017 (floatditf2): Same.
16018 (floatsitf2, fix_trunctfsi2): SImode in GPR.
16019 (ctrdi): Remove FPR alternative and splitter.
16020
16021 2002-07-03 Will Cohen <wcohen@redhat.com>
16022
16023 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16024
16025 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
16026
16027 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16028 than UNITS_PER_WORD, unless this is little endian and the first unit
16029 in this word. Let extract_bit_field decide how to load an element.
16030 Force arguments to matching mode.
16031 (expand_vector_unop): Likewise.
16032
16033 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16034 consist of word_mode elements.
16035 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16036 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16037 (build_unary_op): Allow vector types for BIT_NOT_EPR.
16038 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16039 CONST_VECTOR.
16040 * optabs.c (expand_vector_binop): Try to perform operation in
16041 smaller vector modes with same inner size. Add handling of AND, IOR
16042 and XOR. Reject expansion to inner-mode sized scalars when using
16043 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
16044 (expand_vector_unop): Try to perform operation in smaller vector
16045 modes with same inner size. Add handling of one's complement.
16046 When there is no vector negate operation, try a vector subtract
16047 operation. Use simplify_gen_subreg on constants.
16048 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16049 constants into smaller vectors with same inner mode, and to
16050 integer CONST_DOUBLEs.
16051
16052 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16053
16054 * c-parse.in (parsing_iso_function_signature): New variable.
16055 (extdef_1): New, copied from...
16056 (extdef): ... here. Reset parsing_iso_function_signature.
16057 (old_style_parm_decls): Reset parsing_iso_function_signature.
16058 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16059 Warn about ISO C style function definitions.
16060 (nested_function, notype_nested_function): Reset
16061 parsing_iso_function_signature.
16062 (parmlist_2): Set parsing_iso_function_signature.
16063
16064 * doc/invoke.texi (-Wtraditional): Document new behavior.
16065
16066 2002-07-02 Chris Demetriou <cgd@broadcom.com>
16067
16068 * config.gcc (mips*el-*-*): Use tm_defines to set
16069 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16070 * config/mips/little.h: Remove.
16071
16072 2002-07-02 Devang Patel <dpatel@apple.com>
16073
16074 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16075 object as parameter. Prevent something like 'NSObject' to be
16076 used as the type for a method argument.
16077
16078 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
16079
16080 * cpptrad.c: Update comment.
16081
16082 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
16083
16084 * doc/cpp.texi: Update for traditional preprocessing changes.
16085 * goc/cppopts.texi: Similarly.
16086
16087 2002-07-02 Ziemowit Laski <zlaski@apple.com>
16088
16089 * c-parse.in (designator): Enable designated initializers if ObjC.
16090 (objcmessageexpr): Remove references to objc_receiver_context.
16091 * objc/objc-act.h (objc_receiver_context): Remove decl.
16092 * objc/objc-act.c (objc_receiver_context): Remove.
16093 (lookup_objc_ivar): Test objc_method_context instead of
16094 objc_receiver_context.
16095
16096 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
16097
16098 * sh.c (print_operand, case 'N'): Allow zero vector.
16099 (arith_reg_or_0_operand): Likewise.
16100 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16101 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
16102 IOR, XOR, PLUS and SET and take their respective constant
16103 ranges into account.
16104 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16105 * sh.md (subdi3, subdi3_media): Allow zero operand.
16106 (movv8qi_i+3): Only vector that is not split is the zero vector.
16107 Fix operand 3 to simplify_subreg.
16108 (movv2si_i): Split alternative 1.
16109 (mshfhi_l_di_rev+1): New splitter.
16110
16111 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
16112
16113 PR preprocessor/7029
16114 * cppinit.c (cpp_handle_option): Suppress warnings with an
16115 implicit "-w" for "-M" and "-MM".
16116 * doc/cppopts.texi: Update.
16117
16118 2002-07-01 Roger Sayle <roger@eyesopen.com>
16119
16120 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16121 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
16122 builtin_function.
16123
16124 2002-07-02 Alan Modra <amodra@bigpond.net.au>
16125
16126 * README.Portability: Fix typos.
16127
16128 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
16129
16130 PR target/7177
16131 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16132 of indirections for register inside sign-extended mem part.
16133
16134 2002-07-01 Roger Sayle <roger@eyesopen.com>
16135
16136 * tree.h: Modify builtin_function interface to take an extra
16137 argument ATTRS, which is a tree representing an attribute list.
16138
16139 * c-decl.c (builtin_function): Accept additional parameter.
16140 * objc/objc-act.c (builtin_function): Likewise.
16141 * f/com.c (builtin_function): Likewise.
16142 * java/decl.c (builtin_function): Likewise.
16143 * ada/utils.c (builtin_function): Likewise.
16144 * cp/decl.c (builtin_function): Likewise.
16145 (builtin_function_1): Likewise.
16146
16147 * c-common.c (c_common_nodes_and_builtins): Pass an additional
16148 NULL_TREE argument to builtin_function. (builtin_function_2):
16149 Likewise.
16150 * cp/call.c (build_java_interface_fn_ref): Likewise.
16151 * objc/objc-act.c (synth_module_prologue): Likewise.
16152 * java/decl.c (java_init_decl_processing): Likewise.
16153 * f/com.c (ffe_com_init_0): Likewise.
16154
16155 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16156 NULL_TREE argument to builtin_function.
16157 * config/arm/arm.c (def_builtin): Likewise.
16158 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16159 * config/i386/i386.c (def_builtin): Likewise.
16160 * config/ia64/ia64.c (def_builtin): Likewise.
16161 * config/rs6000/rs6000.c (def_builtin): Likewise.
16162
16163 2002-07-01 Zack Weinberg <zack@codesourcery.com>
16164
16165 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16166 * config/mips/t-isa3264: Likewise.
16167 * config/mmix/t-mmix: Likewise.
16168
16169 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
16170
16171 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16172
16173 2002-07-01 Roger Sayle <roger@eyesopen.com>
16174
16175 PR opt/4046
16176 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16177 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16178 B are truth values.
16179
16180 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
16181
16182 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16183
16184 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
16185
16186 * README.Portability (Function prototypes): Give an example of
16187 declaring and defining a function with no arguments.
16188
16189 * README.Portability (Function prototypes): Document new
16190 variable-argument function macros.
16191
16192 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
16193
16194 * sh.c (langhooks.h): Include.
16195 (sh_init_builtins, sh_media_init_builtins): New functions.
16196 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16197 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16198 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16199 (builtin_description): New struct tag.
16200 (signature_args, bdesc): New arrays.
16201 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16202 (print_operand): Add 'N' modifier.
16203 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16204 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16205 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16206 (CONST_COSTS): Add special case for SHmedia AND.
16207 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16208 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16209 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16210 target_operand can also be const or unspec.
16211 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16212 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16213 (attribute type): Add new types.
16214 (anddi3): Add splitter.
16215 (movdi_const_16bit+1): Add code to handle vector constants and
16216 bitmasks efficiently.
16217 (shori_media): Have generator function made.
16218 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16219 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16220 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16221 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16222 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16223 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16224 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16225 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16226 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16227 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16228 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16229 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16230 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16231 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16232 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16233 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16234 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16235 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16236 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16237 (ftrv): Likewise.
16238
16239 (fpu_switch+1, fpu_switch+2): Remove constraint.
16240
16241 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
16242
16243 * tree.c (build_function_type_list): Update function comment.
16244 Rename first argument to return_type.
16245
16246 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
16247
16248 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16249 tradcif.y and related files.
16250
16251 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
16252
16253 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16254
16255 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16256
16257 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16258
16259 See ChangeLog.7 for earlier changes.