OSDN Git Service

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