OSDN Git Service

0069cd37e3425b397a466abfd0e8fe758e74da22
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
2
3         * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
4         (struct tree_int_cst, struct tree_real_cst, struct tree_string,
5         struct tree_complex, struct tree_vector): Remove RTL field.
6         (CONSTRUCTOR_ELTS): Use elt 0.
7         * tree.def (CONSTRUCTOR): Delete first of its two operands.
8         * varasm.c (output_constant_def): Remove early exit if
9         TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
10         (decode_addr_const): Don't mention TREE_CST_RTL in comment.
11         * target.h (select_section): Don't mention TREE_CST_RTL in comment.
12         * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
13
14 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
15
16         * c-decl.c (finish_decl): When prototype with asmspec is found
17         for built-in, adjust built_in_decls as well as expr.c decls.
18         * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
19         (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
20         * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
21
22 2003-04-28  Richard Henderson  <rth@redhat.com>
23
24         * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
25         * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
26         integral constant mult operand.
27         (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
28         (const_smulsi3_highpart_v8plus): Likewise.
29         (const_smulsi3_highpart): Likewise.
30         (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
31         (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
32         (const_umulsi3_highpart_v8plus): Likewise.
33         (const_umulsi3_highpart): Likewise.
34
35 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
36
37         * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
38         Define as 1.
39
40 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
41
42         * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
43
44 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
45
46         * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
47         * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
48         * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
49         functions.
50         (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
51
52 2003-04-28  Nick Clifton  <nickc@redhat.com>
53
54         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
55
56 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
57
58         * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
59         output_constant_def, use its result instead of TREE_CST_RTL (exp).
60         Can assume it has the form (mem (symbol_ref ".LCxxx")).
61         (expand_expr <COMPONENT_REF>): Can always just extract the
62         relevant field of a CONSTRUCTOR.
63         (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
64         ARRAY_RANGE_REF>): Make control flow explicit.
65         * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
66         an INTEGER_CST.
67
68 2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
69
70         * reload1.c (reg_set_luid): Fix a comment typo.
71
72 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
73
74         * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
75         struct deferred_string, const_str_htab): Kill.
76         (n_deferred_strings): New static variable.
77         (build_constant_desc): Set SYMBOL_REF_DECL of the new
78         symbol_ref to point to the constant.
79         (output_constant_def): When a deferred string is forced out,
80         just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
81         (mark_constant): Likewise.
82         (maybe_output_constant_def_contents): When deferring a string
83         constant, just set STRING_POOL_ADDRESS_P and increment
84         n_deferred_strings.
85         (mark_constant_pool): Check n_deferred_strings, not the size
86         of const_str_htab.
87         (init_varasm_once): No need to create const_str_htab.
88
89         * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
90         SYMBOL_REF_DECL points to a constant.
91
92 2003-04-26  Zack Weinberg  <zack@codesourcery.com>
93
94         * varasm.c (output_constant_def): Split out two new static
95         functions, build_constant_desc and maybe_output_constant_def_contents.
96         Restructure for comprehensibility.  Don't call
97         output_addressed_constants.  Treat defstr being non-NULL for
98         STRING_POOL_ADDRESS_P constants as an invariant.
99         (struct deferred_string): Remove labelno field.
100         (output_constant_def_contents): Kill labelno argument. Call
101         output_addressed_constants here.  Use ASM_OUTPUT_LABEL, not
102         asm_out.internal_label.
103         (mark_constant): Update call to output_constant_def_contents.
104         Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
105         constants as an invariant.
106
107 2003-04-26  Richard Henderson  <rth@redhat.com>
108
109         * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
110         (ix86_expand_call, ix86_rtx_consts): Likewise.
111
112 2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
113
114         * doc/md.texi (cmpstr): Document additional restrictions.
115
116 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
117
118         * flags.h (time_report): Remove.
119         * timevar.c (timevar_enable): New.
120         (TIMEVAR_ENABLE): Remove, use timevar_enable.
121         (timevar_init): Rename from init_timevar.
122         * timevar.h (timevar_init): Rename from init_timevar.
123         * toplev.c (time_report): Make static.
124         (do_compile): Conditionally call init_timevar first.
125         (preprocess_options): Move some code to do_compile.
126
127 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
128
129         * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
130
131 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
132
133         * _cpp_lex_direct: Remove pointless code.
134
135 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
136
137         * doc/extend.texi (Function Attributes): Document "near" and "far"
138         for 68HC11 and 68HC12.
139
140 2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
141
142         * expr.c (store_field): When making temporary for store, don't
143         make it TYPE_QUAL_CONST.
144
145 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
146
147         * toplev.c (read_integral_parameter):  Use "argument" in error
148         message to distinguish it from actual invalid options.
149
150 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
151
152         * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
153         addition of __PIC__ and __pic__ macros.
154         * config/xtensa/xtensa.h: Clean up indentation.
155
156 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
157
158         * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
159         _GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
160         (SUBTARGET_CPP_SPEC): Define.
161         (LIB_SPEC): Delete.
162         * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
163         * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
164         * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
165         Define.
166         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
167         (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
168
169 2003-04-25  H.J. Lu <hjl@gnu.org>
170
171         * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
172         for return mode.
173         (ia64_expand_builtin): Set rmode to SImode for
174         IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
175         IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
176         IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
177         for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
178
179 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
180
181         * configure.in (make_compare_target):  Test for GNU cmp and set this
182         variable appropriately.
183         * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
184         compare4-lean): Rename actual targets to slowcompare*.  New compare*
185         targets depend on names based on make_compare_target.
186         * configure:  Regenerated.
187
188 2003-04-25  Richard Henderson  <rth@redhat.com>
189
190         * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
191         to clobber ar.pfs and ar.unat.
192         (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
193         fix test for spilling ar.pfs to the stack.
194
195 2003-04-25  Richard Henderson  <rth@redhat.com>
196
197         PR opt/10315
198         * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
199         checks during reload; use validize_mem instead of adjust_address.
200
201 2003-04-26  Ben Elliston  <bje@wasabisystems.com>
202
203         * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
204         return values from recog_memoized().
205
206 2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
207
208         PR opt/8705
209         * gcse.c (try_replace_reg): On a successful substitution of a constant
210         into a single set, try to simplify the source of the set.
211         * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
212         constant source.
213
214 2003-04-24  Neil Booth  <neil@daikokuya.co.uk>
215
216         * cpplex.c (cpp_token_len): Tighten up.
217         (cpp_token_as_text): Need extra byte now.
218         * cpplib.c (glue_header_name): Need extra 2 bytes.
219         * cppmacro.c (cpp_macro_definition): Need extra byte.
220
221 2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
222
223         * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
224         const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
225         where they might be not present. Use their _sp64 equivalent
226         instead.
227
228 Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
229
230         * i386.md (cvtsi2sdq): Fix typo in previous patch.
231
232 2003-04-24  Krister Walfridsson  <cato@df.lth.se>
233
234         * configure.in: Check whether mbstowcs works.
235         * configure, config.in: Regenerate.
236         * intl.c: Use HAVE_WORKING_MBSTOWCS.
237
238 2003-04-24  H.J. Lu <hjl@gnu.org>
239
240         * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
241         for __sync_bool_compare_and_swap_di for int return type.
242
243         * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
244         Change return type to int.
245         (__sync_bool_compare_and_swap): Likewise.
246
247 Thu Apr 24 16:55:26 CEST 2003  Jan Hubicka  <jh@suse.cz>
248
249         * cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
250         looking for fallthru edge.
251
252         * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
253         Fix.
254         (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
255         athlon-fvector): New.
256         (athlon_*): Revisit to match new optimization guide.
257         * i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
258         * i386.md (cvt??2?? patterns): Fix modes.
259         (fistp patterns): Set modes.
260
261         Accidentaly commited with my earlier reload patch:
262         PR c/10308
263         * reload.c (find_reloads_address_1): Reload plus at the place of
264         index register.
265
266 2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
267
268         New GCOV_TAG_FUNCTION layout
269         * coverage.c (struct function_list): Replace name with ident.
270         (struct counts_entry): Likewise.
271         (fn_ident): New.
272         (htab_counts_entry_hash, htab_counts_entry_eq,
273         htab_counts_entry_del): Adjust.
274         (reads_count_file, get_coverage_counts,
275         coverage_begin_output, coverage_end_function): Adjust.
276         (build_fn_info_type, build_fn_info_value): Likewise.
277         * gcov-dump.c (tag_function): Adjust.
278         * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
279         * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
280         * gcov.c (struct function_info): Add ident.
281         (read_graph_file, read_count_file): Adjust.
282         * libgcov.c (gcov_exit): Adjust.
283
284 2003-04-23  Richard Henderson  <rth@redhat.com>
285
286         PR opt/8300
287         * toplev.c (rest_of_compilation): Delay no_new_pseudos until
288         after initialize_uninitialized_subregs; update reg info assuming
289         new pseudos were created.
290
291 2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
292
293         * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
294         * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
295         (lex_string): Take cpp_string with full spelling.
296         (cb_ident): Update.
297         (c_lex): Update diagnostics.
298         * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
299         (create_literal): New.
300         (lex_string): Unterminated literals have type CPP_OTHER.
301         (_cpp_lex_direct): Update calls to lex_string.  Use create_literal
302         for CPP_OTHER.
303         (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
304         (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
305         * cpplib.c (parse_include, do_line, do_linemarker,
306         destringize_and_run): Update for token storing full spelling.
307         * cpplib.h: Update token spelling types.
308         * cppmacro.c (stringify_arg, check_trad_stringification):
309         Update for token storing full spelling.
310
311 2003-04-23  Ulrich Weigand  <uweigand@de.ibm.com>
312
313         * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
314
315 2003-04-23  Richard Earnshaw  <rearnsha@arm.com>
316
317         * arm.h (TARGET_OPTIONS): Add value field.
318
319 2003-04-23  Mark Mitchell  <mark@codesourcery.com>
320
321         * doc/extend.texi: Remove duplicate 2003 copyright date.
322
323 2003-04-23  Nathan Sidwell  <nathan@codesourcery.com>
324
325         * Makefile.in (LIBGCC_DEPS): Add gcov headers.
326         (libgcov.a): Depends on LIBGCC_DEPS.
327         * basic-block.h (profile_info): Moved here from coverage.h. Made
328         a pointer.
329         * coverage.c (struct function_list): Fixed array of counter types.
330         (struct counts_entry): Keyed by counter type, contains summary.
331         (profile_info): Moved to profile.c.
332         (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
333         vars.
334         (profiler_label): Remove.
335         (ctr_labels): New.
336         (set_purpose, label_for_tag, build_counter_section_fields,
337         build_counter_section_value, build_counter_section_data_fields,
338         build_counter_section_data_values, build_function_info_fields,
339         build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
340         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
341         build_ctr_info_value, build_gcov_info): New.
342         (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
343         (reads_counts_file): Adjust.
344         (get_coverage_counts): Takes counter number. Add summary
345         parameter. Adjust.
346         (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
347         create counter array labels.
348         (coverage_end_function): Adjust.
349         (create_coverage): Adjust.
350         (find_counters_section): Remove.
351         * coverage.h (MAX_COUNTER_SECTIONS): Remove.
352         (struct section_info, struct profile_info): Remove.
353         (profile_info): Moved to basic-block.h.
354         (coverage_counter_ref): Takes a counter number.
355         (get_coverage_counts): Takes a counter number. Added summary
356         parameter.
357         (find_counters_section): Remove.
358         * gcov-dump.c (tag_arc_counts): Rename to ...
359         (tag_counters): ... here. Adjust.
360         (tag_table): Move tag_counters to 3rd entry. Remove
361         PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
362         (dump_file): Check for counter tag values here.
363         (tag_summary): Adjust.
364         * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
365         * gcov-io.h (GCOV_LOCKED): New.
366         (GCOV_TAG_ARC_COUNTS): Rename to ...
367         (GCOV_TAG_COUNTS_BASE): ... here.
368         (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
369         Remove.
370         (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
371         (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
372         GCOV_TAG_IS_COUNTER): New.
373         (struct gcov_ctr_summary): New.
374         (struct gcov_summary): Adjust.
375         (struct gcov_counter_section): Remove.
376         struct gcov_counter_section_data): Remove.
377         (struct gcov_function_info): Rename to ...
378         (struct gcov_fn_info): ... here. Adjust.
379         (struct gcov_ctr_info): New.
380         (struct gcov_info): Adjust.
381         * gcov.c (read_count_file): Adjust.
382         (output_lines): Adjust.
383         * libgcov.c (gcov_exit): Adjust.
384         (__gcov_flush): Adjust.
385         * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
386         * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
387         probably_never_executed_bb_p, compute_frequency_function): Adjust
388         profile_info use.
389         * profile.c (struct counts_entry): Remove.
390         (profile_info): Define here.
391         (get_exec_counts): Adjust get_coverage_counts call.
392         (compute_branch_probablilities): Remove find_counters_section
393         call.
394         (gen_edge_profiler): Adjust coverage_counter_ref call.
395         * tracer.c (tail_duplicate): Adjust profile_info use.
396
397 2003-04-23  Roger Sayle  <roger@eyesopen.com>
398
399         PR optimization/10339
400         * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
401         directly instead of unsafely transforming call into a memcmp.
402         (expand_builtin_strncmp): Likewise.
403
404 2003-04-22  Roger Sayle  <roger@eyesopen.com>
405
406         * alias.c (mark_constant_function):  Check for constancy and
407         purity even of void functions.  Update both the function decl
408         and the cgraph RTL info with the results.
409
410 2003-04-22  Roger Sayle  <roger@eyesopen.com>
411
412         * real.c (do_add): Change to return a bool indicating that the
413         result of the operation may be inexact due to loss of precision.
414         (do_multiply): Likewise.
415         (do_divide): Likewise.
416
417 2003-04-22  Geoffrey Keating  <geoffk@apple.com>
418             Loren James Rittle  <ljrittle@acm.org>
419
420         * dwarf2out.c (fde_table_allocated): Mark with GTY.
421         (decl_die_table_allocated): Likewise.
422         (abbrev_die_table_allocated): Likewise.
423         (line_info_table_allocated): Likewise.
424         (separate_line_info_table_allocated): Likewise.
425         (pubname_table_allocated): Likewise.
426         (arange_table_allocated): Likewise.
427         (ranges_table_allocated): Likewise.
428         (decl_die_table_in_use): Unconditionalize; mark with GTY.
429         (abbrev_die_table_in_use): Likewise.
430         (line_info_table_in_use): Likewise.
431         (separate_line_info_table_in_use): Likewise.
432         (pubname_table_in_use): Likewise.
433         (arange_table_in_use): Likewise.
434         (ranges_table_in_use): Likewise.
435         (have_location_lists): Likewise.
436         (emitcount): New GTY-marked static, moved...
437         (maybe_emit_file): ...from here.
438         (label_num): New GTY-marked static, moved...
439         (gen_internal_sym): ...from here.
440
441 2003-04-22  Richard Henderson  <rth@redhat.com>
442
443         PR 8866
444         * rtl.h (MEM_NOTRAP_P): New.
445         (MEM_COPY_ATTRIBUTES): Copy it.
446         * rtlanal.c (may_trap_p): Check it.
447         * expr.c (do_tablejump): Set it.
448         * doc/rtl.texi (Flags): Document it.
449
450         * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
451
452 2003-04-22  Olivier Hainque  <hainque@act-europe.fr>
453
454         * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
455         set FRP on stack adjustment for outgoing args if frame_pointer_needed.
456
457 2003-04-22  Vincent Celier <celier@gnat.com>
458
459         * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
460         --enable-threads=gnat.
461         * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
462         * configure.in: Add gnat to the list of thread packages
463         * configure: Rebuild.
464         * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
465
466 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
467
468         * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
469
470 2003-04-22  Devang Patel  <dpatel@apple.com>
471
472         * cpptrad.c (_cpp_replacement_text_len): Add check for macro
473         parameter count.
474         (_cpp_copy_replacement_text): Same.
475
476 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
477
478         * c-lex.c (c_lex): Handle CPP_OTHER differently.
479         * cppexp.c (_cpp_parse_expr): Similarly.
480         * cpplex.c (SPELL_CHAR): Remove.
481         (_cpp_lex_direct): Stray chars are saved as byte strings.
482         (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
483         handle SPELL_CHAR.
484         (cpp_avoid_paste): Update handling of CPP_OTHER.
485         * cpplib.h: Spell CPP_OTHER like a number.
486         (struct cpp_token): Remove member c.
487         * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
488
489 2003-04-22  David Turner <novalis@gnu.org>
490
491         * gbl-ctors.h: Add special license exception.
492         * libgcc2.h: Likewise.
493         * tsystem.h: Likewise.
494         * gcov-io.h: Likewise.
495
496 2003-04-22  David Edelsohn  <edelsohn@gnu.org>
497
498         * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
499         macro defaulting to original BRANCH_COST heuristic.
500         * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
501
502         * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
503
504 2003-04-22  Aldy Hernandez  <aldyh@redhat.com>
505
506         * config/rs6000/t-spe: Merge in t-fprules into file.
507
508         * config.gcc: Add t-spe to powerpc-eabispe.
509
510 2003-04-22  Kean Johnston  <jkj@sco.com>
511
512         * tlink.c (recompile_files): Add missing '=' to putenv calls
513
514 2003-04-22  Nathan Sidwell  <nathan@codesourcery.com>
515
516         * ginclude/stddef.h: Provide C++ safe offsetof.
517
518 2003-04-22  J"orn Rennecke <joern.rennecke@superh.com>
519
520         * function.c (purge_addressof_1): In (mem (addressof (reg))) case
521         for reg notes, if there are no substitutions, just use a SUBREG.
522
523 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
524
525         * Makefile.in (calls.o): Depend on except.h.
526         * calls.c: Include except.h.
527         (emit_call_1): Call note_eh_region_may_contain_throw if
528         appropriate.
529         * except.c (eh_region): Add may_contain_throw.
530         (expand_eh_region_end_cleanup): Do not include handler code when
531         it cannot be reached.
532         (note_eh_region_may_contain_throw): New function.
533         * except.h (note_eh_region_may_contain_throw): New function.
534
535 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
536
537         * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
538         changes.
539
540 2003-04-21  Aldy Hernandez  <aldyh@redhat.com>
541
542         * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
543         64-bit long doubles.
544
545 2003-04-21  Olivier Hainque  <hainque@act-europe.fr>
546
547         * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
548         a number of conversions required for type consistency and previously
549         stripped off by STRIP_NOPS.
550
551         * calls.c (expand_call): Prevent sibcall optimization for calls to
552         nested subprograms.
553
554         * expmed.c (extract_bit_field): Reverse operands of && condition to
555         prevent a potential division by zero in the previously first branch.
556         * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
557
558 2003-04-21  Joel Brobecker  <brobecker@gnat.com>
559
560         * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
561         (subrange_type_die): Likewise.
562         (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
563         (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
564
565 2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
566
567         Break out coverage routines to new file.
568         * Makefile.in (COVERAGE_H): New variable
569         (C_OBJS): Add coverage.o
570         (coverage.o): New target.
571         (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
572         dependencies.
573         (GTFILES): Adjust.
574         (gt-coverage.h): New target.
575         (gt-profile.h): Remove.
576         * profile.h: Remove. Move to ...
577         * coverage.h: ... here. New. #include gcov-io.h.
578         * gcov-io.h: Move function definitions to ...
579         * gcov-io.c: ... here. New.
580         * profile.c: Move coverage routines to coverage.c.
581         (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
582         end_branch_prob): Adjust.
583         * coverage.c: New. Coverage routines from profile.c
584         (coverage_counter_ref, coverage_init, coverage_finish,
585         coverage_end_function, coverage_begin_output,
586         coverage_counter_ref, get_coverage_counts): Define.
587         * gcov-dump.c, gcov.c: #include gcov-io.c.
588         * libgcov.c: Likewise. Adjust.
589         * loop-init.c: Don't #include profile.h
590         * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
591         * rtl.h: Add coverage prototypes.
592         * toplev.c (compile_file): Init coverage, not branch_prob.
593         Always call coverage_finish.
594         (rest_of_compilation): Call coverage_end_function.
595
596 2003-04-21  Matt Kraai  <kraai@alumni.cmu.edu>
597
598         * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
599
600 2003-04-21  Neil Booth  <neil@daikokuya.co.uk>
601
602         * c-ppoutput.c (cb_include): Don't take a cpp_token.
603         * cppfiles.c: Don't undef strcmp.
604         (find_include_file): Don't take a cpp_token.  Check for empty
605         file names.
606         (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
607         (cpp_push_include): Simplify.
608         * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
609         * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
610         (parse_include): Similary.  Don't check for zero-length filenames.
611         (do_include_common, do_pragma_dependency): Update accordingly.
612         * cpplib.h (struct cpp_callbacks): Change prototype of include.
613
614 2003-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
615
616         * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
617         details of conflict handling.
618
619         * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
620         when conversion overflows.
621
622         * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
623
624         * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
625         before clearing.
626
627 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
628
629         * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
630         have the same form as the old RTL.
631
632 2003-04-21  Andreas Jaeger  <aj@suse.de>
633
634         * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
635
636 2003-04-20  Chris Lattner  <sabre@nondot.org>
637             Zack Weinberg  <zack@codesourcery.com>
638
639         * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
640         genrtl_cleanup_stmt.  Correct comment at head of
641         genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
642
643         * stmt.c (struct nesting): Kill n_function_calls.
644         (expand_start_bindings): Don't set
645         thisblock->data.block.n_function_calls.
646         (expand_end_bindings): Compare function_call_count against 0.
647         (expand_cleanups): Kill DONT_DO argument; all callers passed
648         NULL_TREE. All callers updated to match.
649
650 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
651
652         * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
653         (defer_addressed_constants, output_deferred_addressed_constants): Kill.
654         (output_constant_def): Remove code predicated on
655         defer_addressed_constants_flag.
656
657         * output.h: Remove prototypes of deleted functions.
658         * c-typeck.c (constructor_subconstants_deferred): Kill.
659         (struct initializer_stack): Remove 'deferred' field.
660         (start_init): Remove all references to the above.
661         (finish_init): Likewise. Also remove never-executed call to
662         output_deferred_addressed_constants.  Pull assignment to
663         defstr out of if expression.
664
665 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
666
667         * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
668         NOTE_NEWLINE): Remove.
669         * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
670         to handle new form of line note type.
671
672 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
673
674         * target.h (encode_section_info): Add new argument carrying
675         the RTL to be modified by the hook.
676
677         * varasm.c (make_decl_rtl, output_constant_def): Update calls
678         to encode_section_info.
679         (default_encode_section_info): Take and use RTL argument,
680         don't use TREE_CST_RTL or DECL_RTL.
681         * output.h: Update prototype of default_encode_section_info.
682         * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
683         (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
684         Update calls to encode_section_info.
685
686         * config/darwin.c, config/arm/arm.c, config/arm/pe.c
687         * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
688         * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
689         * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
690         * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
691         * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
692         Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
693         except for PE dllimport/dllexport.  Update calls to
694         default_encode_section_info.
695
696         * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
697         Update prototypes.
698
699         * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
700
701 2003-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
702
703         PR/8705
704         * pa.md (movccfp): New expander.
705         (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
706         Reverse fcmp conditions.
707
708 2003-04-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
709
710         * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
711         of operand 1 correctly.
712
713 2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
714
715         * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
716         * gcov.c (output_lines): Don't be so fussy about going past EOF.
717
718 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
719
720         * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
721         (cppcharset.o): New target.
722         * c-lex.c (is_extended_char): Move to cppcharset.c.
723         (utf8_extend_token): Delete.
724         * cppcharset.c: New file.
725         * cpphash.h (_cpp_valid_ucn): New.
726         * cpplex.c (lex_identifier): Update prototype.
727         (continues_identifier_p): Rename forms_identifier_p.  Handle UCN
728         escapes.
729         (maybe_read_ucs): Rename maybe_read_ucn.  Update to use code
730         in cppcharset.c.
731         (lex_number, lex_identifier, cpp_parse_escape): Update.
732         (_cpp_lex_direct): Update to handle UCNs.
733         (cpp_avoid_paste): Don't paste to form a UCN.
734
735 2003-04-19  Roger Sayle  <roger@eyesopen.com>
736
737         * builtins.c (expand_builtin):  Don't expand a pure or const
738         built-in function if the result will be ignored and none of
739         its arguments are volatile.
740
741 2003-04-19  Kean Johnston  <jkj@sco.com>
742
743         * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
744         * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
745         target fragment now: t-sco5; dont compile crti.o.
746         * config/i386/sco5.h: major overhaul to remove all COFF remnants
747         and to use elfos.h for most definitions.
748         (BSS_SECTION_ASM_OP): set correct segment attributes.
749         (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
750         (DWARF2_UNWIND_INFO): Always set to 1.
751         (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
752         (MD_STARTFILE_PREFIX_1): Define.
753         (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
754         (DEFAULT_LINKER): Define if not specified to configure.
755         (CTORS_SECTION_ASM_OP): Remove COFF crud.
756         (DTORS_SECTION_ASM_OP): Remove COFF crud.
757         (WINT_TYPE): Define.
758         (SDB_DEBUGGING_INFO): Remove.
759         (EXTRA_SECTIONS): Likewise.
760         (EXTRA_SECTION_FUNCTIONS): Likewise.
761         (CTOR_LIST_BEGIN): Likewise.
762         (CTOR_LIST_END): Likewise.
763         (INIT_SECTION_FUNCTION): Likewise.
764         (FINI_SECTION_FUNCTION): Likewise.
765         (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
766         (LOCAL_LABEL_PREFIX): Likewise.
767         (NON_SAVING_SETJMP): Likewise.
768         (RETURN_POPS_ARGS): Likewise.
769         (ASM_OUTPUT_SKIP): Likewise.
770         (TARGET_ASM_NAMED_SECTION): Likewise.
771         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
772         (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
773         (ASM_OUTPUT_IDENT): Likewise.
774         (ASM_OUTPUT_CASE_LABEL): Likewise.
775         (ASM_OUTPUT_ASCII): Likewise.
776         (ASM_OUTPUT_LIMITED_STRING): Likewise.
777         (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
778         (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
779         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
780         (ASM_FINISH_DECLARE_OBJECT): Likewise.
781         (ASM_DECLARE_OBJECT_NAME): Likewise.
782         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
783         (ASM_DECLARE_FUNCTION_NAME): Likewise.
784         (ASM_DECLARE_RESULT): Likewise.
785         (ASM_WEAKEN_LABEL): Likewise.
786         (SUPPORTS_WEAK): Likewise.
787         (APPLY_RESULT_SIZE): Likewise.
788         (LPREFIX): Likewise.
789         (ALIGN_ASM_OP): Likewise.
790         (ASCII_DATA_ASM_OP): Likewise.
791         (IDENT_ASM_OP): Likewise.
792         (ASM_SHORT): Likewise.
793         (ASM_LONG): Likewise.
794         (TYPE_ASM_OP): Likewise.
795         (SIZE_ASM_OP): Likewise.
796         (STRING_ASM_OP): Likewise.
797         (SKIP_ASM_OP): Likewise.
798         (EH_FRAME_SECTION_ASM_OP): Likewise.
799         (READONLY_DATA_SECTION_ASM_OP): Likewise.
800         (INIT_SECTION_ASM_OP): Likewise.
801         (FINI_SECTION_ASM_OP): Likewise.
802         (TEXT_SECTION_ASM_OP): Likewise.
803         (DATA_SECTION_ASM_OP): Likewise.
804         (TYPE_OPERANT_FORMAT): Likewise.
805         (ASM_SPEC): Remove COFF code.
806         (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
807         cause -pg to emit an error; use pcrt1elf.o with -pp
808         (ENDFILE_SPEC): Likewise.
809         (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
810         (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
811         (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
812         add -z alt_resolve to support weak symbols the way GCC wants them.
813         (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
814         (LIBGCC_SPEC): Dont use -lgcc in -G mode.
815         (ASM_PREFERED_EH_DATA_FORMAT): Remove.
816         * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
817         (CRTSTUFF_T_CFLAGS_S): Define.
818         (MULTILIB_OPTIONS): Likewise.
819         (MULTILIB_DIRNAMES): Likewise.
820         (MULTILIB_MATCHES): Likewise.
821         (MULTILIB_EXTRA_OPTS): Likewise.
822         (LIBGCC): Likewise.
823         (INSTALL_LIBGCC): Likewise.
824         (crti.o): Remove.
825         * config/i386/t-sco5gas: Remove.
826         * doc/install.texi: Updated for new OpenServer instructions.
827         * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
828
829 2003-04-19  Kean Johnston  <jkj@sco.com>
830
831         * fixinc/check.tpl: Allow user to over-ride diff program.
832         * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
833         (sco_math): Added test for SCO math header files.
834         (sco_regset): Added check for conflicts with ieeefp.h.
835         (svr4_disable_opt): Removed extraneous #ifdef SVR4.
836         * fixinc/fixincl.x: Regenerated
837         * fixinc/tests/base/math.h: Added sco_math tests.
838         * fixinc/tests/base/string.h: New file.
839         * fixinc/tests/base/sys/regset.h: New file.
840
841 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
842
843         * cpphash.h (struct cpp_buffer): Remove backup_to.
844         * cpplex.c (BACKUP, get_effective_char): Die.
845         (_cpp_skip_block_comment): Assume '*' is location on entry.
846         (continues_identifier_p): Respect -fno-dollars-in-identifiers.
847         (IF_NEXT_IS): Update.
848         (_cpp_lex_direct): Don't use backup_to; look ahead directly.
849
850 2003-04-19  Matt Kraai  <kraai@alumni.cmu.edu>
851
852         * README.Portability: Move to a new section and obsolete K+R
853         portability issues.
854
855 Sat Apr 19 14:56:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
856
857         * rtlanal.c (subreg_offset_representable_p):  Fix call of
858         subreg_lowpart.
859
860 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
861
862         * cpphash.h (struct cpp_reader): New member warned_dollar.
863         * cpplex.c (continues_identifier_p): New function.
864         (parse_identifier, parse_number, parse_string): Rename lex_identifer,
865         lex_number and lex_string, and simplify.
866         (parse_slow, unescaped_terminator_p): Die.
867         (_cpp_lex_direct): Update.
868
869 2003-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
870
871         * calls.c (expand_call): Provide init for old_stack_pointer_delta.
872
873 2003-04-19  Nathan Sidwell  <nathan@codesourcery.com>
874
875         * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
876         fork behaviour.
877
878 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
879
880         * cppexp.c (eval_token): Permit true and false even if pedantic.
881
882 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
883
884         * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
885
886 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
887
888         * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
889         MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
890         (struct include_file): Remove fefcnt, mapped members.
891         (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
892         (read_include_file): Don't use mmap, terminate buffers in '\r'.
893         (purge_cache): Don't use munmap.
894         * cpphash.h (CPP_BUF_COLUMN): Update.
895         (lexer_state): Remove lexing_comment.
896         (struct _cpp_line_note): New.
897         (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
898         next_line and need_line.  Remove col_adjust and saved_flags.
899         (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
900         _cpp_skip_block_comment, scan_out_logical_line): New.
901         (_cpp_init_mbchar): Remove.
902         * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
903         (cpp_read_main_file): Set line to 1 earlier.
904         (post_options): -traditional-cpp doesn't want trigraphs.
905         * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
906         (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
907         _cpp_get_fresh_line): New.
908         (handle_newline, skip_escaped_newlines, trigraph_p,
909         continue_after_nul, _cpp_init_mbchar): Remove.
910         (get_effective_char): Update.
911         (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
912         (skip_line_comment): Simplify.
913         (skip_whitespace, parse_identifier, parse_slow, parse_number,
914         parse_string): Update.
915         (cpp_lex_direct): Use clean lines and process line notes.  Update.
916         (cpp_interpret_charconst): No MULTIBYTE_CHARS.
917         * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
918         directly.
919         (_cpp_handle_directive): Don't set saved_flags.
920         (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
921         cpp_undef, handle_assertion, cpp_push_buffer): Update.
922         (_cpp_pop_buffer): Free notes.
923         * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
924         * cpppch.c (cpp_read_state): \n terminate buffer.
925         * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
926         (copy_comment): Use _cpp_skip_block_comment.
927         (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
928         Simplify.
929         (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
930         save_replacement_text): Update.
931         (scan_out_logical_line): Update to use clean lines and process
932         line notes.
933         * fix-header.c (read_scan_file): Update.
934
935 2003-04-18  Douglas B Rupp  <rupp@gnat.com>
936
937         * unwind-dw2-fde.c (__register_frame_info_bases): Check for
938         null begin parameter (as well as pointer to null).
939         (__deregister_frame_info_bases): Likewise.
940
941 2003-04-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
942
943         * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
944         hard or virtual register and copy into pseudo if replacement fails.
945
946         * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
947
948         * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
949
950 2003-04-18  Olivier Hainque <hainque@act-europe.fr>
951
952         * calls.c (expand_call): Move special case for constructor calls
953         to right place. Ensures constructor calls used to initialize
954         arguments get a clean outgoing argument block for themselves.
955         Move check for stack deallocation completeness until after last
956         deallocation.  Add stack_pointer_delta to set of state
957         variables saved and restored along with current stack_level.
958
959         * integrate.c (expand_inline_function): Ensure non-const actuals
960         don't end up const in the caller's flow after conversion to possibly
961         const formal type.
962
963 2003-04-18  Vincent Celier  <celier@gnat.com>
964
965         * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
966         and *_DIV_EXPR as TRUNC_*_EXPR.
967
968 2003-04-18  Mark Mitchell  <mark@codesourcery.com>
969
970         * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
971         for orphaned jump tables.
972
973 2003-04-18  Kazu Hirata  <kazu@cs.umass.edu>
974
975         * reload1.c: Revert my previous patch on 2002-04-17.
976
977 2003-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
978
979         * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
980         Add Segher Boessenkool.
981
982 2003-04-18  Alexander Sotirov  <sluncho@mirizma.org>
983
984         PR c/9177
985         * c-decl.c (c_expand_body): Don't garbage collect the function
986         body if we are going to dump it later.
987
988 2003-04-18  Richard Henderson  <rth@redhat.com>
989
990         * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
991         (alpha_end_function): Don't set them.
992         (decl_in_text_section): Remove.
993         (alpha_encode_section_info): Remove.
994         (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
995         (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
996         sections, rather than decl_in_text_section results.
997
998 2003-04-18  Roger Sayle  <roger@eyesopen.com>
999
1000         * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
1001         and SIGN_EXTRACT.
1002
1003 2003-04-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1004
1005         PR optimization/7675
1006         * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
1007         on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
1008         nested functions if they refer to declarations from parent functions.
1009         * stmt.c (expand_decl): Don't put automatic variables in registers
1010         if the DECL_NONLOCAL flag is set.
1011
1012 2003-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
1013
1014         * gcse.c (compute_ld_motion_mems): For MEM destinations, only
1015         consider those to be movable where the source matches
1016         want_to_gcse_p.
1017         (update_ld_motion_stores): In comment, refer to
1018         compute_ld_motion_mems for validity of replacement.
1019
1020 Fri Apr 18 01:28:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
1021
1022         * gcov-dump.c (tag_summary): Remove max_sum
1023         * gcov-io.h (gcov_summary, gcov_write_summary,
1024         gcov_read_summary): Kill max_sum.
1025         * libgcov.c (gcov_exit): Do one pass over the data.  Make error
1026         message more verbose.
1027
1028         * emit-rtl.c (subreg_hard_regno):  Check that register is
1029         representable.
1030
1031         * reload.c (reload_inner_reg_of_subreg):  When register is not
1032         representable, reload the whole thing.
1033         (find_reloads): Likewsie.
1034         * rtlanal.c (subreg_representable_p):  New function.
1035
1036         * profile.c (compute_branch_probabilities):  Cleanup sanity checking;
1037         allow negative probabilities for edges from the call to exit.
1038         (branch_prob): Do not add fake edges for functions that may return
1039         twice.
1040
1041 2003-04-17  DJ Delorie  <dj@redhat.com>
1042
1043         * toplev.c (target_options): Add value field.
1044         (set_target_switch): Handle target options with values.
1045         * doc/tm.texi: Document how fixed vs variable target
1046         options work.
1047         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
1048         config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
1049         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
1050         config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
1051         config/m32r/m32r.h, config/m68hc11/m68hc11.h,
1052         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
1053         config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
1054         config/rs6000/rs6000.h, config/rs6000/sysv4.h,
1055         config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
1056         Add value initializer to target options.
1057
1058 2003-04-07  Loren James Rittle  <ljrittle@acm.org>
1059
1060         * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
1061
1062 2003-04-17  Kazu Hirata  <kazu@cs.umass.edu>
1063
1064         * reload1.c (move2add_last_cc0): New.
1065         (reload_cse_move2add): Detect implicit sets.
1066         (move2add_note_store): Notice a store into cc0.
1067
1068 2003-04-17  Roger Sayle  <roger@eyesopen.com>
1069
1070         PR c/10375
1071         * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
1072         function attributes.
1073
1074 2003-04-17  Janis Johnson  <janis187@us.ibm.com>
1075
1076         * doc/sourcebuild.texi (Test Suites): Document support for testing
1077         binary compatibility (moved from testsuite/README.compat).
1078
1079 2003-04-17  Richard Henderson  <rth@redhat.com>
1080
1081         * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
1082
1083 2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
1084
1085         * doc/include/gpl.texi: Fix double-spacing after "MA" to match
1086         the one provided by the FSF.
1087
1088 2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1089
1090         * doc/install.texi (Binaries): Update URL and list of platforms
1091         provided by ftp.thewrittenword.com.
1092
1093 2003-04-17  Richard Henderson  <rth@redhat.com>
1094
1095         * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
1096         (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
1097         * config/xtensa/xtensa.md (call, call_value): Likewise.
1098
1099 2003-04-17  Richard Henderson  <rth@redhat.com>
1100
1101         * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
1102         (print_operand_address): Likewise.
1103         (ep_memory_operand): Likewise.
1104         (special_symbolref_operand): Likewise.
1105         (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
1106         (v850_encode_section_info): Call default_encode_section_info.
1107         (v850_strip_name_encoding): Remove.
1108         * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
1109         (ASM_OUTPUT_LABELREF): Remove.
1110         (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
1111         (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
1112         (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
1113         (ENCODED_NAME_P): Remove.
1114         (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
1115         (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
1116         (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
1117
1118 2003-04-17  Richard Henderson  <rth@redhat.com>
1119
1120         * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
1121         * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
1122         SYMBOL_REF_FUNCTION_P.
1123
1124 2003-04-17  Richard Henderson  <rth@redhat.com>
1125
1126         * config/sparc/sparc.c (sparc_encode_section_info): Remove.
1127         (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
1128         (text_segment_operand): Likewise.
1129
1130 2003-04-17  Richard Henderson  <rth@redhat.com>
1131
1132         * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
1133         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
1134         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
1135         (sh_encode_section_info): Remove.
1136         (sh_strip_name_encoding): Remove.
1137         * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
1138         (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
1139         (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
1140         (ASM_OUTPUT_LABELREF): Remove.
1141         (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
1142         * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
1143
1144 2003-04-17  Richard Henderson  <rth@redhat.com>
1145
1146         * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
1147         (tls_model_chars): Remove.
1148         (larl_operand): Use SYMBOL_REF_FLAGS.
1149         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
1150         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
1151         (s390_output_mi_thunk): Likewise.
1152         (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
1153         (s390_function_profiler): Likewise.
1154         (s390_encode_section_info): Use default_encode_section_info
1155         and SYMBOL_FLAG_ALIGN1.
1156         (s390_strip_name_encoding): Remove.
1157         * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
1158         * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
1159         (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
1160
1161 2003-04-17  Richard Henderson  <rth@redhat.com>
1162
1163         * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
1164         (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
1165         (print_operand_address): Likewise.
1166
1167         * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
1168         * config/ns32k/ns32k.c (expand_block_move): Don't check
1169         flag_unroll_loops.
1170
1171 2003-04-17  Richard Henderson  <rth@redhat.com>
1172
1173         * config/mcore/mcore.c (mcore_encode_section_info): Don't set
1174         SYMBOL_REF_FLAG.
1175
1176 2003-04-17  Richard Henderson  <rth@redhat.com>
1177
1178         * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
1179
1180         * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
1181         (SYMBOL_REF_MODEL): New.
1182         (LIT_NAME_P): Move from m32r.h.
1183         (m32r_select_section): Remove.
1184         (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
1185         (m32r_strip_name_encoding): Remove.
1186         (m32r_in_small_data_p): New.
1187         (small_data_operand): Use SYMBOL_REF_SMALL_P.
1188         (addr24_operand): Use SYMBOL_REF_MODEL.
1189         (call26_operand): Likewise.
1190         (addr32_operand): Tidy.
1191         (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
1192         * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
1193         (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
1194         (READONLY_DATA_SECTION_ASM_OP): Remove.
1195         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
1196         (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
1197         (TARGET_ASM_SELECT_SECTION): Remove.
1198         (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
1199         (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
1200         (LARGE_NAME_P, ENCODED_NAME_P): Remove.
1201         (ASM_OUTPUT_LABELREF): Remove.
1202
1203 2003-04-17  Richard Henderson  <rth@redhat.com>
1204
1205         * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
1206         (encode_section_info): Remove.
1207         * config/ip2k/ip2k-protos.h: Update.
1208
1209 2003-04-17  Richard Henderson  <rth@redhat.com>
1210
1211         * varasm.c (default_encode_section_info): Don't set
1212         SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
1213         * config/i370/i370.c (i370_encode_section_info): Remove.
1214         * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
1215         (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
1216         * config/i370/i370.md (movsi): Likewise.
1217
1218         * config/i370/t-i370: Add missing backslash.
1219
1220 2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1221
1222         * doc/invoke.texi (inline-limit): Fix pasto.
1223
1224 2003-04-17  Richard Henderson  <rth@redhat.com>
1225
1226         * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
1227         (small_call_insn_operand): Use it.
1228         (SYMBOL_FLAG_EIGHTBIT_DATA): New.
1229         (h8300_eightbit_constant_address_p): Use it.
1230         (SYMBOL_FLAG_TINY_DATA): New.
1231         (h8300_tiny_constant_address_p): Use it.
1232         (h8300_encode_label, h8300_strip_name_encoding): Remove.
1233         (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
1234         * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
1235         (ASM_OUTPUT_LABELREF): Remove.
1236
1237 2003-04-16  Richard Henderson  <rth@redhat.com>
1238
1239         * config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
1240         all users with SYMBOL_REF_SMALL_P.
1241         (const_small_data_p): Use SYMBOL_REF_SMALL_P.
1242         (frv_encode_section_info): Remove.
1243         (frv_strip_name_encoding): Remove.
1244         (frv_in_small_data_p): Merge tests from encode_section_info.
1245         (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
1246         * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
1247         (SDATA_NAME_P): Remove.
1248         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
1249         (ASM_OUTPUT_LABELREF): Remove.
1250         (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
1251
1252         * config/frv/frv.c (frv_asm_out_constructor): New.
1253         (frv_asm_out_destructor): New.
1254         * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
1255         (DTORS_SECTION_ASM_OP): New.
1256         (ASM_OUTPUT_CONSTRUCTOR): Remove.
1257         (ASM_OUTPUT_DESTRUCTOR): Remove.
1258
1259 2003-04-16  Richard Henderson  <rth@redhat.com>
1260
1261         * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
1262         SYMBOL_REF_LOCAL_P; abort if not pic.
1263         (cris_encode_section_info): Remove.
1264
1265 2003-04-16  Richard Henderson  <rth@redhat.com>
1266
1267         * config/c4x/c4x.c (c4x_encode_section_info): Remove.
1268         (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
1269
1270         * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
1271         flag_inline_trees.
1272
1273 2003-04-16  Richard Henderson  <rth@redhat.com>
1274
1275         * config/avr/avr.c (avr_encode_section_info): Remove.
1276         (avr_insert_attributes): New.
1277         (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
1278         (avr_assemble_integer): Likewise.
1279
1280 2003-04-16  Richard Henderson  <rth@redhat.com>
1281
1282         * arc.c (arc_encode_section_info): Remove.
1283         (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
1284         (arc_print_operand, arc_print_operand_address): Likewise.
1285         * arc.h (EXTRA_CONSTRAINT): Likewise.
1286
1287 2003-04-16  Roger Sayle  <roger@eyesopen.com>
1288
1289         * c-semantics.c (find_reachable_label): New function to find a
1290         potentially reachable label in an expression.
1291         (expand_unreachable_if_stmt): Similar to expand_if_stmt but
1292         assumes the start of the IF_STMT is unreachable (dead) code.
1293         (expand_unreachable_stmt): Similar to expand_stmt but assumes
1294         the start of the statement list is unreachable (dead) code.
1295         (genrtl_if_stmt):  If the controlling expression of the IF
1296         is constant, use expand_unreachable_stmt for the THEN or ELSE
1297         clause as appropriate.
1298         (genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
1299         the body of a SWITCH statement.
1300         (expand_stmt): The code immediately following a "return",
1301         "break", "continue" or "goto" is unreachable.
1302         * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
1303
1304 2003-04-16  Richard Henderson  <rth@redhat.com>
1305
1306         * rtl.h (MEM_ALIAS_SET): Update documentation.
1307         * doc/rtl.texi (Special Accessors): New node.
1308         (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
1309
1310 2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
1311
1312         * reload1.c (reload_cse_noop_set_p): Return false if mode of
1313         SET_DEST is not the same as that returned by...
1314         * cselib.h (cselib_reg_set_mode): ... new function.
1315         * cselib.c (cselib_reg_set_mode): Define it.
1316         (REG_VALUES): Document semantics of first element as set mode.
1317         (cselib_subst_to_values): Skip first element if ELT is NULL.
1318         (cselib_lookup): Likewise.  Insert past the first element.
1319         (cselib_invalidate_regno): NULLify first element.
1320         (cselib_record_set): Set first element.
1321
1322 2003-04-16  Olivier Hainque <hainque@act-europe.fr>
1323
1324         * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
1325         (save_expr): Replace loop by call to skip_simple_arithmetics_at.
1326         * tree.h: Add prototypes for the two new functions.
1327         * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
1328         updates introduced in the previous revision by call to saved_expr_p.
1329         * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
1330
1331         * expr.c (store_field): Force usage of bitfield instructions when
1332         the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
1333         (expand_expr, case BIT_FIELD_REF): likewise.
1334
1335 2003-04-16  Mark Mitchell  <mark@codesourcery.com>
1336
1337         PR middle-end/8866
1338         * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
1339         jumptables.
1340
1341 2003-04-16  Richard Henderson  <rth@redhat.com>
1342
1343         * config/ia64/ia64.c (sdata_symbolic_operand): Use
1344         SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
1345         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
1346         (function_operand): Use SYMBOL_REF_FUNCTION_P.
1347         (ia64_expand_load_address): Likewise.
1348         (ia64_assemble_integer): Likewise.
1349         (ia64_encode_section_info): Remove.
1350         (ia64_strip_name_encoding): Remove.
1351         * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
1352         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
1353
1354 2003-04-16  Richard Henderson  <rth@redhat.com>
1355
1356         * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
1357         (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
1358         (direct_call_operand): Use SYMBOL_FLAG_NEAR.
1359         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
1360         (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
1361         (global_symbolic_operand): Similarly.
1362         (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
1363         (tls_symbolic_operand_type): Likewise.
1364         (alpha_encode_section_info): Use default_encode_section_info.
1365         (alpha_strip_name_encoding): Remove.
1366         (get_tls_get_addr): Split out from ...
1367         (alpha_legitimize_address): ... here.
1368         (alpha_emit_xfloating_libcall): Use init_one_libfunc.
1369         (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
1370         (alpha_initialize_trampoline): Use init_one_libfunc.
1371         (alpha_setup_incoming_varargs): Mark unused parameters.
1372         (alpha_initial_elimination_offset): Likewise.
1373         (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
1374         (unicosmk_unique_section): Use default_strip_name_encoding.
1375         (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
1376
1377 2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
1378
1379         * config.gcc: Add t-spe for eabispe.
1380
1381         * config/rs6000/t-spe: New.
1382
1383 2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
1384
1385         Re-apply this patch:
1386
1387         2002-05-16  Dale Johannesen  <dalej@apple.com>
1388           * combine.c (cant_combine_insn_p):  Reenable combinations
1389           involving hard regs unless CLASS_LIKELY_SPILLED_P.
1390
1391 2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1392
1393         PR/10271
1394         * pa-protos.h (function_arg): Remove last argument.
1395         * pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
1396         * pa.h (struct hppa_args): Add member incoming.
1397         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
1398         member incoming.
1399         (FUNCTION_ARG): Revise call to function_arg.
1400         (FUNCTION_INCOMING_ARG): Delete.
1401
1402 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
1403
1404         * configure.in: Unify the code which creates symlinks to a
1405         just-built as, ld, objdump, and nm with the code that detects
1406         their presence for purposes of feature tests.
1407         * configure: Regenerate.
1408
1409 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
1410
1411         * varasm.c (output_constant_def): Do not consult
1412         CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
1413         (after_function_constants, output_after_function_constants): Delete.
1414         * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
1415         * config/mips/mips-protos.h, config/mips/mips.c
1416         (mips16_constant_after_function_p): Delete.
1417         * config/mips/mips.h: Delete #if-0-ed definition of
1418         CONSTANT_AFTER_FUNCTION_P.
1419         * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
1420         mention of CONSTANT_AFTER_FUNCTION_P in comment.
1421
1422 2003-04-15  Geoffrey Keating  <geoffk@apple.com>
1423
1424         * tree.c (next_decl_uid): Mark with GTY.
1425         (next_type_uid): Likewise.
1426
1427 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
1428
1429         PR target/9594:
1430         * sh.c (barrier_align): Also recognize stuff_delay_slot as
1431         an indicator that a barrier was created by branch splitting.
1432
1433 2003-04-15  Mark Mitchell  <mark@codesourcery.com>
1434
1435         * c-decl.c (implicitly_declare): Copy declarations that are going
1436         to be placed in a local scope.
1437
1438 2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
1439
1440         * invoke.texi (Spec Files): Wrap if-exists-else example.
1441         (MCore): Remove duplicate @itemx entries and @opindex entries.
1442
1443 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
1444
1445         * unwind.inc (_Unwind_Backtrace): New function.
1446         * unwind.h (_Unwind_Backtrace): Declare it.
1447         * libgcc-std.ver (_Unwind_Backtrace): Export it.
1448
1449 2003-04-14  Jason Merrill  <jason@redhat.com>
1450
1451         PR middle-end/10336, c++/10401
1452         * jump.c (never_reached_warning): Also stop looking if we reach the
1453         beginning of the function.
1454
1455 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1456
1457         PR target/10338
1458         PR bootstrap/10198
1459         PR bootstrap/10140
1460         * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
1461
1462 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
1463
1464         * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
1465
1466 2003-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1467
1468         * optabs.c (expand_binop): In multi-word add cases, ensure
1469         XTARGET is copied to TARGET if they are different.
1470
1471 2003-04-15  Olivier Hainque <hainque@act-europe.fr>
1472
1473         * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
1474         to region, possible after integration of function with unreachable
1475         regions that were optimized away.
1476
1477 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
1478
1479         * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
1480         instead of TOC_REGISTER in epilogue in
1481         current_function_calls_eh_return functions.
1482
1483 2003-04-14  Mark Mitchell  <mark@codesourcery.com>
1484
1485         * doc/extend.texi (Empty Structures): Correct description of G++'s
1486         handling of these structures.
1487
1488         * c-decl.c (grokdeclarator): Reject extern redeclarations of
1489         static variables.
1490
1491 2003-04-14  Janis Johnson  <janis287@us.ibm.com>
1492
1493         * config/rs6000/rs6000.md (define_constants): Define constants for
1494         all UNSPEC usage, including new values for TLS support.
1495         (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
1496         load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
1497         load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
1498         macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
1499         stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
1500         eh_set_lr_di): Use them.
1501         * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
1502         rs6000_emit_epilogue) Use them.
1503
1504         * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
1505
1506 2003-04-14  Neil Booth  <neil@daikokuya.co.uk>
1507
1508         * Makefile.in (c-opts.o): Use custom action.
1509
1510 2003-04-14  Douglas B Rupp  <rupp@gnat.com>
1511
1512         * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
1513
1514 2003-04-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1515
1516         * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
1517         handle "superflat arrays" in Ada.
1518
1519         * integrate.c (expand_inline_function): Don't inline if would
1520         lose /u on a BLKmode TARGET.
1521
1522 2003-04-14  Joel Brobecker  <brobecker@gnat.com>
1523
1524         * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
1525         extracted from dbxout_type.
1526         (dbxout_range_type): print large bounds in octal format.
1527         (dbxout_type): Replace extracted code by call to
1528         print_int_cst_bounds_in_octal_p.
1529
1530         * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
1531         of DW_LANG_Ada83 for Ada units.
1532
1533 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
1534
1535         * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
1536         temporary used to round CONST_INT sizes.
1537
1538         * tree.c (int_fits_type_p): Extract generic checks from the case
1539         of constant type bounds. Refine the checks against constant type
1540         bounds to allow for possible decisions against each of these bounds
1541         without requiring both bounds to be constant.
1542         (tree_int_cst_msb): Put back.
1543         * tree.h (tree_int_cst_msb): Likewise.
1544
1545         * global.c (global_conflicts): Prevent allocation of call clobbered
1546         hard regs to pseudos live across abnormal edges, as later passes are
1547         not ready to handle them.
1548
1549         * fold-const.c (fold): Reorder tests for conditional expressions.
1550
1551         * expr.c (highest_pow2_factor): Return unsigned.
1552         * expr.h (offset_address): Likewise.
1553         * emit-rtl.c (offset_address): POW2 argument now unsigned.
1554
1555 2003-04-14  Roger Sayle  <roger@eyesopen.com>
1556
1557         * builtins.c (expand_builtin_strlen):  Evaluate the lengths of
1558         string literals at compile-time.
1559
1560 2003-04-14  Roger Sayle  <roger@eyesopen.com>
1561
1562         * fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
1563         comparison operation and c1/c2 are floating point constants into
1564         x swap(cmp) (c1 - c2).
1565
1566 2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>
1567
1568         * genautomata.c (output_translate_vect): Fix a typo in loop
1569         condition.
1570
1571 2003-04-14  Hans-Peter Nilsson  <hp@axis.com>
1572
1573         PR target/10377
1574         * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
1575         ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
1576         ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
1577         ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
1578         ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
1579         ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
1580         ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
1581         ("*extopqihi_swap_side", "*extopqisi_swap_side")
1582         ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
1583         When next to constraint R, replace constraint i with n.
1584
1585 Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
1586
1587         PR opt/10024
1588         * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
1589
1590 2003-04-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
1591
1592         * doc/contrib.texi (Contributors): Correct my entry.
1593
1594 2003-04-13  Roger Sayle  <roger@eyesopen.com>
1595
1596         * tree.h (DECL_BUILT_IN_NONANSI): Remove.
1597         * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
1598         * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
1599         implies DECL_BUILT_IN to simplify logic.
1600         * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
1601
1602 2003-04-13  Roger Sayle  <roger@eyesopen.com>
1603
1604         * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
1605         (BT_FN_PTR_SIZE_SIZE): Likewise.
1606         * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
1607         New built-in functions for malloc, calloc and strdup respectively.
1608         * calls.c (special_function_p): No need to handle malloc-like
1609         functions any longer.  ECF_MALLOC is set via built-in attributes.
1610
1611         * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
1612
1613         * doc/extend.texi: Document these new built-in functions.
1614
1615 2003-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1616
1617         * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
1618         (expand_builtin_stpcpy): New.
1619         (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
1620         * builtins.def: Add mempcpy & stpcpy support.
1621         * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
1622
1623 2003-04-13  Nick Clifton  <nickc@redhat.com>
1624
1625         * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
1626         "GCC".
1627         * config/rs6000/40x.md, config/rs6000/603.md,
1628         config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
1629         config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
1630         config/rs6000/aix3newas.h, config/rs6000/aix41.h,
1631         config/rs6000/aix43.h, config/rs6000/aix51.h,
1632         config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
1633         config/rs6000/altivec.h, config/rs6000/altivec.md,
1634         config/rs6000/beos.h, config/rs6000/darwin.h,
1635         config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
1636         config/rs6000/eabisim.h, config/rs6000/eabispe.h,
1637         config/rs6000/freebsd.h, config/rs6000/gnu.h,
1638         config/rs6000/host-darwin.c, config/rs6000/linux.h,
1639         config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
1640         config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
1641         config/rs6000/netbsd.h, config/rs6000/power4.md,
1642         config/rs6000/rios1.md, config/rs6000/rios2.md,
1643         config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
1644         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
1645         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
1646         config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
1647         config/rs6000/spe.md, config/rs6000/sysv4.h,
1648         config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
1649         config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
1650
1651 2003-04-13  Nick Clifton  <nickc@redhat.com>
1652
1653         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
1654         support for -mcall-aix switch.
1655         * config/rs6000/eabiaix.h: Delete.
1656         * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
1657         (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
1658         RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
1659         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
1660         * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
1661         debug_stack_info, output_function_profiler,
1662         rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
1663         * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
1664         call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
1665         call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
1666         sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
1667         * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
1668         multilibs.
1669         (MULTILIB_DIRNAMES): Remove mcall-aix directories.
1670         (MULTILIB_EXCEPTIONS): Delete.
1671         (MULTILIB_MATCHES): Remove mcall-aix matches.
1672
1673         * doc/fragments.texi: Replace -mcall-aix example with an ARM
1674         one.
1675         * doc/install.texi: Delete powerpc-*-eabiaix target.
1676         * doc/invoke.texi: Remove documentation of mcall-aix switch.
1677         * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
1678         * config.gcc: Delete powerpc-*-eabiaix target.
1679
1680 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
1681
1682         * doc/invoke.texi: Fix typos.
1683         * doc/tm.texi: Likewise.
1684
1685 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1686
1687         * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
1688
1689 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1690
1691         * tree.c (build_constructor): New function.
1692         * tree.h: Prototype it.
1693
1694         * c-typeck.c (build_c_cast, pop_init_level)
1695         * profile.c (build_function_info_value, build_gcov_info_value)
1696         (create_profiler):
1697         Use build_constructor.
1698
1699         * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
1700
1701         * objc/objc-act.c (build_constructor):
1702         Rename objc_build_constructor. Use build_constructor.
1703         (build_objc_string_object, objc_add_static_instance)
1704         (init_def_list, init_objc_symtab, init_module_descriptor)
1705         (generate_static_references, build_selector_translation_table)
1706         (build_descriptor_table_initializer, generate_descriptor_table)
1707         (build_protocol_initializer, build_ivar_list_initializer)
1708         (generate_ivars_list, build_dispatch_table_initializer)
1709         (generate_dispatch_table, generate_protocol_list)
1710         (build_category_initializer, build_shared_structure_initializer):
1711         Update to match.
1712
1713 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1714
1715         * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
1716
1717 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1718
1719         * config/m68hc11/m68hc11-protos.h
1720         (m68hc11_eq_compare_operator): Declare
1721         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
1722         * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
1723         (d_register_operand): Check the operand mode.
1724         (hard_addr_reg_operand): Likewise.
1725
1726 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1727
1728         * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
1729         pattern for dbcc/ibcc generation for 68HC12.
1730         ("doloop_end"): New pattern.
1731         ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
1732         ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
1733         ("m68hc12_dbcc_dec_qi"): New pattern.
1734         ("m68hc12_dbcc_inc_qi"): New pattern.
1735         (split): Add split for the above when we can't use dbcc/ibcc due to
1736         reloading.
1737         (peephole2): Add peephole2 to generate the above when possible.
1738
1739 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1740
1741         * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
1742         mode of operand 0.
1743         (peephole2 optimize const load): Likewise for operand 2.
1744         ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
1745         clobbers CC_REGNUM.
1746         ("*rotrhi3_with_carry"): Likewise.
1747         (ashift:DI 1 split): Update pattern to create the above rotate.
1748         (lshiftrt:DI 1 split): Likewise.
1749
1750 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1751
1752         * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
1753         ("tstqi_z_used" split): Use it.
1754         ("cmphi_z_used"): Likewise.
1755         ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
1756         ("cmpqi_z_used"): Likewise.
1757
1758 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
1759
1760         PR c++/7910
1761         * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
1762
1763 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
1764
1765         * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
1766         * configure, config.in: Regenerate.
1767         * intl.c (gcc_gettext_width): New function.
1768         * intl.h: Prototype it.
1769
1770 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1771
1772         * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
1773         recognize -mnorelax.
1774         (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
1775         (REG_CLASS_NAMES): Add its name.
1776         (REG_CLASS_CONTENTS): Define its content.
1777
1778 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
1779
1780         * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
1781         parameters so that offsets are valid for far definition.
1782         (__mulsi3): Likewise and use ret to return.
1783         (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
1784
1785 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
1786
1787         * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
1788
1789 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
1790
1791         * mklibgcc.in (libgcc-stage-start): For every multilib  directory
1792         containing a libgcc.a, move lib* to the corresponding stage dir.
1793
1794         * Makefile.in (stage1-start, stage2-start, stage3-start,
1795         stage4-start): Move $(SPECS) to specs in stage dir.
1796         (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
1797         back as $(SPECS).
1798
1799         * mklibgcc.in (libgcc-stage-start): Move into the stage directory
1800         object files from the non-libgcc/ multilib directories as well.
1801
1802 2003-04-11  Geoffrey Keating  <geoffk@apple.com>
1803
1804         * profile.c (read_counts_file): Initialise 'checksum'.
1805
1806         * emit-rtl.c (gen_rtx): Really correct typo.
1807
1808         PR c++/9393
1809         * doc/invoke.texi (Debugging Options): Document -frandom-seed.
1810         * configure.in: Check for gettimeofday.
1811         * tree.c (flag_random_seed): Define.
1812         (default_flag_random_seed): New.
1813         (append_random_chars): Use flag_random_seed rather than trying
1814         to acquire randomness here.
1815         * tree.h (default_flag_random_seed): Declare.
1816         * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
1817         descriptions.
1818         (decode_f_option): Handle -frandom-seed.
1819         (print_switch_values): Call default_flag_random_seed.
1820         * flags.h (flag_random_seed): Declare.
1821         * configure: Regenerate.
1822         * config.in: Regenerate.
1823         * config/alpha/t-crtfm: Use -frandom-seed.
1824
1825         * doc/extend.texi (Empty Structures): New.
1826
1827         * c-pch.c: Include flags.h.  Add comments to routines.
1828         (struct c_pch_validity): New.
1829         (get_ident): Update PCH file version number.
1830         (pch_init): Output current debugging type.
1831         (c_common_valid_pch): Check debugging type.
1832         * Makefile.in (c-pch.o): Update dependencies.
1833         * flags.h (debug_type_names): Declare.
1834         * toplev.c (debug_type_names): Move out of decode_g_option.
1835
1836 2003-04-11  Eric Christopher  <echristo@redhat.com>
1837
1838         * emit-rtl.c (gen_rtx): Fix typos.
1839
1840 2003-04-11  Richard Henderson  <rth@redhat.com>
1841
1842         * emit-rtl.c (gen_rtx): Zero '0' fields.
1843
1844 2003-04-11  Richard Henderson  <rth@redhat.com>
1845
1846         PR c++/10202
1847         * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
1848         not COMPLETE_TYPE_P for re-invoking layout_decl.
1849
1850 2003-04-11  Simon Law  <sfllaw@engmail.uwaterloo.ca>
1851
1852         * doc/bugreport.texi: Fix paragraph breaking between sections
1853         in preparation for TeXinfo's paragraph indentation fixes.
1854         * doc/extend.texi: Ditto.
1855         * doc/invoke.texi: Ditto.
1856         * doc/objc.texi: Ditto.
1857         * doc/gcov.texi: Wrap 'gcov' in @command{}.
1858         * doc/invoke.texi (Darwin Options): Add a preamble.
1859
1860 2003-04-11  Richard Henderson  <rth@redhat.com>
1861
1862         * config/i386/i386.c (tls_model_chars): Remove.
1863         (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
1864         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
1865         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
1866         (tls_symbolic_operand_1): Likewise.
1867         (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
1868         * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
1869         (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
1870         * config/i386/winnt.c (i386_pe_encode_section_info): Replace
1871         bits "copied from i386.h" with default_encode_section_info.
1872
1873 2003-04-11  Richard Henderson  <rth@redhat.com>
1874
1875         * rtl.def (SYMBOL_REF): Add two 0 fields.
1876         * gengtype.c (adjust_field_rtx_def): Handle them.
1877         * print-rtl.c (print_rtx): Print them.
1878         * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
1879         (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
1880         (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
1881         (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
1882         (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
1883         (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
1884         (SYMBOL_FLAG_MACH_DEP): New.
1885         * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
1886         * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
1887         (assemble_static_space): Set SYMBOL_REF_FLAGS.
1888         (assemble_trampoline_template): Likewise.
1889         (output_constant_def, force_const_mem): Likewise.
1890         (default_encode_section_info): New.
1891         * output.h: Declare it.
1892         * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
1893
1894 2003-04-11  Richard Henderson  <rth@redhat.com>
1895
1896         * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
1897         (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
1898         * optabs.c (init_optabs): Initialize them.
1899         (init_libfuncs): Use init_one_libfunc.
1900         * calls.c (expand_call): Use gcov_flush_libfunc.
1901         * expr.c (store_constructor): Use setbits_libfunc.
1902         * function.c (expand_main_function): Use init_one_libfunc.
1903         * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
1904
1905 2003-04-11  Mark Mitchell  <mark@codesourcery.com>
1906
1907         * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
1908         documentation; add DECL_FRIEND_CONTEXT.
1909
1910 2003-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1911
1912         * doc/install.texi (hppa): Update links for HP-UX patches.  Revise
1913         notes on linker selection and configuration for 64-bit HP-UX port.
1914         * doc/invoke.texi (hppa): Remove hppa text from description for
1915         -ffunction-sections and -fdata-sections.  Document -static, -nolibdld
1916         and -threads options.
1917
1918         * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
1919         libc.a on libdld.sl when -static is specified and -nolibdld is not
1920         specified.
1921         * pa64-hpux.h (LIB_SPEC): Likewise.
1922         * pa-hpux11.h (LIB_SPEC): Likewise.
1923         (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
1924         is not specified.
1925
1926 2003-04-11  Zack Weinberg  <zack@codesourcery.com>
1927
1928         * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
1929         not IDENTIFIER_LOCAL_VALUE.
1930
1931 2003-04-11  Richard Henderson  <rth@redhat.com>
1932
1933         PR c/10201
1934         * expr.c (expand_expr): Move DECL_RTL frobbing ...
1935         * stor-layout.c (layout_decl): ... here.
1936
1937 2003-04-11  James A. Morrison <ja2morri@uwaterloo.ca>
1938
1939         * doc/invoke.texi: Eliminate extra white-space caused by
1940         @gccoptlist{ on its own line.
1941         * doc/invoke.texi: Ensured there are two spaces between each option.
1942         * doc/invoke.texi: Re-wrapped option lines that were too wide.
1943         Added @gol to options that didn't have them.
1944
1945 2003-04-11  Nathan Sidwell  <nathan@codesourcery.com>
1946
1947         * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
1948         gcov-iov.h.
1949
1950         Simplify interface to gcov reading and writing.
1951         * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
1952         gcov_alloc, gcov_modified, gcov_errored): Move into ...
1953         (struct gcov_var gcov_var): ... this static structure.
1954         (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
1955         Return void.
1956         (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
1957         read object.
1958         (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
1959         (gcov_reserve_length): Remove.
1960         (gcov_write_tag): New.
1961         (gcov_write_length): Adjust.
1962         (gcov_read_summary, gcov_write_summary): Adjust.
1963         (gcov_eof, gcov_ok): Rename to ...
1964         (gcov_is_eof, gcov_is_error): ... here. Return error code.
1965         (gcov_save_position, gcov_resync): Rename to ...
1966         (gcov_position, gcov_seek): ... here.
1967         (gcov_skip, gcov_skip_string): Remove.
1968         (gcov_error): Remove.
1969         (gcov_open, gcov_close): Adjust.
1970         * gcov.c (find_source): Take const char *, copy it on allocation.
1971         (read_graph_file): Adjust.
1972         (read_count_file): Adjust.
1973         * libgcov.c (gcov_exit): Adjust.
1974         * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
1975         tag_arc_counts, tag_summary): Return void. Adjust.
1976         (struct tag_format): Adjust proc member.
1977         (dump_file): Adjust gcov calls.
1978
1979 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
1980
1981         * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
1982         mkfixinc.sh.
1983         * fixinc/mkfixinc.sh (defs): Add LIBERTY.
1984         * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
1985         build != host sysrooted builds.
1986         * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
1987         TARGET_SYSTEM_ROOT even on sysrooted natives.
1988         * configure: Rebuilt.
1989
1990 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
1991
1992         * c-decl.c (struct binding_level): Add shadowed_tags and
1993         function_body; remove this_block, tag_transparent, and
1994         subblocks_tag_transparent; update comments.
1995         (clear_binding_level, lookup_tag_reverse): Kill.
1996         (make_binding_level): Use ggc_alloc_cleared or memset.
1997         (lookup_tag): Remove struct binding_level* parameter.  All
1998         callers changed. Just look at IDENTIFIER_TAG_VALUE, and
1999         current_binding_level->tags if asked for thislevel_only or if
2000         we might have to diagnose "struct foo; union foo;"
2001         (pushlevel): Ignore argument.  Do not push another binding
2002         level on the transition from the parameters to the top level
2003         of the function body; just tweak the flags and proceed.
2004         (poplevel): Overhaul.  Clear IDENTIFIER_TAG_VALUEs; on exiting
2005         a function body, separate the parameter list from the
2006         top-level local variables.
2007         (set_block): Do nothing.
2008         (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
2009         shadowed_tags if necessary.
2010         (warn_if_shadowing): Nuke the special case for local shadowing
2011         parameter.
2012         (pushdecl): Do not create a shadow entry if we are replacing
2013         an older decl in the same binding level.
2014         (pushdecl_function_level): Tweak for new way of indicating
2015         function scope.
2016         (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
2017         (start_function): Don't set subblocks_tag_transparent.
2018         (finish_function): Fix up the binding_level stack for totally
2019         empty functions.  Otherwise, don't call poplevel.
2020
2021         * c-common.c (shadow_warning): MANDATORY argument is no longer
2022         necessary.  Always use plain warning.
2023         * c-common.h: Update to match.
2024
2025         * cfglayout.c (scope_to_insns_initialize): Clear block when we
2026         hit the FUNCTION_DECL.
2027         * function.c: Do not create cyclic tree structure.
2028
2029 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
2030
2031         * c-tree.h (struct lang_identifier): Replace global_value,
2032         local_value members with symbol_value, tag_value.  Kill
2033         implicit_decl and limbo_value.
2034         (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
2035         IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
2036         C_MISSING_PROTOTYPE_WARNED): Kill.
2037         (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
2038         C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
2039         (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
2040         (implicit_decl_warning, lookup_name_current_level,
2041         record_function_scope_shadow): Don't prototype.
2042         (pushdecl_function_level): Prototype.
2043
2044         * c-decl.c (truly_local_externals): New variable.
2045         (struct binding_level): Adjust commentary.
2046         (get_function_binding_level, clear_limbo_values,
2047         record_function_scope_shadow): Kill.
2048         (lookup_name_current_level, implicit_decl_warning): Are now static.
2049         (any_external_decl, record_external_decl): New static functions.
2050         (clone_underlying type): Split out of pushdecl.
2051         (c_print_identifier): Update to match changes to struct
2052         lang_identifier.
2053         (poplevel): Delete #if 0 block.  Make externals invisible
2054         instead of clearing their IDENTIFIER_SYMBOL_VALUEs.  Don't
2055         call clear_limbo_values.  Refer to IDENTIFIER_SYMBOL_VALUE not
2056         IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
2057         (duplicate-decls): For real parm decl after a forward decl,
2058         set TREE_ASM_WRITTEN here.  Allow void foo(...) followed by
2059         foo(...) { } with only a warning.  Say whether a previous
2060         declaration was implicit.
2061         (warn_if_shadowing): Now handles all shadowing, not just
2062         local-over-local.  Clarify comments.
2063         (pushdecl): Rewritten.  There is no longer a distinction
2064         between global and local symbol values; they're all
2065         IDENTIFIER_SYMBOL_VALUE.  Call record_external_decl on all
2066         DECL_EXTERNAL decls, and use any_external_decl to check
2067         against previous externals.  Kill #if 0 blocks.  Don't
2068         tolerate error_mark_node being NULL.
2069         (pushdecl_top_level): Handle only those cases which
2070         Objective C (the only user) needs.
2071         (pushdecl_function_level): New function.
2072         (implicitly_declare): Create ordinary decls with
2073         C_DECL_IMPLICIT set.  Recycle old decls, however they got
2074         created.
2075         (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
2076         for C_DECL_INVISIBLE symbols.
2077         (lookup_name_current_level): Likewise.  Use chain_member.
2078         (c_make_fname_decl): Don't muck with DECL_CONTEXT.
2079         Use pushdecl_function_level.
2080         (builtin_function): Use C_DECL_INVISIBLE.
2081         (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
2082         Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
2083         (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
2084         (identifier_global_value): Same.  Must scan
2085         global_binding_level in extremis.
2086
2087         * c-typeck.c (undeclared_variable): New static function, split
2088         from build_external_ref.
2089         (build_external_ref): Use DECL_CONTEXT, not
2090         IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
2091         an instance variable.  Restructure for clarity.
2092         * objc/objc-act.c: Use identifier_global_value, not
2093         IDENTIFIER_GLOBAL_VALUE.
2094
2095 2003-04-08  Jonathan Wakely  <redi@gcc.gnu.org>
2096
2097         * doc/extend.texi (Template Instantiation): Refer to ISO standard,
2098         not Working Paper.
2099         * doc/invoke.texi (C++ Dialect Options): Same.
2100
2101 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
2102
2103         * tree.c (tree_operand_check_failed): New function.
2104         * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
2105         TREE_RTL_OPERAND_CHECK): New checking macros.
2106         (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
2107         RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
2108         CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
2109         EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
2110         EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
2111         TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
2112         checking macros.
2113
2114 Thu Apr 10 23:52:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
2115
2116         PR inline-asm/8803
2117         * function.c (instantate_virtual_regs):  Verify that all ASM statements
2118         match after the virutal regs instantiation.
2119
2120 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
2121
2122         * ia64-protos.h (addp4_optimize_ok): New.
2123         * ia64.c (addp4_optimize_ok): New.
2124         * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
2125         (*ptr_extend_plus_2): Ditto.
2126
2127 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
2128
2129         * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
2130         not with convert_memory_address.
2131         (store_constructor): Ditto, and same for copy_size_rtx.
2132         (expand_expr): Ditto.
2133
2134 2003-04-10  Douglas B Rupp  <rupp@gnat.com>
2135
2136         * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
2137
2138 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
2139
2140         * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
2141         even if it is configured to be write-through.
2142
2143 2003-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
2144
2145         * config/s390/s390.c (larl_operand): Do not allow symbols
2146         marked with '@'.
2147         (s390_encode_section_info): Mark symbols with forced 1-byte
2148         alignment with '@'.
2149         (s390_strip_name_encoding): Strip '@'.
2150         (legitimize_pic_address): Handle symbols that are not valid
2151         LARL operands in 64-bit mode.
2152
2153 2003-04-10  Andrew Haley  <aph@redhat.com>
2154
2155         * tree-inline.c (inlinable_function_p): Disable inlining for
2156         synchronized methods.
2157
2158 2003-04-09  Steven Bosscher  <steven@gcc.gnu.org>
2159
2160         * c-common.h (lang_statement_code_p): Remove declaration.
2161         (statement_code_p): Ditto.
2162         (c_common_stmt_codes): Define; list of c-common statement codes.
2163         (statement_code_p): New extern declaration.
2164         (STATEMENT_CODE_P): Define.
2165         (INIT_STATEMENT_CODES): Define.
2166         * c-common.c (statement_code_p): Kill the function, declare
2167         as an array of bools instead.
2168         (lang_statement_code_p): Remove.
2169         (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
2170         (c_safe_from_p): Ditto.
2171         * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
2172         to initialize the statement_code_p array.
2173         * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
2174         statement_code_p.
2175         (copy_tree_r): Ditto.
2176         * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
2177         statement tree codes.
2178         * cp/lex.c (cxx_init): Add missing print line break.  Use
2179         INIT_STATEMENT_CODES to initialize the statement_code_p array.
2180         * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
2181         instead of statement_code_p.
2182         * cp/pt.c (tsubst_expr): Ditto.
2183         * cp/tree.c (verify_stmt_tree_r): Ditto.
2184         (cp_statement_code_p): Remove.
2185         (init_tree): Don't set lang_statement_code_p, it's gone.
2186
2187 2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
2188             Zack Weinberg  <zack@codesourcery.com>
2189
2190         * regrename.c (struct du_chain): Use a bitfield for reg_class.
2191         * cse.c (struct qty_table_elem, struct table_elt, struct set):
2192         Use bitfields for fields holding enum rtx_code or
2193         enum machine_mode values.  Add comments explaining size choices.
2194
2195 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
2196
2197         * config/fp-bit.c (unpack_d): Handle pair of doubles with
2198         different signs correctly.
2199
2200 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
2201
2202         * sched-deps.c (reg_pending_barrier_mode): New enumeration.
2203         (reg_pending_barrier): Make it of the enumeration type.
2204         (sched_analyze_2): Define the barrier as MOVE_BARRIER or
2205         TRUE_BARRIER.
2206         (sched_analyze): Ditto.
2207         (sched_analyze_insn): Ditto.  Use anti-dependencies for
2208         MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
2209         (init_deps_global): Initialize the barrier as NO_BARRIER.
2210
2211 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
2212
2213         * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
2214         Check that asm insn starts on a new cycle.  Add nops after asm
2215         insn to end bundle.
2216         (bundling): Move insn type evaluation from the loop.  Call
2217         issue_nops_and_insn with the new parameter.  Ignore changing
2218         position for nops after asm insn.
2219
2220 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
2221
2222         * optabs.c: Comment that gen_add2_insn and others may actually
2223         return emitted insns, if the gen functions turn out to return
2224         emitted insns.
2225         * reload1.c (reload_cse_move2add): Cope with emitted insns from
2226         gen_add2_insn.
2227
2228 2003-04-09  Richard Henderson  <rth@redhat.com>
2229
2230         * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
2231         but not tls_symbolic_operand.
2232         (ia64_expand_load_address): Remove scratch operand.
2233         (ia64_expand_tls_address): Split out from ia64_expand_move.
2234         (ia64_expand_move): Split symbolics only after reload.
2235         (ia64_emit_cond_move): New.
2236         * config/ia64/ia64-protos.h: Update.
2237         * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
2238         (symbolic splitter): Accept SImode operands too.
2239         (cmove splitter): Use ia64_emit_cond_move.
2240
2241 2003-04-09  Nick Clifton  <nickc@redhat.com>
2242
2243         * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
2244         newer.
2245         * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
2246         instead of -mno-fpu.
2247         * config/arm/semi.h (ASM_SPEC): Likewise.
2248         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
2249         but only if -msoft-float is specified pass.  Otherwise pass
2250         -mfpu=softvfp.
2251
2252 2003-04-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2253
2254         * function.c (purge_addressof): Use free_INSN_LIST_node instead of
2255         free_EXPR_LIST_node.
2256
2257 2003-04-08  Roger Sayle  <roger@eyesopen.com>
2258
2259         * fold-const.c (fold):  Use "fold" following build in more places.
2260         Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
2261         pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
2262
2263 2003-04-08  Roger Sayle  <roger@eyesopen.com>
2264
2265         * builtins.c (fold_builtin):  Constant fold expressions as x*0.5
2266         instead of x/2.0.  Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
2267         log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
2268         pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
2269         Delete function scope "fcode" variable to avoid shadowing.
2270
2271 2003-04-08  Kevin Buettner  <kevinb@redhat.com>
2272
2273         * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
2274         Take into account DWARF_INITIAL_LENGTH_SIZE.
2275
2276 2003-04-08  Hans-Peter Nilsson  <hp@axis.com>
2277
2278         * reorg.c (fill_slots_from_thread): When considering changing the
2279         insn following a reg-to-reg copy insn to use the source reg of the
2280         copy, bail out if there's overlap between the registers.
2281
2282 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2283
2284         * function.c (postponed_insns): New.
2285         (purge_addressof_1): Postpone processing of insns if addressofs
2286         are not put into stack.
2287         (purge_addressof): Process postponed insns.
2288
2289 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
2290
2291         * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
2292         this is FP_MODE_DOUBLE .
2293         * sh.c (ra.h): #include.
2294         (push_regs): Add second parameter.  Changed all callers.
2295         If necessary, set fpscr before saving floating point registers.
2296         (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
2297         do saves / restores with SZ == 1.
2298         (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
2299         (sh_expand_epilogue): Likewise.  For TARGET_FMOVD, if floating point
2300         registers are being restored, restore FPSCR only after restoring them.
2301
2302 2003-04-08  Aldy Hernandez  <aldyh@redhat.com>
2303
2304         * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
2305         regardless of architecture.
2306         (spe_init_builtins): Change V2SI and V2SF types to opaque types.
2307
2308 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
2309
2310         * sh.c (push_regs, calc_live_regs): Return int.  Take single
2311         HARD_REG_SET * parameter.  Changed all callers.
2312
2313 Tue Apr  8 11:12:07 CEST 2003  Jan Hubicka  <jh@suse.cz>
2314
2315         * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
2316         GOTOFF operand.
2317         (legitimize_pic_address): Move plus outside the unspec.
2318         * i386.c (legitimate_constant_p):  Check (CONST (PLUS (UNSPEC ...
2319         for validity.
2320
2321 2003-04-08  Nathan Sidwell  <nathan@codesourcery.com>
2322
2323         * gcov-io.h (gcov_save_position): Remove __inline__ from
2324         declaration.
2325
2326 2003-04-07  Matt Kraai  <kraai@alumni.cmu.edu>
2327
2328         * doc/install.texi: Use @command and @samp for single- and
2329         multi-word commands respectively.
2330         * doc/makefile.texi: Likewise.
2331         * doc/sourcebuild.texi: Likewise.
2332
2333 2003-04-07  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2334             Richard Henderson  <rth@redhat.com>
2335
2336         PR c/9516
2337         * expr.c (safe_from_p): Rearrange to avoid deep recursion in
2338         favour of looping and tail recursion for TREE_LIST and binops.
2339
2340 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2341
2342         * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
2343         for insns without luid.
2344
2345 2003-04-07  Glen Nakamura  <glen@imodulo.com>
2346
2347         PR opt/8634
2348         * explow.c (maybe_set_unchanging): Don't flag non-static const
2349         aggregate type initializers with RTX_UNCHANGING_P.
2350
2351 2003-04-07  Richard Henderson  <rth@redhat.com>
2352
2353         PR opt/8634
2354         * function.c (purge_addressof_1): Don't try arithmetics for
2355         unchanging memories.
2356
2357 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
2358
2359         * doc/sourcebuild.texi (Test Suites): Document testing support for
2360         gcov and profile-directed optimizations; describe gcc.misc-tests.
2361
2362 Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
2363
2364         PR target/10077
2365         * i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
2366
2367 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2368
2369         * doc/rtl.texi (Comparison operations): Update to
2370         record the allowed comparison modes.
2371
2372 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
2373
2374         * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
2375         V2SI_type_node to opaque_V2SI_type_node.  Rename all
2376         V2SF_type_node to opaque_V2SF_type_node.
2377         (rs6000_init_builtins): Define opaque_V2SI_type_node and
2378         opaque_V2SF_type_node.
2379         (is_ev64_opaque_type): The types opaque_V2SI_type_node and
2380         opaque_V2SF_type_node are opaque types.
2381
2382 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
2383
2384         * gcse.c (replace_store_insn): Use single_set.
2385
2386 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
2387
2388         Change gcov file interface to single file at a time.
2389         * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
2390         Convert to C89 prototypes.
2391         (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
2392         gcov_error, gcov_modified): New static variables.
2393         (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
2394         functions.
2395         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
2396         gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
2397         (gcov_read_summary, gcov_write_summary): Adjust.
2398         (gcov_save_position, gcov_reserve_length, gcov_write_length):
2399         Adjust.
2400         (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
2401         (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
2402         (da_file_position, da_file_seek, da_file_write, da_file_read):
2403         Remove.
2404         (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
2405         * gcov.c (gcov_type): Don't typedef here.
2406         (IN_GCOV): #define
2407         (read_graph_file, read_count_file): Adjust.
2408         * gcov-dump.c (gcov_type): Don't typedef here.
2409         (IN_GCOV): #define.
2410         (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
2411         Remove FILE parameter, adjust.
2412         (struct tag_format): Adjust proc member.
2413         (dump_file): Adjust.
2414         * libgcov.c (IN_LIBGCOV): #define.
2415         (gcov_exit): Adjust.
2416         * loop-init.c: Don't #include gcov-io.h
2417         * profile.c (struct counts_entry): New structure to hold counter
2418         values.
2419         (struct section_reference, struct da_index_entry): Remove.
2420         (bbg_file, da_file): Remove.
2421         (htab_counts_index_hash, htab_counts_index_eq,
2422         htab_counts_index_del): Replace with ...
2423         (htab_counts_entry_hash, htab_counts_entry_eq,
2424         htab_counts_entry_del): ... these.
2425         (cleanup_counts_index, index_counts_file): Remove.
2426         (read_counts_file): New function.
2427         (get_exec_counts): Adjust.
2428         (compute_branch_probabilities): Don't free the exec counts here.
2429         (branch_prob): Adjust.
2430         (init_branch_prob): Adjust.
2431         (end_branch_prob): Adjust.
2432
2433 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
2434
2435         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2436         -mfloat-gprs.
2437
2438         * config/rs6000/rs6000.c: Delete rs6000_fprs.
2439         Declare rs6000_float_gprs.
2440         Declare rs6000_float_gprs_string.
2441         (rs6000_parse_float_gprs_option): New.
2442         (rs6000_override_options): Genericize rs6000_parse_* calls to use
2443         rs6000_parse_yes_no_option.
2444         Change check for cpu=8540, to use TARGET_E500.
2445         (rs6000_parse_isel_option): Delete.
2446         (rs6000_parse_spe_option): Delete.
2447         (rs6000_parse_vrsave_option): Delete.
2448
2449         * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
2450         Define rs6000_float_gprs_string.
2451         (TARGET_OPTIONS): Add rs6000_float_gprs option.
2452
2453         * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
2454
2455         * config/rs6000/eabispe.h: Set rs6000_float_gprs.
2456
2457 Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
2458
2459         PR opt/10024
2460         * cfglayout.c (cfg_layout_redirect_edge):
2461         Redirect any branch edges unified with the fallthru one.
2462         * cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
2463         case fallthru edges when called via cfglayout.c
2464
2465 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
2466
2467         * c-typeck.c (output_init_element): Check for type == error_mark_node.
2468
2469 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
2470
2471         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
2472         split.
2473         (a splitter): Do zero-extension via HImode.
2474
2475 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
2476
2477         * doc/invoke.texi: Eliminate extra white-space caused by
2478         @gccoptlist{ on its own line.
2479         * doc/invoke.texi: Ensured there are two spaces between each option.
2480         * doc/invoke.texi: Re-wrapped option lines that were too wide.
2481         Added @gol to options that didn't have them.
2482
2483 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
2484
2485         * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
2486
2487 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
2488
2489         * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
2490         at the sizes of the relevant structures, rather than relying
2491         on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
2492         sizes of any such we don't know about.  Use
2493         lang_hooks.identifier_size for IDENTIFIER_NODE.
2494
2495         (initializer_zerop): Use CONSTRUCTOR_ELTS.
2496         * tree.def: Update commentary.  Make fourth element of
2497         the definition for all 'c' and 'x' nodes zero.
2498
2499         * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
2500         * langhooks-def.h: Update to match.
2501         * langhooks.c: New default, lhd_tree_size.
2502
2503         * c-common.def (SRCLOC): Kill.
2504         * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
2505         Remove entirely - was already #if-ed out.
2506
2507
2508 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
2509
2510         * mklibgcc.in: Use a here document to avoid running afoul of
2511         shells that generate control-A from "echo \1".
2512
2513 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
2514
2515         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
2516         option.
2517
2518         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
2519         rs6000_spe.
2520
2521         * config/rs6000/eabi.h (TARGET_E500): Define.
2522
2523         * config/rs6000/rs6000.h (TARGET_E500): Define.
2524         (TARGET_OPTIONS): Add spe= option.
2525         Declare rs6000_spe and rs6000_spe_string extern.
2526
2527         * config/rs6000/rs6000.c (branch_positive_comparison_operator):
2528         Change TARGET_SPE to TARGET_E500.
2529         (ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
2530         !TARGET_FPRS.
2531         (print_operand): Same.
2532         (rs6000_generate_compare): Same.
2533         (output_cbranch): Same.
2534         (rs6000_spe): Declare.
2535         (rs6000_spe_string): Declare.
2536         (rs6000_override_options): Call rs6000_parse_spe_option.
2537         (rs6000_parse_spe_option): New.
2538
2539 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
2540
2541         * hashtable.c (gcc_obstack_init): Delete this function
2542         and everything related to it.
2543         * hashtable.h: Remove prototype.
2544         * bitmap.c (bitmap_element_allocate): Cleanup redundant
2545         defines.  Cleanup some unnecessary whitespace.
2546         * defaults.h (obstack_chunk_alloc): Redefine with
2547         appropriate casts for libiberty obstacks.
2548         (obstack_chunk_free): Ditto.
2549         (OBSTACK_CHUNK_SIZE): Define, default to 0.
2550         (gcc_obstack_init): Define as a call to _obstack_begin.
2551         * tree.c (print_obstack_statistics): Delete this unused
2552         function.
2553         * tree.h (obstack): Don't forward-declare.
2554         (print_obstack_statistics): Delete prototype.
2555         (print_obstack_name): Ditto.
2556         (gcc_obstack_init): Ditto.
2557         * rtl.h (gcc_obstack_init): Ditto.
2558         * java/jv-scan.c (gcc_obstack_init): Delete this
2559         function, its prototype and related defines.
2560         * java/jvgenmain.c (gcc_obstack_init): Delete this
2561         function, and related defines.
2562         * java/parse-scan.y (obstack_chunk_alloc): Don't define.
2563         (obstack_chunk_free): Ditto
2564
2565 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
2566
2567         * dbxout.c (dbxout_handle_pch): Move prototype out from
2568         #if defined DBX_DEBUGGING_INFO.
2569
2570 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
2571
2572         * gcov.c (struct arc_info): Replace local_span with cycle.
2573         (struct block_info): Replace u.span with u.cycle. Add is_call_return.
2574         (solve_flow_graph): Set is_call_return.
2575         (add_line_counts): Adjust. In block mode, blocks attach to last line.
2576         (accumulate_line_counts): Find graph cycles, not spanning tree.
2577         (output_branch_count): Adjust.
2578         (output_lines): Adjust.
2579         * doc/gcov.texi: Update.
2580
2581 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
2582
2583         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
2584         the second alternative to "#".
2585
2586 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
2587
2588         * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
2589         (single_zero_operand): Likewise.
2590
2591 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
2592
2593         * Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
2594         * df.c: Include alloc-pool.h, not obstack.h.
2595         (df_ref_obstack): Remove.
2596         (df_ref_pool, df_link_pool): Add pools.
2597         (df_alloc): Init the new pools.
2598         (df_free): And free them.
2599         (df_link_create): Use the pools.
2600         (df_ref_create): Ditto.
2601
2602 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
2603
2604         * simplify-rtx.c: Fix formatting.
2605
2606 2003-04-05  Andrew Pinski  <apinski@apple.com>
2607
2608         * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
2609         reg with reg1 == reg2 and offset1 = -8.
2610
2611 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
2612
2613         * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
2614         multiply costs.  Correct Power4 divide costs.
2615         * config/rs6000/power4.md: Restore multiply and FP latency.
2616
2617 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2618
2619         * alias.c (find_base_term): Export.
2620         * rtl.h (find_base_term): Declare.
2621         * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
2622         instead of flag_exceptions.  Move test for parameter passing ...
2623         (store_killed_in_insn): ... here.
2624
2625 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2626
2627         PR bootstrap/10267
2628         * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
2629         for configuring.
2630
2631 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
2632
2633         * dbxout.c (scope_labelno): Add GTY.
2634         (have_used_extensions): Add GTY.
2635         (source_label_number): Add GTY.
2636         (lastfile): Add GTY.
2637         (lastfile_is_base): New.
2638         (base_input_file): New.
2639         (dbxout_handle_pch): New.
2640         (dbx_debug_hooks): Add handle_pch.
2641         (xcoff_debug_hooks): Likewise.
2642         (dbxout_function_end): Remove scope_labelno.
2643         (dbxout_init): Set base_input_file.
2644         (dbxout_handle_pch): New.
2645         (dbxout_source_file): Honour lastfile_is_base.
2646         * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
2647         * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
2648         * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
2649         * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
2650         * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
2651         * debug.h (struct gcc_debug_hooks): Add handle_pch.
2652         * c-pch.c (pch_init): Don't call start_source_file, but do call
2653         handle_pch.
2654         (c_common_write_pch): Call handle_pch.
2655         (c_common_read_pch): Don't call start_source_file,
2656         or end_source_file.
2657
2658 Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
2659
2660         * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
2661         use of default attributes to agree MEM_ALIGN macro.
2662
2663 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
2664
2665         * dbxout.c (dbxout_type): When printing type index of range type
2666         whose bounds are printed in octal format, print type of parent type if
2667         it exists so enumerated type descriptions are not transformed
2668         into unsigned types.
2669
2670 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
2671
2672         * config/h8300/h8300-protos.h: Add a prototype for
2673         compute_a_shift_cc.
2674         * config/h8300/h8300.c (shift_one): Update the CC status.
2675         (shift_two): Likewise.
2676         (output_a_shift_cc): Set cc_inline and cc_special.
2677         (compute_a_shift_cc): New.
2678         * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
2679
2680 2003-04-04  Richard Henderson  <rth@redhat.com>
2681
2682         * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
2683
2684 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
2685
2686         * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
2687         * fixinc/fixincl.x: Rebuilt.
2688         * fixinc/tests/base/stdio.h: Regenerated.
2689
2690 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
2691
2692         * gcov.c (accumulate_line_counts): Fix span tree merge bug.
2693
2694 Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
2695
2696         * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
2697         (NORMAL_MODE).
2698         * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
2699
2700 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2701
2702         * doc/contrib.texi (Contributors): Add entries for Wolfgang
2703         Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
2704         Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
2705         Danny Smith, and Ulrich Weigand.
2706         Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
2707         entry.
2708
2709 2003-04-04  Nick Clifton  <nickc@redhat.com>
2710
2711         * config/sparc/sol2-bi.h: Revert previous delta.
2712         * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
2713
2714 2003-04-04  Nick Clifton  <nickc@redhat.com>
2715
2716         * config/v850/v850.c (expand_prologue): Only use register save
2717         helper functions if long calls are not being used.
2718         Add a clobber of r11 id using long calls.
2719         (pattern_is_ok_for_prologue): Account for the extra clobber.
2720         (construct_save_jarl): Likewise.
2721         * config/v850/v850.md (prolog pattern): Do not use this pattern
2722         for v850e's.
2723
2724 2003-04-04  Andreas Schwab  <schwab@suse.de>
2725
2726         * stor-layout.c (layout_decl): Avoid syntax error in last change
2727         when PCC_BITFIELD_TYPE_MATTERS is defined but not
2728         EMPTY_FIELD_BOUNDARY.
2729
2730 2003-04-03  Jason Merrill  <jason@redhat.com>
2731
2732         PR c/10175
2733         * jump.c (never_reached_warning): Revert patch of 2002-11-02.
2734         Look backwards for a line note.
2735
2736 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
2737
2738         * fix-header.c (read_scan_file): Defer switch processing.
2739
2740 2003-04-03  Matt Austern  <austern@apple.com>
2741
2742         * cpppch.c (reset_ht): Remove.
2743         (cpp_read_state): Remove loop to reset hashtable identifiers.
2744         * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
2745         after pch file is written.
2746         * ggc.h (gt_pch_fixup_stringpool): Declare.
2747         * stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
2748         hashnode's value to another hashtable, then clear the original.
2749         (saved_ident_hash): Define.
2750         (gt_pch_save_stringpool): Create saved_ident_hash, use it to
2751         store definitions in ident_hash, and clear ident_hash.
2752         (gt_pch_fixup_stringpool): Define.  Restore definitions from
2753         saved_ident_hash to ident_hash, then destroy saved_ident_hash.
2754
2755 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
2756
2757         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
2758
2759 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2760
2761         PR optimization/10157
2762         * gcse.c (can_copy_p): Rename it to can_copy.
2763         (can_copy_init_p): Remove.
2764         (compute_can_copy): Use can_copy instead of can_copy_p.
2765         (can_copy_p): New exported function. Call compute_can_copy.
2766         (hash_scan_set): Use it.
2767         (gcse_main): Don't call compute_can_copy.
2768         (bypass_jumps): Don't call compute_can_copy.
2769         * rtl.h (can_copy_p): Declare.
2770         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
2771         copy if the mode doesn't support copy operations.
2772
2773 2003-04-03  Jason Merrill  <jason@redhat.com>
2774
2775         * Makefile.in (unstrap): Also remove stage_last.
2776
2777         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
2778         (dwarf2out_source_line): Don't do anything if line==0.
2779
2780         * stor-layout.c (do_type_align): New fn, split out from...
2781         (layout_decl): ...here.  Do all alignment calculations for
2782         FIELD_DECLs here.
2783         (update_alignment_for_field): Not here.
2784         (start_record_layout, debug_rli): Remove unpadded_align.
2785         * tree.h (struct record_layout_info_s): Remove unpadded_align.
2786         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
2787         or DECL_MODE on the CONST_DECLs.
2788         (finish_struct): Don't mess with DECL_ALIGN.
2789
2790 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
2791
2792         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
2793
2794 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
2795
2796         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
2797         function is an interrupt handler.
2798
2799         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
2800         restoring target registers with EH_RETURN_STACKADJ_RTX; use
2801         multiple registers in round-robin fashion.
2802
2803 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2804
2805         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
2806         * system.h (CHAR_BITFIELD): New.
2807
2808 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
2809
2810         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
2811         and LE.
2812         (another peephole2): Likewise.
2813
2814 2003-04-03  Nick Clifton  <nickc@redhat.com>
2815
2816         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
2817         (DEF_ARCH64_SPEC): Likewise.
2818
2819 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
2820
2821         * i386.c (constant_address_p): Use legitimate_constant_p.
2822         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
2823
2824 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
2825
2826         * config/h8300/h8300-protos.h: Add a prototype for
2827         gtle_operator.
2828         * config/h8300/h8300.c (gtle_operator): New.
2829         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
2830         gtle_operator.
2831         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
2832         and LE.
2833
2834 2003-04-02  Richard Henderson  <rth@redhat.com>
2835
2836         * libgcc-std.ver (_Unwind_GetCFA): New.
2837         * unwind-dw2.c (_Unwind_GetCFA): New.
2838         * unwind-libunwind.c (_Unwind_GetCFA): New.
2839         * unwind-sjlj.c (_Unwind_GetCFA): New.
2840         * unwind.h: Declare it.
2841
2842 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
2843
2844         PR inline-asm/8088
2845         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
2846         when MMX/SSE is not available.
2847
2848 2003-04-02  Mike Stump  <mrs@apple.com>
2849
2850         * doc/install.texi (Specific): Update pointers to apple.com.
2851
2852 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
2853
2854         * i386.c (override_options):  Disable red zone by default on i386.
2855         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
2856         Do not test TARGET_64BIT together with TARGET_RED_ZONE
2857
2858 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
2859
2860         * config/h8300/h8300.md (a peephole2): Tighten the condition.
2861
2862 2003-04-02  Richard Henderson  <rth@redhat.com>
2863
2864         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
2865
2866 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
2867
2868         * config/h8300/h8300.md (a peephole2): New.
2869
2870 2003-04-02  Richard Henderson  <rth@redhat.com>
2871
2872         * except.c (sjlj_find_directly_reachable_regions): Recognize when
2873         must-not-throw region has been deleted.
2874
2875 2003-04-02  Richard Henderson  <rth@redhat.com>
2876
2877         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
2878         optimization when flag_exceptions not enabled.
2879
2880 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
2881
2882         * config/rs6000/rs6000.c
2883         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
2884         macros.
2885         (rs6000_issue_rate): Add case for 8540.
2886         (rs6000_use_sched_lookahead): New function.
2887
2888         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
2889         units into MU ones.
2890         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
2891         reservation before retirement.
2892         (ppc8540_multiply, ppc8540_load, ppc8540_store,
2893         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
2894         Remove additional cycle in the reservation before retirement.
2895         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
2896         reservation of ppc8540_issue.
2897
2898 2003-04-02  Andreas Schwab  <schwab@suse.de>
2899
2900         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
2901
2902 2003-04-01  Richard Henderson  <rth@redhat.com>
2903
2904         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
2905         notes for nothrow calls if flag_forced_unwind_exceptions.
2906         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
2907         (sjlj_find_directly_reachable_regions): Likewise.
2908         (reachable_handlers): Likewise.
2909         (can_throw_external): Likewise.
2910         (collect_one_action_chain): Record cleanups after catch-all and
2911         must-not-throw if flag_forced_unwind_exceptions.
2912         * flags.h (flag_forced_unwind_exceptions): Declare.
2913         * toplev.c (flag_forced_unwind_exceptions): New.
2914         (lang_independent_options): Add it.
2915         * doc/invoke.text: Add it.
2916
2917 2003-04-01  David Mosberger <davidm@hpl.hp.com>
2918
2919         * config/ia64/crti.asm: Clean up trailing whitespace.
2920         Remove trailing hashes (#) from identifiers.
2921
2922         * config/ia64/crtn.asm: Ditto.
2923
2924         * config/ia64/crtend.asm: Remove trailing hashes (#) from
2925         identifiers.
2926         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
2927         directives.  Drop explicit bundling---it just makes the code
2928         harder to read.  Don't save/restore gp needlessly.
2929
2930         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
2931         identifiers (they're only needed if the identifier would clash
2932         with a register name otherwise).
2933         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
2934         directives.  Drop explicit bundling---it just makes the code
2935         harder to read.
2936         (__do_jv_register_classes): Ditto.
2937         (.fini_array): Remove "progbits" (newer
2938         assemblers don't like wrong section-types).
2939         (.init_array): Ditto.
2940
2941 2003-04-01  Roger Sayle  <roger@eyesopen.com>
2942
2943         PR fortran/9974
2944         * gcse.c (reg_killed_on_edge): New function to test whether the
2945         given reg is overwritten by any instruction queued on an edge.
2946         (bypass_block): Ignore substitutions killed on incoming edges.
2947         Don't bypass outgoing edges that have queued instructions.
2948
2949 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
2950
2951         * real.h (EXP_BITS): Make room for...
2952         (struct real_value): ... added canonical bit.
2953         (struct real_format): Added pnan.
2954         (mips_single_format, mips_double_format, mips_extended_format,
2955         mips_quad_format): New.
2956         * real.c: Copy p to pnan in all formats.
2957         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
2958         (real_nan): Use pnan to compute significand's shift.
2959         (real_identical): Disregard significand in canonical
2960         NaNs.
2961         (real_hash): Likewise.  Take signalling into account.
2962         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
2963         Disregard significand bits in canonical NaNs.  Set all bits of
2964         canonical NaN if !qnan_msb_set.
2965         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
2966         qnan_msb_set to tell the base double format.
2967         (ibm_extended_format): Use 53 as pnan.
2968         (mips_single_format, mips_double_format, mips_extended_format,
2969         mips_quad_format): Copied from the corresponding ieee/ibm
2970         formats, with qnan_msb_set false.
2971         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
2972         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
2973         * config/mips/mips.c (override_options): Use mips_single_format
2974         and mips_double_format.  Default TFmode to mips_quad_format.
2975         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
2976         * config/mips/t-irix6: Likewise.
2977         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
2978         * config/fp-bit.c (pack_d, unpack_d): Obey it.
2979
2980 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
2981
2982         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
2983         (live_image_destructor): Reset image to initial state.
2984         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
2985
2986 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2987
2988         * config/sparc/sparc.c (input_operand): Accept bare
2989         CONSTANT_P_RTX operands.
2990
2991 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2992
2993         * gcse.c (struct ls_expr): Added pattern_regs field.
2994         (ldst_entry): Initialize it.
2995         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
2996         (store_ops_ok): Use regs precomputed by them.
2997         (find_loads, store_killed_in_insn, load_kills_store): Change return
2998         type to bool.
2999         (store_killed_before, store_killed_after): Take position of register
3000         set in account.
3001         (reg_set_info): Store position of the setter.
3002         (gcse_main): Enable store motion.
3003         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
3004         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
3005         sharing.
3006         (simple_mem): Enable store motion of non-symbol mems.
3007         (regvec): Type changed.
3008         (LAST_AVAIL_CHECK_FAILURE): New.
3009         (compute_store_table_current_insn): New.
3010         (build_store_vectors): Computation of availability and anticipatability
3011         moved ...
3012         (compute_store_table, find_moveable_store): ... here.
3013         (delete_store): Remove senseless comment.
3014         (store_motion): Reorganize.
3015
3016 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
3017
3018         * config/mips/mips.c (override_options): Provide mappings for
3019         HI_REGNUM and LO_REGNUM.
3020         * config/mips/mips.h (MD_DBX_FIRST): Define.
3021
3022 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3023
3024         * combine.c (merge_outer_ops): Fix typo.
3025
3026         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
3027
3028 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
3029
3030         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
3031         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
3032         imul_compare.  Add lmul_compare.
3033         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
3034         in second pair of dispatch slots.  Model stores more accurately.
3035         Tweak multiply model.  Add bypasses for CR instructions dependent
3036         on complicated compares.
3037         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
3038         (muldi3): Add lmul_compare patterns.
3039         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
3040         and FPSTORE_UX to split instructions and add COMPARE,
3041         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
3042         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
3043         (rs6000_rtx_costs): Separate POWER4 multiply case.
3044
3045 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
3046
3047         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
3048         Do nothing if __builtin_return_address was not used.
3049
3050 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
3051
3052         * i386.md (test patterns):  Allow memory operand in operand1.
3053
3054 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
3055
3056         * testsuite/gcc.c-torture/execute/simd-3.c: New.
3057
3058         * expr.c (expand_expr): Handle VECTOR_CST.
3059         (const_vector_from_tree): New.
3060
3061         * varasm.c (output_constant): Handle VECTOR_CST.
3062
3063         * c-typeck.c (digest_init): Build a vector constant from a
3064         VECTOR_TYPE.
3065
3066         * config/rs6000/rs6000.c: Remove prototype for
3067         easy_vector_constant.
3068         (easy_vector_constant): Add mode parameter.  Rewrite to handle
3069         more easy constants.
3070         (rs6000_emit_move): Pass mode to easy_vector_constant.
3071         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
3072         (emit_easy_vector_insn): New.
3073         (easy_vector_same): New.
3074         (EASY_VECTOR_15): New macro.
3075         (EASY_VECTOR_15_ADD_SELF): New macro.
3076         (bdesc_2arg): Rename to xorv2si3.
3077         (easy_vector_constant_add_self): New.
3078         (input_operand): Allow vector constants.
3079
3080         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
3081         easy_vector_constant, easy_vector_constant_add_self.
3082         (EXTRA_CONSTRAINT): Add 'W'.
3083
3084         * config/rs6000/rs6000-protos.h: Add prototype for
3085         easy_vector_constant, emit_easy_vector_insn.
3086
3087         * config/rs6000/altivec.md (xorv8hi3): New.
3088         (xorv16qi3): New.
3089         Remove all _const0 patterns.
3090         (movv4si_internal): Rewrite to use code.  Add vector constant to
3091         vector alternative.  Add splitter.
3092         (movv8hi_internal): Same.
3093         (movv16qi_internal): Same.
3094         (movv4sf_internal): Same.
3095         Change the unspecs for vspltis* to use constants.
3096
3097         * config/rs6000/spe.md ("xorv4hi3"): New.
3098         ("spe_evxor"): Rename to xorv2si3.
3099         ("xorv1di3"): New.
3100         Remove all _const0 patterns.
3101         (movv2si_internal): Rewrite to use code.  Add vector constant to
3102         alternatives.  Add splitter.
3103         (movv4hi_internal): Add vector constant to alternatives.
3104         (movv1di_internal): Same.
3105         (movv2sf_internal): Same.
3106
3107 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
3108
3109         PR c/9936
3110         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
3111         variably-sized arrays in parameters.
3112         (set_save_expr_context): New function.
3113         (c_expand_body): Use it, via walk_tree.
3114
3115 2003-03-31  Eric Christopher  <echristo@redhat.com>
3116
3117         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
3118         (combinable_i3pat): Remove call to expand_field_assignment and
3119         #if 0'd code.
3120
3121 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
3122
3123         PR c++/10278
3124         * c-common.c (finish_label_address_expr): Handle the
3125         error_mark_node.
3126
3127 2003-03-31  Richard Henderson  <rth@redhat.com>
3128
3129         * real.c (real_identical): Reorg so as to not compare
3130         signalling for normals.
3131
3132 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
3133
3134         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
3135
3136 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
3137
3138         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
3139         notes as they are boggus.
3140         (m68hc11_gen_movqi): Likewise.
3141
3142 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
3143
3144         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
3145         save the soft registers after the frame pointer so that gdb can unwind
3146         the frame more easily.
3147         (expand_epilogue): Likewise in opposite order; allow to use X register
3148         as scratch if the return value is by reference.
3149
3150 2003-03-31  Jason Merrill  <jason@redhat.com>
3151
3152         PR java/10145
3153         * stor-layout.c (update_alignment_for_field): Respect
3154         DECL_USER_ALIGN for zero-length bitfields, too.
3155         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
3156         fields.
3157
3158 2003-03-31  Matt Austern  <austern@apple.com>
3159
3160         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
3161         (count_defs): Keep track of number of defs as well as total size.
3162         (write_defs): Put every definition in cpp_savedstate's defs array.
3163         (comp_hashnode): Define.  Comparison function for qsort.
3164         (cpp_write_pch_deps): Sort definitions before writing them.
3165         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
3166         (collect_ht_nodes): Define.
3167         (cpp_valid_state): When verifying that undefined identifiers in
3168         the pch file are still undefined, read a sorted list of undefined
3169         identifiers, collect all defined identifiers into a sorted list,
3170         and walk through both lists to make sure there's no match.
3171
3172 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
3173
3174         * config/h8300/h8300.md (a peephole2): New.
3175
3176 2003-03-31  Michael Matz  <matz@suse.de>
3177
3178         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
3179
3180 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
3181
3182         PR target/10177
3183         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
3184         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
3185         all call-clobbered registers as used.
3186
3187 2003-03-31  Michael Matz  <matz@suse.de>
3188
3189         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
3190         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
3191
3192 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
3193
3194         * gcov.c: Add -a & -u options.
3195         (struct arc_info): Add local_span, is_call_non_return,
3196         is_nonlocal_return, is_unconditional flags, remove is_call flag.
3197         (struct block_info): Add flags, is_call_site, is_nonlocal_return
3198         members. Make encodings a union with span member.
3199         (struct function_info): Add blocks_executed, line, src, line_next
3200         members.
3201         (struct coverage_info): Make branches a union with blocks member.
3202         (struct source_info): Add functions member.
3203         (object_summary, program_count): New global variables.
3204         (flag_all_blocks, flag_unconditional): New flags.
3205         (find_source, output_branch_count): New functions.
3206         (print_usage): Adjust.
3207         (options): Adjust.
3208         (process_args): Adjust.
3209         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
3210         <GCOV_TAG_BLOCKS>: Read flags.
3211         <GCOV_TAG_LINES>: Adjust.
3212         (read_count_file): Process SUMMARY tags.
3213         (solve_flow_graph): Set is_unconditional and clear is_call_site
3214         appropriately.
3215         (add_branch_counts): Adjust. Don't count unconditional branches.
3216         (add_line_counts): Deal with all-blocks mode, accumulate block
3217         coverage.
3218         (accumulate_line_counts): Adjust, generate local spanning tree for
3219         all-blocks mode.
3220         (output_lines): Adjust.
3221         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
3222         * doc/gcov.texi: Document.
3223
3224 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
3225
3226         * config/h8300/h8300.md: Organize peephole2's that transform
3227         (compare (reg:HI) (const_int)).
3228
3229 2003-03-31  Roger Sayle  <roger@eyesopen.com>
3230
3231         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
3232         (init_emit_once): Initialize dconstm2 and dconsthalf here.
3233         * real.h (dconstm2, dconsthalf): Add prototypes here.
3234         * real.c (real_sqrt): Use dconsthalf rather than local copy.
3235         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
3236         exp(x/2.0) remember to fold the division if possible.
3237         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
3238         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
3239         1.0/(x*x) and pow(x,0.5) as sqrt(x).
3240
3241 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
3242
3243         * config/h8300/h8300.md (a new peephole2): New.
3244
3245 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
3246
3247         * gcse.c (simple_mem): Return false for floating-point accesses
3248         if flag_float_store is true.
3249
3250 2003-03-30  Roger Sayle  <roger@eyesopen.com>
3251
3252         * gcse.c (gcse_constant_p): New function to identify constants
3253         suitable for constant propagation, including COMPARE with two
3254         integer constant arguments.
3255         (hash_scan_set): Use gcse_constant_p.
3256         (find_avail_set): Likewise.
3257         (cprop_insn): Likewise.
3258         (do_local_cprop): Likewise.
3259         (find_implicit_sets): Likewise.
3260         (find_bypass_set): Likewise.
3261
3262 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
3263
3264         * except.h: Remove definition of varray_type.
3265
3266 2003-03-30  Richard Henderson  <rth@redhat.com>
3267
3268         PR opt/10011, opt/10252:
3269         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
3270         before post-gcse cse pass.
3271
3272 2003-03-30  Roger Sayle  <roger@eyesopen.com>
3273
3274         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
3275
3276 2003-03-30  DJ Delorie  <dj@redhat.com>
3277
3278         * profile.c (instrument_edges): Make sure any newly created
3279         jump insns have correct jump label info.
3280
3281 2003-03-30  Richard Henderson  <rth@redhat.com>
3282
3283         * cfgbuild.c (make_edges): Use tablejump_p.
3284         * cfgcleanup.c (label_is_jump_target_p): Likewise.
3285         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
3286         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
3287         (try_redirect_by_replacing_jump): Likewise.
3288         (redirect_edge_and_branch): Likewise.
3289         * cse.c (fold_rtx): Likewise.
3290         * jump.c (delete_related_insns): Likewise.
3291         * rtlanal.c (get_jump_table_offset): Likewise.
3292         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
3293
3294 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3295
3296         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
3297         (STRICT2_WARN): Likewise.
3298
3299 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3300
3301         PR other/6955
3302         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
3303         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
3304
3305 2003-03-30  Richard Henderson  <rth@redhat.com>
3306
3307         PR c/10083
3308         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
3309         don't zero_extend const inputs.
3310
3311 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
3312
3313         * reload1.c (reload_cse_move2add): Fix a comment typo.
3314
3315 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
3316
3317         * config/h8300/h8300.md (a peephole2): Remove useless code.
3318
3319 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
3320
3321         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
3322         (*iorsi3_and_lshiftrt): Likewise.
3323         (*iorsi3_zero_extract): Likewise.
3324
3325 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
3326
3327         * config/h8300/h8300.md (*insv_si_8_8): New.
3328         (*insv_si_8_8_lshiftrt_8): Likewise.
3329         (a peephole2): Likewise.
3330
3331 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3332
3333         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
3334         Uniformly use bugfix instead of bug fix.
3335
3336 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3337
3338         PR doc/895
3339         * ONEWS: Remove those items that already appear in the EGCS
3340         release notes on our web pages.
3341
3342 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
3343
3344         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
3345         TARGET_HARD_FLOAT.  Reformat.
3346         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
3347
3348 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
3349
3350         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
3351         work on Solaris 2.5.1.
3352
3353 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
3354
3355         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
3356         section of h8300.md
3357         (*addsi3_and_nor_r_1): Likewise.
3358
3359 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
3360
3361         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
3362         set up before any trapping memory access if flag_non_call_exceptions.
3363
3364 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
3365
3366         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
3367
3368         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
3369
3370 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
3371
3372         * configure.in: Clarify comments.
3373         * configure: Regenerate.
3374
3375 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
3376
3377         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
3378         label even if pool empty when generating PIC.
3379         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
3380
3381 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
3382             Dhananjay Deshpande  <dhananjayd@kpit.com>
3383
3384         PR target/10205
3385         * config/h8300/h8300.c (h8300_initial_elimination_offset):
3386         Correct the offset computation when TARGET_NORMAL.
3387
3388 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
3389
3390         PR target/10067
3391         * config/sparc/sparc.md (jump pattern): Correct order
3392         when issuing the annuling marker.
3393
3394 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
3395
3396         PR c/8281
3397         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
3398         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
3399
3400 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
3401
3402         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
3403         globalize_label.
3404         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3405         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3406         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3407         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3408         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3409         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3410         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
3411
3412 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
3413
3414         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
3415         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
3416         notes after hoisting.
3417         (load_mems): Adjust replace_loop_mems call.
3418
3419 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
3420             Richard Henderson  <rth@redhat.com>
3421
3422         PR target/10114 and PR target/10084
3423         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
3424
3425 2003-03-27  Richard Henderson  <rth@redhat.com>
3426
3427         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
3428
3429 2003-03-27  Roger Sayle  <roger@eyesopen.com>
3430
3431         * fold-const.c (fold_inf_compare):  New function to simplify FP
3432         comparisons against +Infinity or -Infinity.
3433         (fold):  Optimize floating point comparisons against Infs and NaNs.
3434
3435 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
3436
3437         * libgcov.c: Provide only dummy functions if libc is not available.
3438
3439 2003-03-27  Richard Henderson  <rth@redhat.com>
3440
3441         * real.h (struct real_value): Add signalling.
3442         (EXP_BITS): Decrement.
3443         * real.c (get_canonical_qnan): Don't set MSB-1.
3444         (get_canonical_snan): Likewise.  Set signalling.
3445         (real_identical): Compare signalling.
3446         (round_for_format): Remove force-one-bit on code.
3447         (real_nan): Likewise.  Set signalling.
3448         (encode_ieee_single): Add force-one-bit code; honor signalling.
3449         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
3450         (decode_ieee_single): Set signalling.
3451         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
3452
3453 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
3454
3455         PR ada/9953
3456         * ada/Makefile.in (gnatlib configuration for HPUX): Split
3457         the general section for HPUX into specific sections for
3458   &nbs