OSDN Git Service

* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
4         throughout.
5         * builtins.def: Likewise.
6
7 2003-07-31  Jason Merrill  <jason@redhat.com>
8
9         * Makefile.in (bubblestrap): Don't require a previous full
10         bootstrap.
11
12         * expr.c (mostly_zeros_p): No longer static.
13         * tree.h: Declare it.
14         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
15         unless we need to do substitutions.
16
17 2003-07-31  Roger Sayle  <roger@eyesopen.com>
18
19         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
20         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
21         as pow(x,2.0) when the latter will be expanded back into x*x.
22         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
23         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
24         pow can never set errno when used with an integer exponent.
25         Always use expand_powi when exponent is -1, 0, 1 or 2.
26         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
27         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
28         the pow forms of these expressions.
29
30 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
31
32         * Makefile.in (libexecdir): New.
33         (libsubdir): Use gcc instead of gcc-lib.
34         (libexecsubdir): New.
35         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
36         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
37         gcc-lib.
38         (installdirs): Make libexecsubdir.
39         (install-common): Put executables in libexecsubdir.
40         (itoolsdir): Use libexecsubdir.
41         (itoolsdatadir): New.
42         (install-mkheaders): Separate data files and executables.
43         (install-collect2): Put executables in libexecsubdir.
44         (uninstall): Remove libexecsubdir.
45         * mkheaders.in: Update for new arrangement of files.
46         (libexecdir): New.
47         (libexecsubdir): New.
48         (itoolsdir): Use libexecsubdir.
49         (itoolsdatadir): New.
50         * gcc.c (gcc_libexec_prefix): New.
51         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
52         (standard_exec_prefix_1): Use libexec.
53         (standard_exec_prefix_2): New.
54         (standard_libexec_prefix): New.
55         (process_command): Update for new arrangement of files.  Compute
56         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
57
58 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
59
60         * inclhack.def (stdio_va_list): Avoid bogus replacement which
61         triggers on Interix.
62         * fixincl.x: Regenerate.
63
64 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
65
66         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
67         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
68
69 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
70
71         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
72
73 2003-07-31  Per Bothner  <pbothner@apple.com>
74
75         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
76         (add_input_filename):  New function.
77         (handle_options):  Call add_input_filename directly instead of
78         with a lang hook.
79         * opts.h (in_fnames, num_in_fnames):  Moved here.
80         (add_input_filename):  Declare.
81         * c-decl.c:  Need to #include opts.h.
82         * Makefile.in (c-decl.o):  Also depends on opts.h.
83         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
84         (c_common_handle_filename):  Replaced by add_input_filename.
85         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
86         Remove.
87         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
88         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
89         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
90         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
91
92 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
93
94         * combine.c (try_combine): Set JUMP_LABEL for newly created
95         unconditional jump.
96
97 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
98
99         * fold-const.c (fold): Fold some comparisons of bit operations.
100
101 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
102
103         * cgraph.c (create_edge): Fix typo.
104         * i386.c (pic_symbolic_operand): Reorder tests.
105
106 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
107
108         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
109         more fully.
110         (Gcov Data Files): Update.
111
112 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
113
114         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
115         default.
116
117         * gthr-posix.c: New file.
118         * gthr-posix.h: Define _REENTRANT if missing.
119         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
120
121         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
122         by gthr-posix.o.
123         * config/alpha/t-osf-pthread: New file.
124
125         * fixinc/inclhack.def (alpha_pthread): New fix.
126         * fixinc/fixincl.x: Regenerate.
127         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
128
129         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
130         warning.
131         Fixes PR bootstrap/9330.
132
133 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
134
135         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
136         without GNU ld.
137         Update comment.
138         * configure: Regenerate.
139
140 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
141
142         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
143         setter.
144
145 2003-07-30  Roger Sayle  <roger@eyesopen.com>
146
147         * builtins.def: Alphabetize.
148
149 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
150
151         * doc/c-tree.texi: Normalize spellings of "lowercase" and
152         "uppercase".
153         * doc/cpp.texi: Likewise.
154         * doc/md.texi: Likewise.
155         * doc/rtl.texi: Likewise.
156         * doc/tm.texi: Likewise.
157
158 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
159
160         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
161         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
162         of cc1obj.
163
164 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
165
166         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
167         macros before defining them.
168
169 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
170
171         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH, 
172         UNSPECV_BLOCKAGE): New constants.
173         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
174         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
175         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
176         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
177
178         (all insns and expanders): Write output control string as brace block
179         where appropriate.  Remove \-escapes for doublequote characters.
180
181 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
182
183         * gcse.c (insert_store): Fix typo in previous patch.
184
185 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
186
187         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
188
189 2003-07-30  Andi Kleen  <ak@muc.de>
190
191         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
192
193 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
194
195         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
196         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
197         GCOV_N_VALUE_COUNTERS): New.
198         * profile.c (compute_value_histograms): New static function.
199         (branch_prob): Read back the value histograms.
200         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
201         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
202         * value-prof.c: Add comment on reading the profile.
203         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
204         * doc/invoke.texi (-fprofile-values): Document behavior with
205         -fbranch-probabilities.
206
207 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
208
209         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
210
211 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
212
213         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
214         symbolically.
215
216 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
217
218         * gcse.c (insert_store): Ignore fake edges.
219
220         * c-common.c (flag_vtable_gc): Kill.
221         * c-common.g (flag_vtable_gc): Kill.
222         * c-opts (c_common_handle_option): Kill.
223         * c.opt (fvtable-gc): Kill.
224         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
225         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
226         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
227
228         * invoke.texi (-ftable-gc): Kill documentation.
229
230         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
231         just because function body is missing.
232
233         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
234
235 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
236
237         * unwind-sjlj.c: Fix typo in file description.
238
239 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
240
241         * calls.c (load_register_parameters): When shifting reg sized values
242         to the msb, move the value to a reg first.
243
244 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
245
246         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
247         * line-map.h (linemap_add): Update comments.
248         * line-map.c (linemap_add): Update comments, interpret zero-length
249         filename as "<stdin>".
250
251 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
252
253         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
254
255 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
256
257         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
258         New static variables.
259         (struct c_scope): Add parms and warned_forward_parm_decls
260         fields; remove parm_order.
261         (storedecls, storetags): Delete.
262         (poplevel): Also clear bindings on the parms chain.
263         (pushdecl): Handle forward declarations of parameters, and
264         chain PARM_DECLs on the parms list, not the names list.
265         (lookup_name_current_level): Check for PARM_DECLs on the parms
266         list too.
267         (push_parm_decl): Don't update parm_order.
268         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
269         warning, only once per parameter list, and set TREE_ASM_WRITTEN
270         on the decls here.  Then move the forward decls to the names list.
271         (grokparms): Set last_function_parm_vars.
272         (get_parm_info): Don't use gettags or getdecls.  No need to
273         extract non-parms from the parms list, or reorganize the parms
274         list.  Feed nonparms back in the TREE_TYPE of the list node
275         returned.  Issue only one error per parameter list for "void"
276         appearing more than once in said parameter list.  Collapse
277         parmlist_tags_warning into this function to avoid double scan
278         of tags list.
279         (start_function): Set current_function_parm_vars.
280         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
281         directly.  Get non-parms from current_function_parm_vars; no
282         need to extract them from the parms chain.  Properly bind tags
283         in the new scope.
284         (store_parm_decls_oldstyle): No need to extract non-parameters
285         from the parms chain, nor to store them back afterward.  Move
286         declaration to top of function, restructure code reordering
287         DECL_ARGUMENTS.
288         (store_parm_decls): No need to save and restore warn_shadow.
289         * c-parse.in: Don't call parmlist_tags_warning nor
290         clear_parm_order.  Call mark_forward_parm_decls when forward
291         parm decls are encountered.
292         * c-tree.h: Prototype mark_forward_parm_decls; not
293         clear_parm_order or parmlist_tags_warning.
294
295 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
296
297         * c-common.c (allow_pch): Remove.
298         * c-common.h (allow_pch): Remove.
299         (c_common_no_more_pch): Declare.
300         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
301         * c-pch.c: Include hosthooks.h.
302         (c_common_valid_pch): Don't check allow_pch.
303         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
304         (c_common_no_more_pch): New.
305         * ggc-common.c: Include hosthooks.h.
306         (gt_pch_save): Call gt_pch_get_address.
307         (gt_pch_restore): Call gt_pch_use_address.
308         * hooks.c (hook_voidp_size_t_null): New.
309         (hook_bool_voidp_size_t_false): New.
310         * hooks.h (hook_voidp_size_t_null): New.
311         (hook_bool_voidp_size_t_false): New.
312         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
313         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
314         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
315         HOST_HOOKS_GT_PCH_USE_ADDRESS.
316         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
317         gt_pch_use_address.
318         * doc/hostconfig.texi (Host Common): Document
319         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
320         * Makefile.in (c-pch.o): Depend on hosthooks.h.
321         (ggc-common.o): Likewise.
322
323         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
324         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
325         (pch_address_space): New.
326         (darwin_rs6000_gt_pch_get_address): New.
327         (darwin_rs6000_gt_pch_use_address): New.
328
329 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
330
331         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
332         * cppfiles.c: Completely rewritten.
333         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
334         struct cpp_path is now struct cpp_dir.
335         (remove_duplicates): Don't simplify path names.
336         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
337         cpp_stack_file.
338         * cpphash.h: Include hashtab.h.
339         (_cpp_file): Declare.
340         (struct cpp_buffer): struct include_file is now struct _cpp_file,
341         and struct cpp_path is now struct cpp_dir.  Rename members.
342         (struct cpp_reader): Similarly.  New members once_only_files,
343         file_hash, file_hash_entries, quote_ignores_source_dir,
344         no_search_path, saw_pragma_once.  Remove all_include_files and
345         max_include_len.  Make some members bool.
346         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
347         (_cpp_stack_file): Renamed from _cpp_read_file.
348         (_cpp_stack_include): Renamed from _cpp_execute_include.
349         (_cpp_init_files): Renamed from _cpp_init_includes.
350         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
351         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
352         (cpp_read_next_file): Rename and move to cppfiles.c.
353         (cpp_read_main_file): Update.
354         * cpplib.c (run_directive): Update for renamed members.
355         (do_include_common, _cpp_pop_buffer): Update.
356         (do_import): Undeprecate #import.
357         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
358         * cpplib.h: Remove file_name_map_list.
359         (cpp_options): Remove map_list.
360         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
361         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
362
363 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
364
365         * Makefile.in:  Make stamp-objdir safe for parallel builds.
366
367 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
368
369         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
370         (info):  Depend on stmp-docobjdir.
371
372 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
373
374         * configure: Regenerate.
375
376 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
377
378         PR C++/11131
379         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
380         in !unit-at-a-time mode.
381
382 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
383
384         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
385         main function.
386
387 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
388
389         PR c++/11667
390         * c-common.c (shorten_compare): Take into account differences
391         between C and C++ representation for enumeration types.
392         * tree.h (set_min_and_max_values_for_integral_type): Declare.
393         * stor-layout.c (set_min_and_max_values_for_integral_type): New
394         function, broken out from ...
395         (fixup_signed_type): ... here and ...
396         (fixup_unsigned_type): ... here.
397
398 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
399
400         * c-decl.c: Update commentary, adjust blank lines throughout.
401         (struct c_scope): Fix indentation.  Reorder members so
402         outer-context pointers come first, booleans last.
403         (duplicate_decls, define_label): Use a 'locus' variable for
404         diagnostic locations in a few more places.
405         (warn_if_shadowing): Un-split a conditional that fits on one line.
406         (c_init_decl_processing): No need to clear current_scope and
407         current_function_scope.
408         (start_decl): Merge if/else if statements with same action.
409         (push_parm_decl): Rename old_immediate_size_expand to use
410         save_foo convention; save/restore around entire function.
411         (grokdeclarator): Remove unnecessary braces.
412
413 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
414             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
415
416         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
417         when warn_declaration_after_statement.  Call pedwarn_c90, not
418         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
419         * c-common.c (warn_declaration_after_statement): Define.
420         * c-common.h (warn_declaration_after_statement): Declare.
421         * c.opt (Wdeclaration-after-statement): New.
422         * c-errors.c (pedwarn_c90): New function.
423         * c-opts.c (c_common_handle_option) <case
424         OPT_Wdeclaration_after_statement>: New.
425         * c-tree.h (pedwarn_c90): Declare.
426         * doc/invoke.texi (Option Summary): Document
427         -Wdeclaration-after-statement.
428         (Warning Options): Ditto.
429
430 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
431
432         * i386.md (memory attribute) Avoid accessing uninitialized memory
433         for ishift1 type instructions.
434
435 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
436
437         * configure.in (--enable-checking): Add fold category.
438         (ENABLE_FOLD_CHECKING): Define if requested.
439         * configure: Rebuilt.
440         * config.in: Rebuilt.
441         * doc/install.texi: Document it.
442         * fold-const.c: Include md5.h.
443         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
444         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
445         print_fold_checksum): New functions.
446
447         * fold-const.c (fold): Never modify argument passed to fold, instead
448         change a copy and return it.
449         * convert.c (convert_to_integer): Likewise.
450
451 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
452
453         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
454         cleanup of junk after #else and #endif directives.  Collapse repeated
455         clauses into for statment.
456
457         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
458
459 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
460
461         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
462         (keep_next_if_subblocks): Rename next_is_function_body.
463         (pushlevel): Adjust commentary.  Always set ->keep on the
464         outermost level of a function.  Don't set ->keep_if_subblocks.
465         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
466         (store_parm_decls): Adjust to match.
467         (finish_function): Adjust to match.
468         Call poplevel with all three arguments zero.
469
470         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
471         New functions split out of store_parm_decls.
472         Avoid unnecessary work. Use local variables consistently.
473         (store_parm_decls): Likewise.
474
475         (finish_function): No need to set functionbody flag on call to
476         poplevel.
477         (struct language_function): Remove scope field.
478         (c_push_function_context, c_pop_function_context): No need to
479         save and restore current_scope.
480
481 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
482
483         * doc/extend.texi (Deprecated Features): Implicit typename is
484         gone. Default args on types is going.
485
486 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
487
488         * Makefile.in (ifcvt.o): Depend on target.h
489         * ifcvt.c (target.h): Include.
490         (if_convert): Don't call mark_loop_exit_edges if we can't
491         modify jumps.
492
493 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
494
495         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
496
497 2003-07-26  Richard Henderson  <rth@redhat.com>
498
499         PR inline-asm/11676
500         * cse.c (count_reg_usage): Handle asm_operands properly.
501
502 2003-07-26  Roger Sayle  <roger@eyesopen.com>
503
504         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
505         (DEF_EXT_FALLBACK_BUILTIN): Delete.
506         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
507         the regular DEF_EXT_LIB_BUILTIN macro.
508         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
509         the regular DEF_LIB_BUILTIN macro.
510         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
511         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
512         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
513         DEF_EXT_LIB_BUILTIN macro.
514
515         * c-decl.c (duplicate_decls): Remove code to handle builtin
516         functions prototyped without an argument list.
517
518 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
519
520         * config/i386/winnt.c: Revert 2003-07-08 change.
521         (i386_pe_section_type_flags): Remove error_with_decl here too.
522
523 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
524
525         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
526         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
527         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
528         (v850_handle_data_area_attribute): Likewise.
529
530 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
531
532         * varasm.c (output_constant_def_contents): Use
533         ASM_DECLARE_CONSTANT_NAME if defined.
534         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
535         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
536         objects get at least one byte to prevent assembler problems.
537         (ASM_DECLARE_CONSTANT_NAME): New.
538
539         * Makefile.in (libbackend.o): Remove options_.h.
540         (mostlyclean): Likewise.
541
542         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
543         insert a label at the end of an function under Mach-O.
544
545         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
546
547 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
548
549         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
550         equality.
551         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
552
553         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
554
555 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
556
557         * doc/passes.texi (Passes): Mention pretty-printing and
558         diagnostic files.
559
560 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
561
562         * doc/extend.texi (Function Attributes): GNU C++ does now allow
563         unused parameter decls.
564         (Attribute Syntax): GNU C++ does not allow label attributes to be
565         after the ':'.
566
567 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
568
569         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
570         (objc_declare_class): Likewise.
571         (error_with_ivar): Likewise.
572         (start_class): Likewise.
573         (warn_with_method): Likewise.
574
575 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
576
577         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
578         from GCC.
579         * calls.c (try_to_integrate): Don't use xxx_with_decl.
580         (expand_call): Likewise.
581         * dwarfout.c (output_reg_number): Likewise.
582         * expr.c (expand_expr): Likewise.
583         * function.c (assign_temp): Likewise.
584         (uninitialized_vars_warning): Likewise.
585         (setjmp_args_warning): Likewise.
586         (expand_function_end): Likewise.
587         * stmt.c (fixup_gotos): Likewise.
588         (warn_about_unused_variables): Likewise.
589         (expand_end_bindings): Likewise.
590         * stor-layout.c (layout_decl): Likewise.
591         (place_field): Likewise.
592         * toplev.c (check_global_declarations): Likewise.
593         (rest_of_handle_inlining): Likewise.
594         (default_tree_printer): New function.
595         (general_init): Initialize diagnostic machinery before routing
596         signals to the ICE machinery.  Set default tree printer.
597         * toplev.h (pedwarn_with_decl): Remove declaration.
598         (warning_with_decl): Likewise.
599         (error_with_decl): Likewise.
600         (pedwarn): Remove attribute for the time being.
601         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
602         * varasm.c (named_section): Likewise.
603         (make_decl_rtl): Likewise.
604         (assemble_variable): Likewise.
605         (merge_weak): Likewise.
606         (declare_weak): Likewise.
607
608         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
609         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
610         (format_with_decl): Remove.
611         (diagnostic_for_decl): Likewise.
612         (pedwarn_with_decl): Likewise.
613         (warning_with_decl): Likewise.
614         (error_with_decl): Likewise.
615         (diagnostic_initialize): Adjust.
616         (diagnostic_count_diagnostic): Likewise.
617         (announce_function): Likewise.
618         (lhd_print_error_function): Likewise.
619         (diagnostic_report_current_module): Likewise.
620         (default_diagnostic_starter): Likewise.
621         (diagnostic_report_diagnostic): Likewise.
622         (default_diagnostic_finalizer): Likewise.
623         (verbatim): Likewise.
624         (error): Likewise.
625         (warning): Likewise.
626         * opts.c (common_handle_option): Likewise.
627         * pretty-print.c: New file.
628         * c-pretty-print.h (pp_base): Override.
629         * c-pretty-print.c: Adjust use of macros throughout.
630         (pp_buffer): New macro.
631         (pp_newline): Likewise.
632         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
633         * Makefile.in (DIAGNOSTIC_H): New variable.
634         (c-errors.o): Use it.
635         (c-objc-common.o): Likewise.
636         (c-common.o): Likewise.
637         (c-opts.o): Likewise.
638         (c-format.o): Likewise.
639         (diagnostic.o): Likewise.
640         (opts.o): Likewise.
641         (toplev.o): Likewise.
642         (rtl-error.o): Likewise.
643         (dwarf2out.o): Likewise.
644         (jump.o): Likewise.
645         (pretty-print.o): New rule.
646
647 2003-07-24  Roger Sayle  <roger@eyesopen.com>
648
649         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
650         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
651         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
652         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
653         (DEF_FRONT_END_LIB_BUILTIN): Delete.
654         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
655         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
656
657         * builtins.c (build_string_literal): New function to construct
658         a char* pointer to a string literal.
659         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
660         "rtx target" to be consistent with other expand_builtin_* functions.
661         Change 3rd argument from "int unlocked" to "bool unlocked".
662         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
663         c-common.c to avoid front-end dependencies.  Optimize printf("")
664         as a no-op when the result isn't required.  Handle embedded NULs
665         in format string.
666         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
667         from c-common.c to avoid front-end dependencies.  Likewise, optimize
668         fprintf(fp,"") as a no-op when the result isn't required, evaluating
669         fp for side-effects.  Handle embedded NULs in format string.
670         (expand_builtin_sprintf): Fix typo.
671         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
672         optimizing.  Adjust calls of expand_builtin_fputs to match the API
673         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
674         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
675         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
676
677         * c-common.c (is_valid_printf_arglist): Delete.
678         (c_expand_builtin): Delete.
679         (c_expand_builtin_printf): Moved to builtins.c. Delete.
680         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
681         (c_expand_expr): No longer treat CALL_EXPRs specially.
682         (CALLED_AS_BUILT_IN): Delete.
683
684 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
685
686         PR optimization/11631
687         * gcse.c (store_motion): Connect infinite loops to exit.
688
689 2003-07-24  Jason Merrill  <jason@redhat.com>
690
691         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
692         (boolean_true_node, boolean_false_node): Likewise.
693         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
694         * tree.c (build_common_tree_nodes): Init boolean_type_node.
695         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
696         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
697         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
698         (truthvalue_true_node): Renamed from boolean_true_node.
699         (truthvalue_false_node): Renamed from boolean_false_node.
700         * c-decl.c: Just set truthvalue_* to integer_*.
701         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
702
703 2003-07-24  Roger Sayle  <roger@eyesopen.com>
704
705         * c-decl.c (match_builtin_function_types): New subroutine of
706         duplicate_decls to test whether a redeclaration of a builtin
707         function is suitably close, i.e. the return type and all of
708         the argument types have the same modes as the builtin expects.
709         (duplicate_decls): Fuzzy type matching for builtin functions
710         moved to match_builtin_function_types.
711
712 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
713
714         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
715         flag correctly.
716
717 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
718
719         * c-decl.c: Search-and-replace change 'binding level' to
720         'scope' in commentary.
721         (struct binding_level): Now struct c_scope.
722         (current_binding_level): Now current_scope.
723         (free_binding_level): Now scope_freelist.
724         (current_function_level): Now current_function_scope.
725         (global_binding_level): Now global_scope.
726         (make_binding_level): Now make_scope.
727         (pop_binding_level): Now pop_scope.
728
729 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
730
731         * configure.in (libgcc_visibility): Add missing whitespace.
732
733 2003-07-24  Richard Henderson  <rth@redhat.com>
734
735         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
736         __gcc_personality_v0.
737
738 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
739
740         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
741
742 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
743
744         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
745         documentation missed from my 2003-07-09 patch.
746
747 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
748
749         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
750         it's not provided.
751         * configure: Rebuild.
752
753 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
754
755         PR c/10602
756         * c-typeck.c (type_lists_compatible_p): Do not compare
757         arguments if one of them is an error_mark_node
758
759 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
760
761         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
762         if current_function_calls_eh_return.
763
764 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
765
766         * doc/c-tree.texi (OFFSET_TYPE): Update description.
767
768 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
769
770         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
771         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
772         __umodsi3, __modsi3): Increase frame size to 32.
773
774 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
775
776         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
777         prototype.
778
779 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
780
781         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
782
783         PR optimization/10679
784         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
785
786 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
787
788         PR target/11607 and PR target/11516
789         * pa.md (extzv, extv, insv): Revert latter half of last patch.
790
791 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
792
793         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
794         * varasam.c (output_constant): Likewise.
795
796 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
797
798         * alias.c: Fix comment formatting.
799         * c-common.c: Likewise.
800         * c-decl.c: Likewise.
801         * c-opts.c: Likewise.
802         * combine.c: Likewise.
803         * cpplib.c: Likewise.
804         * diagnostic.c: Likewise.
805         * dojump.c: Likewise.
806         * final.c: Likewise.
807         * fold-const.c: Likewise.
808         * gcc.c: Likewise.
809         * gcse.c: Likewise.
810         * ggc-page.c: Likewise.
811         * jump.c: Likewise.
812         * loop.c: Likewise.
813         * mips-tfile.c: Likewise.
814         * recog.c: Likewise.
815         * regclass.c: Likewise.
816         * regmove.c: Likewise.
817         * tree.c: Likewise.
818         * tree.h: Likewise.
819
820 2003-07-22  Per Bothner  <pbothner@apple.com>
821
822         * line-map.c (add_line_map):  Handle invalid LEAVE request.
823         Fixes PR preprocessor/11361.
824
825 2003-07-22  Per Bothner  <pbothner@apple.com>
826
827         * diagnostic.c.(diagnostic_report_current_module):  Update to match
828         2003-06-05 changes to push_srcloc and pop_srcloc.
829
830 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
831
832         * doc/trouble.texi: Better document two-stage name lookup.
833
834 2003-07-22  Eric Christopher <echristo@redhat.com>
835
836         * config/s390.c (s390_valid_pointer_mode): New.
837         (TARGET_VALID_POINTER_MODE): Use.
838         (s390_emit_prologue): Add tpf profiling hooks.
839         (s390_emit_epilogue): Ditto.
840         * config/s390.h (MASK_TPF): New.
841         (TARGET_TPF): Use.
842         (POINTERS_EXTEND_UNSIGNED): Define.
843         * config/s390.md (ptr_extend): New pattern.
844
845 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
846
847         * hashtable.c (approx_sqrt): Make static.
848         * hashtable.h: Don't prototype approx_sqrt.
849         * line-map.c (init_line_maps): Rename linemap_init.
850         (free_line_maps): Rename linemap_free.
851         (add_line_map): Rename linemap_add.
852         (lookup_line): Rename linemap_lookup.
853         (print_containing_files): Rename linemap_print_containing_files.
854         * linemap.h: Update to match.
855
856         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
857         linemap routines to use new names.
858
859 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
860
861         * c-common.c (handle_packed_attribute): Don't pack a struct via a
862         typedef. Propagate packedness from a main variant.
863
864 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
865
866         * Makefile.in (install-common): Add dependency on installdirs.
867
868 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
869
870         * c-common.c (c_common_type_for_mode): Return integer types for
871         pointer modes.
872
873 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
874
875         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
876         (finish_decl): Call maybe_apply_pragma_weak here.
877         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
878         TREE_PUBLIC and TREE_STATIC are decided.
879         (start_function): Move call to maybe_apply_pragma_weak.  Check that
880         DECL_ASSEMBLER_NAME isn't set too early.
881
882         * cpplex.c (_cpp_process_line_notes): Mention option name in
883         trigraphs warning.
884
885 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
886
887         * combine.c (if_then_else_cond): Simplify the comparison of
888         rtx against -1, 0, and 1.
889         * loop.c (check_dbra_loop): Likewise.
890         * optabs.c (emit_conditional_move): Likewise.
891         (emit_conditional_add): Likewise.
892         * config/i386/i386.md (*movsi_or): Likewise.
893         (*movdi_or_rex6): Likewise.
894
895 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
896
897         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
898
899 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
900
901         * cppfiles.c (open_file_pch): Don't put unused entries in the
902         splay tree.  Remove dead code.
903
904 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
905
906         * c-common.h (num_in_fnames): Declare.
907         (c_static_assembler_name): Move from here...
908         * c-tree.h (c_static_assembler_name): ... to here.
909         * c-opts.c: Don't include langhooks-def.h.
910         (c_static_assembler_name): Move to c-decl.c.
911         (num_in_fnames): Make externally visible.
912         * c-decl.c: Include langhooks-def.h.
913         (c_static_assembler_name): Move from c-opts.c.
914         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
915         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
916
917         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
918         when it's not needed.
919
920 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
921
922         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
923         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
924         (rs6000_emit_prologue): Save FPRs inline if set.
925
926 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
927
928         * config/ia64/ia64.md (prefetch): Support predicate.
929
930 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
931
932         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
933         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
934         table.
935
936 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
937
938         PR optimization/11536
939         * unroll.c (loop_iterations): Do not replace a register holding
940         the final value by its equivalent before the loop if it is not
941         invariant.
942
943 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
944
945         * doc/extend.texi: Fixes to spelling, grammar, and diction.
946
947 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
948
949         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
950         (V850 Options): Spelling fixes.
951
952 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
953
954         * doc/invoke.texi: Fixes to style, grammar and diction.
955
956 2003-07-20  Roger Sayle  <roger@eyesopen.com>
957
958         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
959         * system.h (SMALL_STACK): Poison obsolete target macro.
960         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
961
962 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
963
964         * configure.in:  Cache the results of testing for cmp's capabilities.
965         * configure:  Regenerate.
966
967 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
968
969         PR debug/11279
970         * dwarf2out.c (gen_enumeration_type_die): Remember that
971         enumerators can be unsigned.
972
973 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
974
975         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
976         (push_label_level, pop_label_level): Kill.
977         (struct binding_level): Rename level_chain to outer.
978         Add outer_function field.  Change parm_flag, function_body,
979         keep, keep_if_subblocks to 1-bit bitfields of type bool.
980         (current_function_level): New variable.
981         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
982         (keep_next_level, declare_parm_level, warn_if_shadowing):
983         Update to match.
984         (struct language_function): Kill named_labels, shadowed_labels fields.
985         (c_init_decl_processing, start_function, c_push__function_context)
986         (c_pop_function_context): No need to muck with named_labels nor
987         shadowed_labels.
988
989         (make_binding_level): No need to clear the structure here.
990         (pop_binding_level): Always operate on current_binding_level.
991         Update current_function_level if necessary.
992         (pushlevel): Don't clear named_labels.  Update current_function_level
993         if necessary.  Use "true" and "false" where appropriate.
994         (poplevel): Diagnose labels defined but not used, or vice
995         versa, and clear out label-meanings leaving scope, while
996         walking down the decls list, for all binding levels.
997         Handle LABEL_DECLs appearing in the shadowed list.
998         pop_binding_level takes no arguments.
999         (pushdecl_function_level): Use current_function_level.
1000
1001         (make_label, bind_label): New static functions.
1002         (declare_label): New exported function.
1003         (lookup_label, define_label): Rewritten for new data structure.
1004         (shadow_label): Kill.
1005
1006         * c-tree.h: Prototype declare_label; don't prototype
1007         push_label_level, pop_label_level, nor shadow_label.
1008         * c-parse.in: Remove all calls to push_label_level and
1009         pop_label_level.  Use declare_label for __label__ decls.
1010
1011         * doc/extend.texi: Clarify that __label__ can be used to
1012         declare labels with local scope in any nested block, not
1013         just statement expressions.  Cross-reference nested functions
1014         section from local labels section.
1015
1016 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1017
1018         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
1019
1020 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
1021
1022         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
1023
1024 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1025
1026         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
1027         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
1028
1029 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
1030
1031         * config/s390/s390.c (legitimize_pic_address): Access local symbols
1032         relative to the GOT instead of relative to the literal pool base.
1033         (s390_output_symbolic_const): Handle new GOT-relative accesses.
1034         * config/s390/s390.md ("call"): Access local functions and PLT stubs
1035         relative to the GOT instead of relative to the literal pool base.
1036         ("call_value"): Likewise.
1037         ("call_value_tls"): Likewise.
1038
1039         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
1040         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
1041         (s390_chunkify_finish): Likewise.
1042         (s390_chunkify_cancel): Likewise.
1043         (s390_reorg): Adapt caller.
1044         (find_base_register_in_addr,
1045         find_base_register_ref, replace_base_register_ref): Delete.
1046         (find_ltrel_base, replace_ltrel_base): New functions.
1047         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
1048         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
1049         base vs. index register usage.
1050         (struct constant_pool): Remove 'anchor'.
1051         (s390_add_anchor): Delete.
1052         (s390_dump_pool): Remove anchor handling.
1053         * config/s390/s390.md ("reload_anchor"): Remove.
1054
1055         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
1056         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
1057         (s390_emit_prologue): Use it.
1058         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
1059         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
1060         hard-code register 14.
1061         * config/s390/s390-protos.h (s390_load_got): Declare.
1062
1063         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
1064         Support TImode constants.
1065         * config/s390/s390.md ("consttable_ti"): New.
1066         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
1067
1068         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
1069         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
1070         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
1071         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
1072         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
1073         New symbolic constants.
1074         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1075         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
1076         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
1077         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
1078         symbolic UNSPEC values.
1079         * config/s390/s390.c (larl_operand, s390_short_displacement,
1080         bras_sym_operand, s390_cannot_force_const_mem,
1081         s390_delegitimize_address, s390_decompose_address,
1082         legitimize_pic_address, s390_output_symbolic_const,
1083         s390_function_profiler): Use symbolic UNSPEC values.
1084
1085 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1086
1087         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
1088         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
1089         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
1090         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
1091         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
1092         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
1093         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
1094         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
1095         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
1096         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
1097         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
1098         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
1099         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
1100         postreload.c prefix.c print-tree.c protoize.c ra-build.c
1101         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
1102         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
1103         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
1104         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
1105         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
1106         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
1107         casts.
1108
1109 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1110
1111         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
1112         * toplev.h (warning): Remove attribute.
1113
1114 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1115
1116         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
1117         (pop_label_level): Likewise.
1118         (duplicate_decls): Likewise.
1119         (implicitly_declare): Likewise.
1120         (shadow_label): Likewise.
1121         (start_decl): Likewise.
1122         (finish_decl): Likewise.
1123         (grokdeclarator): Likewise.
1124         (get_parm_info): Likewise.
1125         (detect_field_duplicates): Likewise.
1126         (finish_struct): Likewise.
1127         (start_function): Likewise.
1128         (store_parm_decls): Likewise.
1129         (finish_function): Likewise.
1130         (c_expand_body_1): Likewise.
1131         (check_for_loop_decls): Likewise.
1132         (merge_translation_unit_decls): Likewise.
1133
1134 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
1135
1136         * common.opt:  Document --param.
1137         * opts.c (columns, undocumented_msg): New.
1138         (print_help): Get number of columns from environment.  Print
1139         --param help.  Tweak newline handling.
1140         (print_param_help): New.
1141         (print_filtered_help): Better handling of duplicates.  Complain
1142         about undocumented switches.
1143         (print_switch): New.
1144         (wrap_help): Improve wrapping, use COLUMNS.
1145         * opts.sh: Ignore comments in records.
1146         * params.def: Fix typos and remove trailing periods.
1147         * toplev.c (display_help): Don't dump --param help.
1148         * doc/sourcebuild.texi: Update.
1149
1150 2003-07-18  Richard Henderson  <rth@redhat.com>
1151
1152         PR target/11556
1153         * optabs.c (prepare_operand): Fail gracefully instead of abort
1154         if the predicate doesn't satisfy.
1155         (gen_cond_trap): Allow prepare_operand to fail.
1156
1157 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1158
1159         * c-common.c: Don't undefine GCC_DIAG_STYLE.
1160         (fname_decl): Don't use xxx_with_decl.
1161         (c_add_case_label): Likewise.
1162         (handle_section_attribute): Likewise.
1163         (handle_alias_attribute): Likewise.
1164         (handle_no_instrument_function_attribute): Likewise.
1165         (handle_no_limit_stack_attribute): Likewise.
1166         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
1167         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
1168
1169 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1170
1171         * Makefile.in (ifcvt.o): Add cfgloop.h.
1172         * basic-block.h (EDGE_LOOP_EXIT): New flag.
1173         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
1174         * ifcvt.c: Include cfgloop.h.
1175         (mark_loop_exit_edges): New static function.
1176         (if_convert): Call it.
1177         (find_if_header): Ignore branches out of loops.
1178
1179 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
1180
1181         * combine.c (simplify_comparison): Don't share rtx when converting
1182         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
1183
1184 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
1185
1186         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
1187         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
1188         (MUST_PASS_IN_STACK): Define.
1189         (BLOCK_REG_PADDING): Define.
1190
1191 2003-07-18  Richard Henderson  <rth@redhat.com>
1192
1193         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
1194         to skip the addr_vec.
1195
1196 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
1197
1198         * combine.c (combinable_i3pat): Don't forbid occurrences of
1199         i2dest or i1dest in inner_dest if inner_dest is a mem.
1200
1201 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
1202
1203         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
1204
1205 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
1206
1207         PR target/11087
1208         * loop.c (basic_induction_var): Check if convert_modes emitted any
1209         instructions. Remove them and return 0 if so.
1210
1211 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1212
1213         PR optimization/11083
1214         * toplev.c (rest_of_handle_addresof): Rename into
1215         rest_of_handle_addressof.  Delete unreachable blocks
1216         if dead edges were purged after the addressof pass.
1217
1218 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
1219
1220         * Makefile.in, configure, configure.in: Remove handling of
1221         lang-options.h and options_.h.
1222         * toplev.c (struct lang_opt, documented_lang_options): Remove.
1223         (display_help): Don't use documented_lang_options.
1224
1225 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
1226
1227         * c-decl.c (pushdecl_function_level): Make static, return nothing.
1228         (kept_level_p): Fold into poplevel.
1229         (undeclared_variable): Moved here from c-typeck.c.  Export.
1230         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
1231         (undeclared_variable): Prototype here.  Don't prototype
1232         kept_level_p nor pushdecl_function_level.
1233         * c-parse.in: Change first argument to poplevel from
1234         "kept_level_p()" to "KEEP_MAYBE".
1235         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
1236
1237 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1238
1239         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
1240         commutative operands instead of modifying the RTL in-place.
1241
1242 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
1243
1244         PR optimization/11557
1245         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
1246         unless we know which function is being called.
1247
1248 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1249
1250         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
1251         whether to reorder the operands of a commutative binary operator.
1252
1253 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1254
1255         * fold-const.c (const_binop): Avoid performing the FP operation at
1256         compile-time, if either operand is NaN and we honor signaling NaNs,
1257         or if we're dividing by zero and either flag_trapping_math is set
1258         or the desired mode doesn't support infinities.
1259         (fold_initializer): New function to fold an expression ignoring any
1260         potential run-time exceptions or traps.
1261         * tree.h (fold_initializer): Prototype here.
1262         * c-typeck.c (build_binary_op): Move to the end of the file so
1263         that intializer_stack is in scope.  If constructing an initializer,
1264         i.e. when initializer_stack is not NULL, use fold_initializer to
1265         fold expressions.
1266         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
1267         performing FP operations at compile-time, if they would raise an
1268         exception at run-time.
1269
1270 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
1271
1272         PR 11498
1273         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
1274         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
1275         (GTFILES): Add langhooks.c.
1276         (gt-langhooks.h): New.
1277         * c-common.h (c_static_assembler_name): Prototype.
1278         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1279         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1280         * c-opts.c: Include langhooks-def.h.
1281         (c_static_assembler_name): New.
1282         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
1283         (var_labelno): New.
1284         (lhd_set_decl_assembler_name): Give static objects with context
1285         unique names.
1286         * varasm.c (var_labelno): Delete.
1287         (make_decl_rtl): Don't change the assembler name once it's set.
1288
1289         * c-opts.c (this_input_filename): New.
1290         (finish_options): Take new parameter, name of file being compiled.
1291         Update callers.  Set this_input_filename.
1292         (push_command_line_include): Use this_input_filename not
1293         main_input_filename.
1294
1295 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
1296
1297         * Makefile.in: Depend .pot generation on options.c.
1298         * po/exgettext: Add an extra_files variable containing additional
1299         files to scan.
1300
1301 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
1302
1303         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
1304         c_write_global_declarations.
1305
1306         * c-decl.c: Fix typos in several comments.  Remove all
1307         #if 0 blocks; reindent as needed.  Remove unused argument
1308         to declare_parm_level; all callers changed.
1309         * c-parse.in: Update calls to declare_parm_level.  Avoid
1310         issuing a double warning in some circumstances.
1311         * c-typeck.c: Update calls to declare_parm_level.
1312         * c-tree.h: Update prototype of declare_parm_level.
1313
1314         * c-pragma.c (apply_pragma_weak): Don't complain about a
1315         redundant #pragma weak.
1316
1317         * objc/objc-act.c (forward_declare_categories,
1318         build_selector_reference_decl, build_class_reference_decl,
1319         build_objc_string_decl, synth_forward_declarations,
1320         build_protocol_reference): Set TREE_PUBLIC on synthetic
1321         forward decl to 0, consistent with eventual definition.
1322         Correct comments to match.
1323
1324         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
1325         in regexp that don't form a range expression.
1326         * fixinc/fixincl.def: Regenerate.
1327
1328 2003-07-17  Richard Henderson  <rth@redhat.com>
1329
1330         PR target/10907
1331         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
1332         even with !TARGET_CONST_GP.
1333         (ia64_function_ok_for_sibcall): Reject non-local functions.
1334
1335 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
1336
1337         * c-common.c (c_estimate_num_insns_1): Don't handle
1338         METHOD_CALL_EXPR.
1339         * expr.c (safe_from_p): Likewise.
1340         * gengtype.c (adjust_field_tree_exp): Likewise.
1341         * stmt.c (warn_if_unused_value): Likewise
1342         * tree.c (first_rtl_op): Likewise.
1343         * tree.def: Don't define METHOD_CALL_EXPR.
1344         * java/lang.c (java_estimate_num_insns_1): Don't handle
1345         METHOD_CALL_EXPR.
1346
1347 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1348
1349         PR other/11466
1350         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
1351         and its restrictions for the SPARC64 port.
1352         Move the entry of "-mimpure-text" before that of "-mv8".
1353
1354 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
1355             Phil Edwards <phil@jaj.com>
1356
1357         * doc/install.texi (*-*-solaris2*): Document the step-by-step
1358         procedure to bootstrap and install.
1359         Document the preference for the legacy Sun tools in /usr/bin
1360         over the POSIX tools in /usr/xpg4/bin for the build process.
1361
1362 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
1363
1364         * c.opt: Document Uncodumented; use it.  Document ObjC options.
1365         * opts.c (print_filtered_help): Skip undocumented switches.
1366         * opts.h (CL_UNDOCUMENTED): New.
1367         * opts.sh: Handle Undocumented.
1368         * toplev.c (documented_lang_options): Prevent its becoming empty.
1369 objc:
1370         * lang-options.h: Remove.
1371
1372 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
1373
1374         * loop.c (check_ext_dependent_givs): Pass const struct loop *
1375         instead of struct loop_info * as argument.  Accept BIVs with
1376         increment +/- 1 provided there is a friendly exit test against
1377         a loop-invariant value.
1378         (strength_reduce): Adapt call to check_ext_dependent_givs.
1379
1380 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
1381             Con Bradley <con.bradley@superh.com>
1382
1383         * sh-protos.h (sh_get_pr_initial_val): Declare.
1384         * sh.c (regno_reg_class): Make its elements type enum reg_class.
1385         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
1386         and live_regs_mask arguments.  Changed all callers.
1387         (save_schedule_s): New structure.
1388         (save_schedule): New typedef.
1389         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
1390         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
1391         In interrupts handlers, also save registers that are usually
1392         partially saved, and make sure there is at least one general purpose
1393         register saved if a target register needs saving.
1394         Add casts in comparisons to avoid warnings.
1395         (sh_media_register_for_return): return -1 for interrupt handlers.
1396         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
1397         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
1398         registers used are available.
1399         Set RTX_FRAME_RELATED_P where appropriate.
1400         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
1401         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
1402         (initial_elimination_offset): Likewise.
1403         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
1404         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
1405         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
1406         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
1407         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
1408         and for target registers.
1409         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
1410         (regno_reg_class): Make its elements type enum reg_class.
1411         (CONSTRAINT_LEN): Don't use isdigit.
1412         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
1413         (FUNCTION_ARG): Add parentheses to avoid warnings.
1414         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
1415         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
1416         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
1417         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
1418         * sh.md (xordi3+1): Remove unused variable regno.
1419         (return_media): Check that tr0 is available before using it.
1420
1421 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
1422
1423         * c.opt: Document more options.
1424
1425 2003-07-16  Roger Sayle  <roger@eyesopen.com>
1426
1427         * combine.c (subst): Also handle (subreg (const_double ...)) case
1428         if created by a substitution, by using the original inner mode.
1429
1430 2003-07-16  Roger Sayle  <roger@eyesopen.com>
1431
1432         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
1433         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
1434         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
1435
1436 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
1437
1438         * doc/install.texi (--without-headers): New.
1439
1440         Partial Fix PR/10129
1441         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
1442         (machopic_output_function_base_name): New; print the true pic label.
1443         (machopic_classify_ident): Pic Base is always a defined data.
1444         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
1445         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
1446
1447         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
1448         if they are not floating point registers.
1449
1450         PR c/10962
1451         * ggc.h: Add header guards.
1452         * c-decl.c (finish_struct): Sort fields if
1453         number greater than 15 and there are no
1454         anonymous structs/unions.
1455         * c-common.h: Include ggc.h.
1456         (sorted_fields_type): New struct.
1457         (field_decl_cmp): New prototype.
1458         (resort_sorted_fields): New prototype.
1459         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
1460         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
1461         as s, removing other fields.
1462         * c-typeck.c (lookup_field): Use s in lang_type.
1463         These were mostly moved from cp/class.c:
1464         * c-common.c (field_decl_cmp): New static function.
1465         (field_decl_cmp): New function.
1466         (resort_sorted_fields): New function.
1467
1468 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
1469
1470         * config/darwin.c (machopic_select_section): Use decl_readonly_section
1471         to do most of the work.
1472
1473 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
1474
1475         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
1476         * config/mmix/mmix.c: Convert functions to ISO C90.
1477         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
1478         formatting.
1479         (mmix_get_hard_reg_initial_val): Tweak section head comment.
1480
1481 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
1482
1483         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
1484
1485 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
1486
1487         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
1488         (uw_update_context_1): Use it.
1489         * config/rs6000/rs6000.c (insn_after_throw): Remove.
1490         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
1491         in parent frame if _Unwind_* called directly instead of through
1492         .plt.
1493         (rs6000_emit_eh_toc_restore): Remove.
1494         (rs6000_emit_prologue): Update stack pointer before doing any saving
1495         if current_function_calls_eh_return.  Generate unwind info for $r2.
1496         (rs6000_emit_epilogue): Restore stack pointer after doing all
1497         restoring if current_function_calls_eh_return.  Restore $r2.
1498         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
1499         * config/rs6000/rs6000.md (eh_return): Remove call to
1500         rs6000_emit_eh_toc_restore.
1501         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
1502         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
1503
1504 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
1505
1506         * expr.c (emit_block_move): Don't move anything if size is const 0.
1507         (clear_storage): Test against const0_rtx instead of comparing INTVAL
1508         against 0.
1509
1510 2003-07-15  David S. Miller  <davem@redhat.com>
1511
1512         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
1513         emit nop if the last real insn is CALL_INSN.
1514
1515 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
1516
1517         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
1518         as "nul".
1519         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
1520
1521 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
1522
1523         * config/i386/winnt.c (associated_type): Artificial methods are not
1524         affected by the import/export status of their class unless they are
1525         COMDAT.
1526         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
1527
1528         * config/i386/winnt.c: Fix GCC copyright comment.
1529
1530 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
1531
1532         PR c++/11531
1533         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
1534         not recursing on hard error.
1535         (diagnostic_for_decl): Likewise.
1536         * diagnostic.def: Rearrange.
1537
1538 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
1539
1540         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
1541         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
1542
1543 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
1544             Richard Henderson  <rth@redhat.com>
1545
1546         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
1547         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
1548         (_Unwind_SetGR): Likewise.
1549         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
1550         (Unwind_SpTmp): New typedef.
1551         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
1552         (uw_update_context): Use _Unwind_GetPtr.
1553         (init_dwarf_reg_size_table): Move above uw_init_context_1.
1554         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
1555         Use _Unwind_SetSpColumn.
1556         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
1557         Use _Unwind_GetPtr.
1558
1559 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
1560
1561         * c.opt: Document more options.
1562         * toplev.c (documented_lang_options): Remove all local help strings.
1563
1564 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
1565
1566         PR debug/11473
1567         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
1568         base classes.
1569
1570 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
1571
1572         PR target/10795
1573         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
1574         swap comparison operands if doing so would generate an
1575         unrecognizable insn.
1576
1577 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1578
1579         PR optimization/11320
1580         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
1581         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
1582         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
1583         current_sched_info->compute_jump_reg_dependencies. Record which
1584         registers are used and which registers are set by the jump.
1585         Clear deps->reg_conditional_sets after a barrier.
1586         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
1587         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
1588         (init_deps): Initialize reg_conditional_sets.
1589         (free_deps): Clear reg_conditional_sets.
1590         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
1591         Mark registers live on entry of the fallthrough block and conditionally
1592         set as set by the jump. Mark registers live on entry of non-fallthrough
1593         blocks as used by the jump.
1594         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
1595         Mark new parameters as unused.
1596
1597 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1598
1599         * doc/invoke.texi: Resync MIPS -march documentation.
1600
1601 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1602
1603         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
1604         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
1605         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
1606         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
1607         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
1608         (mips_issue_rate): Handle PROCESSOR_R9000.
1609         (mips_use_dfa_pipeline_interface): Likewise.
1610         * config/mips/9000.md: New file.
1611         * config/mips/mips.md: Include it.
1612         (define_attr cpu): Add r9000.
1613         (mulsi3_mult3): Use "mul" for rm9000 code.
1614
1615 2003-07-15  Stan Cox  <scox@redhat.com>
1616
1617         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
1618         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
1619         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
1620         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
1621         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
1622         (mips_issue_rate): Handle PROCESSOR_R7000.
1623         (mips_use_dfa_pipeline_interface): Likewise.
1624         * config/mips/7000.md: New file.
1625         * config/mips/mips.md: Include it.
1626         (define_attr cpu): Add r7000.
1627         (mulsi3_mult3): Use "mul" for rm7000 code.
1628
1629 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
1630
1631         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
1632         the conditional move patterns.
1633         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
1634         Check for condmove type.
1635         (ir_vr54_arith): Add move type.
1636         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
1637         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
1638
1639 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
1640
1641         * c-opts.c (print_help): Remove.
1642         (c_common_handle_option): Don't handle --help.
1643         * c.opt: Document some options.
1644         (--help): Remove.
1645         * opts.c (print_filtered_help): New.
1646         (print_help): Use it.
1647
1648 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
1649
1650         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
1651         * tree.c: (build_common_tree_nodes_2): Likewise.
1652         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
1653         (V4DF_type_node): New.
1654
1655         * c-opts.c (push_command_line_include): Don't free deferred_opts,
1656         we'll need it.
1657         (finish_options): Reset init_cursor.
1658
1659 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
1660
1661         * expr.c (expand_assignment): Remove an unused argument
1662         SUGGEST_REG.
1663         * expr.h: Update the prototype.
1664         * function.c: Update the callers.
1665         * stmt.c: Likewise.
1666
1667 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
1668
1669         PR debug/11098
1670         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
1671         as DECL_ABSTRACT.
1672
1673 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
1674
1675         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
1676         with __cplusplus, not "we must use the C++ compiler's type"
1677         * fixinc/inclhack.def (void_null): Note that Interix needs this.
1678         * fixinc/fixincl.x: Regenerate.
1679
1680 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
1681
1682         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
1683         and unseen_objects from the global data before calling
1684         __deregister_frame_info_bases.
1685         (examine_objects): Insert objects into the seen_objects list,
1686         not unseen_objects.
1687         (_Unwind_Find_FDE): Always unlock the global object lists, even if
1688         we couldn't allocate a data structure to put in it.
1689
1690         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
1691         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
1692         (SET_TYPE_PROTOCOL_LIST): New.
1693         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
1694         (get_object_reference): Likewise.
1695
1696 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
1697
1698         * cfglayout.c (locator_file): Break out from ....
1699         (insn_file): ... here.
1700         (locator_line): Break out from ....
1701         (insn_line): ... here.
1702         * rtl.h (locator_file, locator_line): Declare.
1703         (final_start_function): Set proper line/file info.
1704
1705 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1706
1707         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
1708         handled by pp_c_cast_expression.
1709
1710 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
1711
1712         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
1713         allocate 32768 bytes of stack.  Use addition rather than subtraction
1714         when a single insn is enough.
1715         * config/mips/mips.md: Remove insns and splitters for subtracting
1716         constants.
1717         (subsi3): Only accept register operands.
1718         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
1719         (subdi3_internal_3, subsi3_internal_2): Likewise.
1720         (casesi): Use expand_binop to subtract the lower bound.
1721
1722 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
1723
1724         * config/mips/mips.c (mips_in_small_data_p): Don't handle
1725         TARGET_MIPS16 specially.
1726
1727 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
1728
1729         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
1730         mips_output_aligned_bss.
1731         * config/mips/linux.h: Likewise.
1732         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
1733         * config/mips/mips.c (mips_output_aligned_bss): New function.
1734
1735         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
1736         * config/mips/elf64.h: Likewise.
1737
1738         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
1739         mips_declare_object_name.
1740         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
1741         * config/mips/elf64.h: As for elf.h.
1742         * config/mips/iris6.h: Likewise.
1743         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
1744         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
1745         do...while (0) block.
1746         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
1747         (mips_finish_declare_object): Declare.
1748         * config/mips/mips.c (mips_declare_object_name): New function.
1749         (mips_finish_declare_object): New function.
1750
1751         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
1752         * config/mips/linux.h: Likewise.
1753
1754         * config/mips/mips.c (inside_function): Delete.
1755         (file_in_function_warning, ignore_line_number): Delete.
1756         (mips_output_filename): Don't warn about changing filenames within
1757         a function.
1758         (mips_output_lineno): Update accordingly.
1759         (mips_output_function_prologue): Don't reset the deleted variables.
1760         * config/mips/mips.h (inside_function): Delete.
1761         (file_in_function_warning, ignore_line_number): Delete.
1762
1763         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
1764         * config/mips/elf64.h: Likewise.
1765         * config/mips/openbsd.h: Likewise.
1766         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
1767         * config/mips/linux.h: Likewise.
1768         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
1769         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
1770
1771         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
1772         to the list of include files when using gas.
1773         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
1774         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
1775         * config/mips/elf64.h: Likewise.
1776         * config/mips/iris5.h: Likewise.
1777         * config/mips/linux.h: Likewise.
1778         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
1779         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
1780         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
1781         * config/mips/sdb.h: ...this new file.
1782
1783 2003-07-14  Douglas Rupp  <rupp@gnat.com>
1784
1785         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
1786         argument to getcwd; use fixed buffer instead.
1787
1788 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
1789
1790         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
1791         * fixinc/fixinc.wrap: Delete.
1792
1793 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
1794
1795         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
1796         don't have 2.
1797
1798 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
1799
1800         * ggc-page.c (struct globals): Add new fields to keep track of the
1801         total allocated memory and overhead.
1802         (ggc_print_statistics): Print them.
1803         (ggc_alloc): Keep track of the total allocated memory and the
1804         overhead.
1805
1806         * tree.c (dump_tree_statistics): Increase spacing.
1807         (enum tree_node_kind): Move to ...
1808         * tree.h (enum tree_node_kind): ... here.
1809         (tree_node_counts, tree_node_sizes): Declare.
1810
1811 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
1812
1813         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
1814
1815 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1816
1817         PR optimization/11440
1818         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
1819         SIGN_EXTRACT SETs.
1820
1821 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
1822
1823         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
1824         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
1825         (emit_group_load, emit_group_store): Adjust declarations.
1826         Remove most occurrences of #ifdef TREE_CODE.
1827         * expr.c (emit_group_load): Add "type" param, and use
1828         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
1829         aligned accesses if !SLOW_UNALIGNED_ACCESS.
1830         (emit_group_store): Likewise.
1831         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
1832         emit_group_load and emit_group_store calls.
1833         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
1834         BLOCK_REG_PADDING to determine whether we need endian_correction.
1835         (load_register_parameters): Localize vars.  Handle shifting of
1836         small values to the correct end of regs.  Adjust emit_group_load
1837         call.
1838         (expand_call, emit_library_call_value_1): Adjust emit_group_load
1839         and emit_group_store calls.
1840         * function.c (assign_parms): Set mem alignment for stack slots.
1841         Adjust emit_group_store call.  Store values at the "wrong" end
1842         of regs to the stack.  Use BLOCK_REG_PADDING.
1843         (locate_and_pad_parm): Save where_pad.
1844         (expand_function_end): Adjust emit_group_load call.
1845         * stmt.c (expand_value_return): Adjust emit_group_load call.
1846         * Makefile.in (calls.o): Depend on $(OPTABS_H).
1847         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
1848         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
1849         (MUST_PASS_IN_STACK): Define.
1850         (BLOCK_REG_PADDING): Define.
1851         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
1852         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
1853         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
1854         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
1855         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
1856
1857 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
1858
1859         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
1860
1861 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1862
1863         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
1864         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
1865
1866 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
1867
1868         PR other/11123
1869         * toplev.c: Don't cut off option names.
1870
1871 2003-07-13  Andreas Jaeger  <aj@suse.de>
1872
1873         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
1874         to integer of different size.
1875
1876 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
1877
1878         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
1879         to (eq (and X 1) 0).
1880
1881 2003-07-13  Andreas Jaeger  <aj@suse.de>
1882
1883         * config.gcc: Add pmmintrin.h for x86_64-*-*.
1884
1885 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
1886
1887         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
1888         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
1889         list.  Move these all together down by cpplib.
1890
1891         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
1892         definition of CPPCHAR_SIGNED_T.
1893
1894         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
1895         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
1896         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
1897
1898         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
1899         * cppinit.c (cpp_create_reader): Likewise.
1900
1901         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
1902         * cpptrad.c: Likewise.  All callers changed.
1903         * cpplib.c: All callers changed.
1904         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
1905         * hashtable.h: Define GTY(x) to nothing here too.
1906
1907 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1908
1909         * stor-layout.c (compute_record_mode): Remove very obsolete test
1910         that forces BLKmode for records with fields crossing word boundary.
1911
1912 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
1913
1914         * Makefile.in: Remove orphan reference to acconfig.h.
1915
1916 2003-07-13  Andreas Jaeger  <aj@suse.de>
1917
1918         * cgraphunit.c: Convert prototypes to ISO C90.
1919
1920 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
1921
1922         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
1923         (for OpenBSD).
1924         * fixinc/fixincl.x: Rebuild.
1925
1926 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
1927
1928         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
1929         i?86-*-*.  Use correct name of cache variable.
1930         * configure: Regenerate.
1931
1932 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
1933
1934         * config/alpha/alpha.c: Fix comment typos.
1935         * config/alpha/alpha.md: Likewise.
1936         * config/arm/arm.c: Likewise.
1937         * config/arm/arm.md: Likewise.
1938         * config/arm/lib1funcs.asm: Likewise.
1939         * config/avr/avr.md: Likewise.
1940         * config/arm/README-interworking: Fix typos.
1941
1942 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
1943
1944         * c-format.c: Fix comment formatting.
1945         * c-typeck.c: Likewise.
1946         * coverage.c: Likewise.
1947         * cppcharset.c: Likewise.
1948         * cpplib.c: Likewise.
1949         * dbxout.c: Likewise.
1950         * gcov-io.h: Likewise.
1951         * toplev.c: Likewise.
1952
1953 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1954
1955         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
1956         fix.
1957
1958 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
1959
1960         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
1961         uses three-argument AC_DEFINE so no acconfig.h entries are
1962         needed.
1963         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
1964         which contains the GAS version number as a scaled integer.
1965         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
1966         ability to check for ELF assembler.
1967         (gcc_GAS_CHECK_FEATURE): New macro.
1968         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
1969         assembler feature checks using gcc_GAS_CHECK_FEATURE.
1970         Use three-argument AC_DEFINE everywhere.
1971         * acconfig.h: Deleted.
1972         * config.in, configure: Regenerate.
1973
1974 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1975
1976         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
1977         (on OpenBSD).
1978         * fixinc/fixincl.x: Regenerate.
1979
1980         * fixinc/inclhack.def (gnu_types): Improve comment.
1981
1982 2003-07-12  Andreas Jaeger  <aj@suse.de>
1983
1984         * fp-test.c (main): Use ISO C90 prototype.
1985
1986         * version.c: Remove unneded include of ansidecl.h.
1987
1988         * cgraph.h: Convert prototypes to ISO C90.
1989         * cgraph.c: Likewise.
1990         * fix-header.c: Likewise.
1991         * ra.h: Likewise.
1992         * protoize.c: Likewise.
1993
1994 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
1995
1996         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
1997         warning.
1998
1999 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
2000                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2001
2002         * cgraph.c (cgraph_max_uid): New global variable.
2003         (cgraph_node): Set uid field.
2004         (create_edge): Keep inline flags consistent.
2005         (dump_cgraph): Dump more info.
2006         * cgraph.h (struct cgraph_local_info): Remove inline_many and
2007         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
2008         (struct cgraph_global_info): Add insns, calls, cloned_times,
2009         will_be_output.
2010         (struct cgraph_node): Add uid.
2011         (struct cgraph_edge): Add inline_call.
2012         (cgraph_max_uid, cgraph_inline_p): Declare.
2013         * cgraph.c: Include params.h and fibheap.h
2014         (cgraph_mark_functions_to_inline_once): Kill.
2015         (INSNS_PER_CALL): New constant.
2016         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
2017         static variables.
2018         (cgraph_finalize_function): Do not analyze inlining.
2019         (cgraph_finalize_compilation_unit): Set inlining attributes.
2020         (cgraph_mark_functions_to_output): More consistency checks.
2021         (cgraph_optimize_function): Set current_function_decl to NULL.
2022         (cgraph_expand_function): Use new inline flags.
2023         (cgraph_postorder): Expand from cgraph_expand_functions.
2024         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
2025         (cgraph_inlined_into, cgraph_inlined_callees,
2026         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
2027         cgraph_mark_inline, cgraph_check_inline_limits,
2028         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
2029         cgraph_decide_inlining, cgraph_inline_p): New functions.
2030         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
2031         PARAM_INLINE_UNIT_GROWTH): New parameters.
2032         * tree-inline.c (struct inline_data): New field current_decl.
2033         (expand_call_inline): Avoid forward declarations; use
2034         inlinable_function_p.
2035         (optimize_inline_calls): Set id.current_decl.
2036
2037 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
2038
2039         * configure.in: Remove wrongly added definition of
2040         local_prefix.
2041         * configure: Regenerate.
2042
2043 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
2044
2045         * rtl.def (NOTE): Do not use padding.
2046
2047 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
2048
2049         * doc/install.tex: Update required binutils for i?86-*-linux*
2050
2051 2003-07-11  Richard Henderson  <rth@redhat.com>
2052
2053         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
2054
2055 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
2056
2057         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
2058         TRANSLATION_UNIT_DECL as top_level.
2059
2060 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
2061
2062         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
2063         then fall back to cmpstrM.
2064         * builtins.c (expand_builtin_memcmp): Likewise.
2065         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
2066         (s390_expand_cmpmem): ... this.
2067         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
2068         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
2069         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
2070         to s390_expand_cmpmem.
2071         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
2072         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
2073         to cmpmem*.
2074         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
2075         cmpstr* patterns.
2076         * doc/md.texi (cmpstrM): Describe as String compare insn, not
2077         Block compare insn.
2078         (cmpmemM): Add.
2079
2080 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
2081
2082         * config/i386/freebsd.h (SET_ASM_OP): Remove.
2083         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
2084         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
2085          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
2086
2087 2003-07-11  Richard Henderson  <rth@redhat.com>
2088
2089         * function.c (assign_parms): Don't recombine complex args if
2090         fnargs is unchanged from orig_fnargs.
2091         (split_complex_args): Return args without complex before copying.
2092         Re-layout the modified parameters.
2093
2094 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
2095
2096         * regclass.c (choose_hard_reg_mode): Add third argument.
2097         Changed all callers.
2098         * rtl.h (choose_hard_reg_mode): Update declaration.
2099         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2100         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
2101
2102 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
2103
2104         * c-decl.c (finish_decl): Handle 'used' here...
2105         * cgraphunit.c (cgraph_finalize_function): ... and here ...
2106         * c-common.c: (handle_used_attribute): ... not here.
2107
2108         * configure.in (onstep): Support --enable-intermodule.
2109         * Makefile.in (OBJS-common): New.
2110         (OBJS-md): New.
2111         (OBJS-archive): New.
2112         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
2113         (OBJS-onestep): New.
2114         (libbackend.a): Support @onestep@.
2115         (libbackend.o): New.
2116         * configure: Regenerate.
2117
2118         * c-common.h (c_reset_state): New prototype.
2119         (c_parse_file): New prototype.
2120         (finish_file): Move prototype from c-tree.h.
2121         * c-decl.c: Include <hashtab.h>.
2122         (builtin_decls): New.
2123         (current_file_decl): New.
2124         (duplicate_decls): Add extra parameter. Change all callers.  Don't
2125         output duplicate common symbols.
2126         (link_hash_hash): New.
2127         (link_hash_eq): New.
2128         (poplevel): Handle popping of the top level.
2129         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
2130         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
2131         (pushdecl_top_level): Likewise.
2132         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
2133         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
2134         (finish_decl): Handle TRANSLATION_UNIT_DECL.
2135         (merge_translation_unit_decls): New.
2136         (c_write_global_declarations): New.
2137         (c_reset_state): New.
2138         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
2139         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
2140         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
2141         TRANSLATION_UNIT_DECL.
2142         (c_objc_common_finish_file): Call merge_translation_unit_decls.
2143         * c-opts.c (in_fnames): Rename from in_fname.
2144         (c_common_decode_option): Handle multiple input filenames.
2145         (c_common_post_options): Likewise.
2146         (c_common_parse_file): Likewise; also, call c_parse_file rather than
2147         yyparse.
2148         * c-parse.in: Move cleanup code to c_parse_file.
2149         (free_parser_stacks): Move contents to c_parse_file.
2150         (c_parse_file): New.
2151         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
2152         for integer types.
2153         (C_DECL_FILE_SCOPE): New.
2154         (finish_file): Move prototype to c-common.h.
2155         (merge_translation_unit_decls): New prototype.
2156         (comptypes): Add extra parameter to prototype.
2157         (c_write_global_declarations): New prototype.
2158         * c-typeck.c (tagged_types_tu_compatible_p): New.
2159         (function_types_compatible_p): Add extra parameter, change all callers.
2160         (type_lists_compatible_p): Likewise.
2161         (comptypes): Likewise.
2162         (struct tagged_tu_seen): New.
2163         (tagged_tu_seen_base): New.
2164         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
2165         (c_mark_addressable): Remove #if 0 code.
2166         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
2167         comment explaining why it shouldn't have to.
2168         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
2169         options.
2170         * cppinit.c (cpp_read_next_file): New.
2171         (cpp_read_main_file): Use it.
2172         * cpplib.c (undefine_macros): New.
2173         (cpp_undef_all): New.
2174         * cpplib.h (cpp_read_next_file): Prototype.
2175         (cpp_undef_all): Prototype.
2176         * langhooks-def.h (write_global_declarations): Remove prototype.
2177         * toplev.h (write_global_declarations): Add prototype.
2178         * tree.c (decl_type_context): Use switch statement, handle
2179         TRANSLATION_UNIT_DECL.
2180         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
2181         (TRANSLATION_UNIT_DECL): New kind of tree.
2182         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
2183         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
2184         * doc/invoke.texi: Make attempt to document new functionality.
2185
2186         2003-05-19  Per Bothner <bothner@apple.com>
2187
2188         * gcc.c (combine_inputs): New.
2189         (process_command): Set combine_inputs.
2190         (do_spec_1): Handle combine_inputs.
2191         (main): Likewise.
2192
2193 2003-07-10  James E Wilson  <wilson@tuliptree.org>
2194
2195         PR optimization/9745
2196         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
2197         loop_insn_emit_before.
2198         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2199
2200 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
2201
2202         * cppcharset.c: Fix comment.
2203         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
2204         (EILSEQ): #define to EINVAL if not already defined.
2205         (convert_using_iconv): #if out when !HAVE_ICONV.
2206         (init_iconv_desc): Handle !HAVE_ICONV here...
2207         (cpp_init_iconv): ...not here.
2208
2209 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
2210
2211         * common.opt: More --help messages.
2212         * opts.c (print_help): Use puts().
2213         * toplev.c (f_options): Remove help text.
2214         (display_help): Don't dump f_options.
2215
2216 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
2217
2218         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
2219         Move i?86-*-interix* to the don't-fix list.
2220         * fixinc/fixinc.interix: Delete with extreme prejudice.
2221
2222 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
2223
2224         PR bootstrap/10758
2225         * doc/install.texi: Document requirements for ia64-*-hpux* target.
2226
2227 2003-07-10  Roger Sayle  <roger@eyesopen.com>
2228
2229         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
2230
2231 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
2232
2233         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
2234         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
2235         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
2236         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
2237         convert_no_conversion, convert_using_iconv): New functions.
2238         (APPLY_CONVERSION): New macro.
2239         (struct conversion, conversion_tab): New data structure.
2240         (init_iconv_desc): Check conversion_tab for a custom conversion
2241         primitive before trying to use iconv.
2242         (convert_cset): Deleted.
2243         (cpp_init_iconv): Use UTF- terminology, not UCS-.
2244         (_cpp_destroy_iconv): Update to match.
2245         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
2246         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
2247         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
2248         (_cpp_interpret_string_notranslate): New function, moved here
2249         from cpplib.c.
2250
2251         * cpphash.h (convert_f, struct cset_converter): New types.
2252         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
2253         are now struct cset_converter, not bare iconv_t.
2254         Update prototypes.
2255         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
2256         all callers changed.
2257
2258 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
2259
2260         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
2261         to opts.sh command line.
2262         * opts.sh: Write to temporary files with a move-if-change at the end.
2263
2264 2003-07-10  Denis Chertykov  <denisc@overta.ru>
2265             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2266
2267         * combine.c (gen_binary): Handle the CLOBBER rtx and
2268         don't build a binary operation with it.
2269
2270 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2271
2272         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
2273         store_killed_after, store_killed_before): Keep track of the correct
2274         dependency function to use.
2275
2276 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
2277         * toplev.c (do_compile): Don't try to open dump files before
2278         lang_dependent_init initializes dump_base_name.
2279
2280 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2281
2282         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
2283         Use ARRAY_SIZE.
2284         * config/frv/frv.c (frv_expand_builtin): Likewise.
2285         * config/sh/sh.c (sh_media_init_builtins): Likewise.
2286
2287 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
2288
2289         PR c++/10032
2290         * doc/invoke.texi (C++ Dialect Options): Change documentation of
2291         -fpermissive.
2292
2293 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
2294
2295         * tm.texi (RETURN_ADDR_OFFSET): Document.
2296
2297 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
2298
2299         * gcov-io.h: Update documentation.
2300         (GCOV_UNSIGNED2STRING): New.
2301         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
2302         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
2303         GCOV_TAG_SUMMARY_LENGTH): Adjust.
2304         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
2305         GCOV_TAG_COUNTER_NUM): New.
2306         (GCOV_BLOCK_SIZE): Number of words.
2307         (gcov_var): Adjust buffer type.
2308         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
2309         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
2310         count, not byte count.
2311         (gcov_open): Adjust overread init.
2312         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
2313         gcov_write_string, gcov_write_tag, gcov_write_length,
2314         gcov_write_tag_length): Adjust.
2315         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
2316         (gcov_sync, gcov_seek): Adjust.
2317         * gcov-dump.c (print_usage): Show gcc version only.
2318         (dump_file): Use GCOV_UNSIGNED2STRING.
2319         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
2320         * gcov.c (print_version): Show gcc version only.
2321         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
2322         GCOV_TAG_*_NUM macros.
2323         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
2324         GCOV_TAG_COUNTER_LENGTH.
2325         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
2326         Use GCOV_TAG_COUNTER_NUM.
2327         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
2328         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
2329
2330 2003-07-10  Andreas Schwab  <schwab@suse.de>
2331
2332         * gcov-dump.c (dump_file): Fix missing address operator.
2333
2334 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
2335
2336         PR c/11449
2337         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
2338         of HOST_WIDE_INT.
2339         (fold_single_bit_test): If sign_bit_p() fails, assume that the
2340         bit being tested is not a sign bit.
2341
2342 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
2343
2344         * config/h8300/h8300.md (a peephole2): New.
2345
2346 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
2347
2348         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
2349         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
2350         from ld-linux.so.2 to ld.so.1.
2351         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
2352         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
2353         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
2354         nor -Wl,-rpath-link.
2355         (LIB_SPEC): Add -rpath-link if !static.
2356         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
2357         * config/mn10300/mn10300.c (mn10300_protect_label): New
2358         variable.
2359         * config/mn10300/linux.h (PRINT_OPERAND,
2360         PRINT_OPERAND_ADDRESS): Set it during their execution.
2361         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
2362         mn10300_protect_label is set.
2363         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
2364         -Wl,-rpath-link.
2365         (LIB_SPEC, STARTFILE_SPEC): Define.
2366         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2367         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
2368         FLOAT_BIT_ORDER_MISMATCH.
2369         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2370         * config.gcc (am33_2.0-*-linux*): Added.
2371         * config/mn10300/linux.h: New.
2372         * config/mn10300/t-linux: New.
2373
2374 2003-07-10  Andreas Jaeger  <aj@suse.de>
2375
2376         * fold-const.c: Properly wrap prototypes.
2377
2378 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2379
2380         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
2381         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
2382         Moved from...
2383         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
2384         * config/mn10300/mn10300.h: GTY-declare it.
2385         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
2386         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
2387         prototype.  Use incoming RTL argument.
2388         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2389         * config/mn10300/mn10300.md (int_label): Move C statements...
2390         (GOTaddr2picreg): ... here.
2391         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
2392         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
2393         * config/mn10300/mn10300.c (mn10300_encode_section_info):
2394         ... here.  New function.
2395         (TARGET_ENCODE_SECTION_INFO): Define to it.
2396         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
2397         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
2398         pattern name.
2399         (mn10300_loadPC): Define as insn splittable after reload.
2400         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2401         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
2402         be defined in .rodata even in PIC, now that the assembler
2403         supports that.
2404         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2405         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
2406         symbol take an underscore prefix.
2407         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2408         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
2409         legitimize_pic_address): Declare.
2410         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
2411         the PIC register as fixed.
2412         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
2413         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
2414         PIC.
2415         (LEGITIMATE_PIC_OPERAND_P): Define.
2416         (PIC_OFFSET_TABLE_REGNUM): Define.
2417         (GOT_SYMBOL_NAME): Define.
2418         (SYMBOLIC_CONST_P): Define.
2419         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
2420         symbols.
2421         (MN10300_GLOBAL_P): Test it.
2422         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
2423         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
2424         * config/mn10300/mn10300.c (print_operand): Handle unspec.
2425         (expand_prologue): Set PIC register.
2426         (call_address_operand): Don't match SYMBOL_REFs in PIC.
2427         (legitimize_address): Call legitimize_pic_address.
2428         (legitimize_pic_address): New fn.
2429         (legitimate_pic_operand_p): New fn.
2430         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
2431         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
2432         UNSPEC_PLT): New constants.
2433         (pop_pic_reg): New insn.
2434         (movsi): Adjust non-PIC addresses.
2435         (builtin_setjmp_receiver): Restore the PIC register.
2436         (casesi): New insn.
2437         (call): Adjust non-PIC addresses.
2438         (int_label, GOTaddr2picreg): New expands.
2439         (am33_loadPC): New insn.
2440         (mn10300_loadPC): New expand.
2441         (call_next_insn): New insn.
2442         (add_GOT_to_pic_reg): New expand.
2443         (symGOT2reg, symGOT2reg_i): New expands.
2444         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
2445         (sym2PIC, sym2PLT): New expands.
2446
2447 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2448
2449         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
2450         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
2451         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
2452         to flag_unsafe_math_optimizations.
2453         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2454         * config/mn10300/mn10300.c (expand_prologue): Mark
2455         FP-register-saving insns as frame-related.
2456         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2457         * config/mn10300/mn10300.c
2458         (mn10300_get_live_callee_saved_regs): Don't search past
2459         LAST_EXTENDED_REGNUM.
2460         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
2461         * config/mn10300/mn10300.md: Remove excessive line breaks from
2462         `@' output patterns that were accounted as additional
2463         alternatives.
2464         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
2465         Re-introduce changes accidentally removed in Richard Sandiford's
2466         2000-12-05's patch.
2467         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
2468         Re-instate am33-2 lost in merge from net GCC.
2469         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
2470         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
2471         floating-point registers.
2472         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
2473         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
2474         pessimizations that had gone in on 2000-05-08.
2475         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
2476         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
2477         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
2478         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
2479         operand 0.
2480         * (movhi): Likewise.
2481         * (movsi): Likewise.
2482         * (movsf): Likewise.
2483         * (movdi): Likewise.
2484         * (movdf): Likewise.
2485         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
2486         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
2487         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
2488         (expand_prologue, expand_epilogue): Save and restore FP regs.
2489         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
2490         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
2491         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
2492         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
2493         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
2494         Do not clobber cc0.
2495         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
2496         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
2497         Discourage the two-argument, longer opcodes.
2498         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
2499         ones.
2500         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
2501         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
2502         * config/mn10300/mn10300.md (cmpsf): New pattern.
2503         (branch): Test mdep.fpCC and output fbCC.
2504         * config/mn10300/mn10300.c (print_operand): Output conditions.
2505         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
2506         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
2507         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
2508         mulsf3, divsf3): Use the `F' constraint for FP values.
2509         * config/mn10300/mn10300.c (const_1f_operand): New function.
2510         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
2511         * config/mn10300/mn10300.md (sqrtsf2): New expand.
2512         (rsqrtsf2): New insn.
2513         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
2514         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
2515         previous check-in.
2516         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
2517         * config/mn10300/mn10300.md (abssf2, negdf2): On
2518         TARGET_AM33_2, expand to...
2519         (abssf2_am33_2, negdf2_am33_2): New insns.
2520         (addsf3, subsf3, mulsf3, divsf3): Likewise.
2521         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
2522         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
2523         movdi, movdf): Added FP regs.
2524         * invoke.texi (-mam33-2, -mno-am33-2): Document.
2525         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
2526         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
2527         New macros.
2528         (REGNO_AM33_2_FP_P): Renamed to...
2529         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
2530         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
2531         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
2532         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
2533         regs from GENERAL_REGS.
2534         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
2535         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
2536         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
2537         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
2538         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
2539         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
2540         as FP_REGS.
2541         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
2542         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
2543         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
2544         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
2545         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
2546         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
2547         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
2548         AM33/2.0 floating-point registers.
2549         (CONDITIONAL_REGISTER_USAGE): Adjust.
2550         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
2551         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
2552         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
2553         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
2554         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
2555         (MULTILIB_DIRNAMES): Likewise.
2556         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
2557         `__AM33_2__' when `-mam33-2' is given.
2558         (TARGET_AM33_2): Define.
2559         (TARGET_SWITCHES): Adjust.
2560         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
2561         when appropriate.
2562
2563 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
2564
2565         * doc/install.texi: Add missing @.
2566
2567 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
2568
2569         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
2570
2571 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
2572
2573         PR/11144
2574         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
2575
2576 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2577
2578         PR bootstrap/11043
2579         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
2580         "x-crtfini.o" with "crtinit.o", "crtfini.o".
2581
2582         * fixinc/inclhack.def (limits_ifndefs): Add select test.
2583         * fixinc/fixincl.x: Rebuild.
2584
2585         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
2586         * fixinc/fixincl.x: Rebuild.
2587
2588 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
2589
2590         * doc/install.texi (Configuration): Document the valgrind option
2591         to --enable-checking.
2592
2593 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
2594
2595         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
2596
2597 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2598
2599         * c-lex.c (cb_ident): Cast cstr.text to const char *.
2600
2601 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
2602
2603         * gcov-io.h: Update documentation.
2604         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
2605         GCOV_NOTE_MAGIC.
2606         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
2607         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
2608         (struct gcov_var): Change buffer's type. Add endian flag.
2609         (gcov_open): Remove mode in libgcov.
2610         (gcov_magic): Prototype.
2611         * gcov-io.c (from_file): New.
2612         (gcov_open): Clear endian flag.
2613         (gcov_magic): New.
2614         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
2615         pointers.
2616         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
2617         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
2618         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
2619         * gcov-iov.c (main): Correct cast.
2620         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
2621         conversion.
2622         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
2623         (coverage_init): Use GCOV_NOTE_SUFFIX.
2624         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
2625         Rename to gcov_version, and return flag.
2626         (gcov_exit): Use gcov_version.
2627         (__gcov_init): Use gcov_version.
2628         * Makefile.in (coverageexts): Update.
2629         * gcov.c (print_version): Remove endianness conversion.
2630         (create_file_names): Use GCOV_NOTE_SUFFIX.
2631         (read_graph_file): Use gcov_magic.
2632         (read_count_file): Likewise.
2633         * gcov-dump.c (dump_file): Remove endianness conversion, use
2634         gcov_magic.
2635
2636 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
2637
2638         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
2639         coverage is on.
2640         * configure: Regenerated.
2641         * Makefile.in (ALL_CFLAGS): Correct its comment.
2642
2643 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
2644
2645         * fold-const.c (make_range): Do not access operand 1 for a
2646         zero-operand operator.
2647
2648 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
2649
2650         * toplev.c (warn_dummy, W_options): Die.
2651         (display_help): Don't print W_options.
2652         * common.opt: Add W_options help from toplev.c.
2653
2654 2003-07-09  Andreas Jaeger  <aj@suse.de>
2655
2656         * opts.c (wrap_help): Only pass int arguments as arguments to
2657         printf's '*' modifier.  Change argument of function.
2658
2659 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
2660
2661         * doc/invoke.texi: Fix misspelling of "@item".
2662
2663 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
2664
2665         * config/i386/i386.md: Remove an old comment about
2666         NOTICE_UPDATE_CC.
2667
2668 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
2669
2670         * cgraph.c (cgraph_node_name): New function.
2671         (dump_cgraph): Use it.
2672         * cgraph.h (cgraph_dump_file): Declare.
2673         (cgraph_node_name): Declare.
2674         * cgraphunit.c: Include timevar.h
2675         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
2676         (cgraph_optimize_function): Use TV_INTEGRATION.
2677         (cgraph_mark_local_functions): reorganize dumps.
2678         (cgraph_mark_functions_to_inline_once): Likewise.
2679         (cgraph_optimize): Likewise; use timevar.
2680         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
2681         * toplev.c (dump_file_index): Add DFI_cgraph.
2682         (dump_file_info): Likewise.
2683         (cgraph_dump_file): New global variable.
2684         (do_compile): Open and close cgraph dump.
2685         * invoke.texi (-d): Document new flag; renumber.
2686
2687 2003-07-08  Roger Sayle  <roger@eyesopen.com>
2688
2689         PR c/11370
2690         * calls.c (emit_call_1): Don't bother popping the arguments off of
2691         the stack after a noreturn function call;  The adjustment is dead.
2692         (expand_call): Likewise.
2693
2694 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
2695
2696         * expr.c (MOVE_MAX_PIECES): Move from here...
2697         * defaults.h (MOVE_MAX_PIECES): ... to here.
2698
2699 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
2700
2701         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
2702
2703 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2704
2705         * genattr.c (internal_dfa_insn_code): Don't prototype.
2706         * genattrtab.c (attr_desc): Add `static_p' field.
2707         (expand_units): Make blockage range and ready cost functions
2708         static.
2709         (write_attr_get): Don't add extern prototypes in C file.  Mark
2710         static functions as appropriate.
2711         (find_attr, make_internal_attr): Initialize static_p.
2712         * genattrtab.h (ATTR_STATIC): New macro.
2713         * genautomata.c (output_internal_reset_func): Mark output function
2714         as inline.
2715         (make_internal_dfa_insn_code_attr): Mark output function as static.
2716
2717 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2718
2719         * genattrtab.h: Add new macros for attr `special' flags.
2720         * genattrtab.c (attr_desc): Reorder/resize fields better.
2721         Use attr `special' macros in all calls to make_internal_attr.
2722         * genautomata.c: Likewise.
2723
2724 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
2725
2726         * c-common.c (c_estimate_num_insns_1): New static function.
2727         (c_estimate_num_insns): New global function.
2728         * c-common.h (DECL_NUM_STMTS): Rename to...
2729         (DECL_ESTIMATED_INSNS): ... this.
2730         (c_estimate_num_insns): Declare.
2731         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
2732         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
2733         * c-semantics.c (add_stmt): Do not account statements.
2734         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
2735         New.
2736         * langhooks.h (lang_hooks_for_tree_inlining): Add
2737         estimate_num_insns
2738         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
2739         to 100.
2740         (max-inline-insns): set to 300.
2741         (min-inline-insns): set to 10.
2742         * tree-inline.c (struct inline_data): Rename inlined_stmts to
2743         inlined-insns.
2744         (INSNS_PER_STMT): Kill.
2745         (inlinable_function_p): Compute and store body size.
2746         (expand_call_inline): Likewise.
2747         (optimize_inline_calls): Likewise.
2748
2749 2003-07-08  James E Wilson  <wilson@tuliptree.org>
2750
2751         PR target/10021
2752         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
2753         loop over new variable t2 instead of t.
2754
2755 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
2756
2757         PR bootstrap/11455
2758         * config/i386/winnt.c: Replace use of error(), warning() with
2759         error_with_decl(), warning_with_decl(),  throughout.
2760
2761 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
2762
2763         * opts.c (wrap_help): Use unsigned int, not size_t.
2764
2765 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
2766
2767         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
2768         as .file/.loc directives are incompatible with linker relaxation.
2769
2770 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
2771
2772         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
2773         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
2774         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
2775         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
2776         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
2777         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
2778         Escape { and } characters which are not part of range expressions.
2779         * fixinc/fixincl.x: Regenerate.
2780         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
2781
2782 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
2783
2784         PR c/1687
2785         * tree-inline.c (find_alloca_call): Use
2786         walk_tree_without_duplicates, instead of walk_tree.
2787         (find_builtin_longjmp_call): Likewise.
2788         * c-objc-common.c (c_cannot_inline_fn): Likewise.
2789         * c-semantics.c (find_reachable_label): Likewise.
2790
2791 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
2792
2793         PR c/11420
2794         * config/i386/i386.c (ix86_check_movabs): New function.
2795         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
2796         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
2797         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
2798
2799 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
2800
2801         * Makefile.in (install-po): Cope with empty CATALOGS.
2802
2803 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
2804
2805         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
2806         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2807         (SECTION_FUNCTION_TEMPLATE): Delete.
2808         * config/mips/elf.h: As for elf64.h.
2809         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
2810         * config/mips/linux.h: As for elf.h
2811         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
2812         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
2813         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
2814         of in_sdata from current_section_name and current_section_flags.
2815         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
2816         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
2817         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
2818         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
2819         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
2820         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
2821         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
2822         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
2823         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
2824         (override_options): Remove setting of MASK_GPOPT.
2825         (mips_output_external): Use mips_in_small_data_p to check whether a
2826         symbol needs an .extern directive.  Don't emit such directives for
2827         TARGET_EXPLICIT_RELOCS.
2828         (mips_declare_object): Update accordingly.
2829         (mips_select_rtx_section): Call named_section rather than
2830         SMALL_DATA_SECTION.
2831         (mips_select_section): Use default_elf_section_section for everything
2832         except .text string constants.
2833         (mips_in_small_data_p): New function.
2834         (mips_encode_section_info): Remove small data handling.
2835         (mips_unique_section): Delete.
2836         (iris6_section_type_flags): New function.
2837         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
2838
2839 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2840
2841         PR Target/11453
2842         * pa.md: Disparage all mtsar constraints.
2843         (extzv, extv, insv): Don't fail on length of {32|64}.
2844
2845 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
2846
2847         * system.h: Poison MAP_CHARACTER.
2848         * config/i370/i370-protos.h (mvs_map_char): Delete.
2849         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
2850         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
2851         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
2852
2853 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
2854
2855         * toplev.c (randomize): Correct call to time().
2856
2857 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
2858
2859         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
2860         REG_EQUIV notes as well.
2861
2862 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
2863
2864         * doc/md.texi: Fix the description of addmodecc.
2865
2866 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
2867
2868         * Makefile.in (top_builddir): Set to "..", not ".".
2869         (INTLLIBS, INTLDEPS): Delete.
2870         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
2871         (LIBDEPS): Add $(LIBICONV_DEP).
2872         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
2873         (INCLUDES): Replace -I../intl with @INCINTL@.
2874         ($(top_builddir)/intl/libintl.a): Delete rule.
2875         (stage2-start, stage3-start, stage4-start, stageprofile-start,
2876         stagefeedback-start): Use $$ for variable to be evaluated by
2877         shell, not make.
2878         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
2879         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
2880         * aclocal.m4: sinclude ../config/progtest.m4.  Add
2881         contents of lcmessage.m4 from gettext distro.
2882         * configure.in: Check for wchar.h and setlocale.  Set
2883         LIBICONV_DEP to the empty string and substitute it.
2884         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
2885         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
2886         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
2887         in $LIBINTL, to avoid linking it twice.
2888         * configure, config.in: Regenerate.
2889
2890 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2891
2892         * fixinc/mkfixinc.sh: Remove winnt support.
2893         * fixinc/fixinc.winnt: Delete with extreme prejudice.
2894
2895 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
2896
2897         * Makefile.in: Update.
2898         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
2899         * c.opt: Update documentation.
2900         * common.opt: Add some help text.
2901         * opts.c: Include intl.h.
2902         (wrap_help, print_help): New.
2903         (find_opt, handle_option, common_handle_option): opt_text now
2904         contains the '-'.  Use print_help to output help.
2905         * opts.h (struct cl_option): New member "help".
2906         * opts.sh: Update to handle help text output and to prepend
2907         options with '-'.
2908         * toplev.c (display_help): Remove some help text.
2909
2910 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
2911             Fariborz Jahanian  <fjahanian@apple.com>
2912
2913         * configure.in: Test for PowerPC mfcr field support in assembler.
2914         * config.in, configure: Regenderated.
2915
2916         * config/rs6000/power4.md: Add mfcrf reservation.
2917         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
2918         * config/rs6000/rs6000.c (mfcr_operation): Define.
2919         (print_operand): Add 'Q' case for mfcrf.
2920         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
2921         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
2922         (movcc_internal1): Emit optional field operand for mfcr and set
2923         "type" attribute appropriately.
2924         (mfcr SCC): Likewise.
2925         (movesi_from_cr_one): New.
2926
2927 2003-07-07  Roger Sayle  <roger@eyesopen.com>
2928
2929         * config/i386/i386.md: Correct check-in of incorrect version.
2930
2931 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2932
2933         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
2934         adjacent stdio calls.
2935         * c-decl.c (c_print_identifier): Likewise.
2936         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
2937         * print-rtl.c (print_rtx): Likewise.
2938         * print-tree.c (print_node_brief, print_node): Likewise.
2939         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
2940
2941         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
2942         * config.in, configure: Regenerated.
2943
2944 2003-07-07  Roger Sayle  <roger@eyesopen.com>
2945
2946         PR target/10979
2947         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
2948         Changed to define_expand patterns that copy operand[1] to prevent
2949         it from being clobbered before emitting an atan2?f3_1 insn.
2950         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
2951         patterns that actually specify the behaviour of x87's FPATAN.
2952
2953 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
2954
2955         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
2956         clearing of SYMBOL_FLAG_LOCAL bit.
2957         If vcall_offset fits into signed 16-bit immediate, use
2958         one instruction for both addition and load.
2959
2960 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
2961
2962         * opts.c (common_handle_option): Correct handling of the
2963         -falign- switches that do and don't take an argument.
2964
2965 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
2966
2967         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
2968         today.
2969         (pushhi1_h8300hs): Likewise.
2970
2971 2003-07-07  Andreas Jaeger  <aj@suse.de>
2972
2973         * genextract.c: Convert remaining prototypes to ISO C90.
2974
2975         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
2976         * fold-const.c (fold_single_bit_test): Likewise.
2977         * diagnostic.c (default_diagnostic_finalizer): Likewise.
2978         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
2979
2980         * gengtype.c (write_array): Generate ISO C90 prototypes.
2981
2982         * genflags.c (gen_proto): Generate ISO C90 prototypes.
2983
2984 2003-07-07  Roger Sayle  <roger@eyesopen.com>
2985
2986         PR optimization/11059
2987         * expr.c (can_store_by_pieces): Return true if length is zero.
2988         (store_by_pieces): If length is zero and endp is two, abort,
2989         othwerise, if length is zero and endp is not two, return "to".
2990         (clear_by_pieces): Do nothing if length is zero.
2991         (clear_storage): Do nothing if length is zero.
2992         (store_constructor): Simplify code when size is zero, or the
2993         target has already been cleared.  This avoids emitting a
2994         blockage instruction when initializing empty structures.
2995
2996 2003-07-07  Andreas Jaeger  <aj@suse.de>
2997
2998         * mips-tfile.c: Convert prototypes to ISO C90.
2999         * mips-tdump.c: Convert prototypes to ISO C90.
3000
3001 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
3002
3003         * rtl.h (emit_line_note): Take a location_t.
3004         (emit_line_note_force): Remove.
3005         (set_file_and_line_for_statement): Take a location_t.
3006         * tree.g (emit_line_note): Take a location_t.
3007         * emit-rtl.c (emit_line_note): Take a location_t.
3008         (emit_line_note_force): Remove.
3009         * function.c (init_function_start): Adjust emit_line_note call.
3010         (expand_function_end): Use force_next_line_note, not
3011         emit_line_note_force.
3012         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
3013         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
3014         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3015         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
3016         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
3017         genrtl_continue_stmt, genrtl_switch_stmt,
3018         genrtl_asm_stmt): Likewise.
3019         * expr.c (expand_expr): Likewise.
3020         * integrate.c (expand_inline_function): Likewise.
3021         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
3022         (expand_decl_init): Adjust emit_line_note call.
3023
3024 2003-07-07  Dale Johannesen  <dalej@apple.com>
3025
3026         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
3027
3028 2003-07-07  Andreas Jaeger  <aj@suse.de>
3029
3030         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
3031         * config/i386/i386.c: Likewise.
3032
3033 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
3034
3035         * config/h8300/h8300.md: Use gen_int_mode instead of
3036         GEN_INT (trunc_int_for_mode (...)).
3037
3038 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
3039
3040         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
3041         2 bytes and then subtract 2 from the stack pointer.
3042         (pushhi1_h8300hs): Likewise.
3043
3044 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
3045
3046         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
3047         -frandom-seed.
3048         * configure: Regenerated.
3049         * Makefile.in: Remove extraneous comment.
3050         * toplev.c (randomize): Protect against potential multiple calls.
3051         * doc/invoke.texi (-frandom-seed): Document use for in coverage
3052         files.
3053
3054 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3055             Eric Botcazou  <ebotcazou@libertysurf.fr>
3056
3057         PR optimization/11198
3058         * alias.c (objects_must_conflict_p): Return 1 if the types have
3059         the same alias set, not if the alias sets only conflict.
3060
3061 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
3062
3063         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
3064         (convert_cset): Change inbuf to type ICONV_CONST char.
3065         * Makefile.in (LIBS): Add LIBICONV.
3066
3067         * doc/invoke.texi (-falign-functions): Document that
3068         when n is zero then a machine-dependent default is used.
3069         (-falign-labels): Document that when n is zero then a
3070         machine-dependent default is used and that -falign-labels =1
3071         is equivalent to -fno-align-labels.
3072         (-falign-loops): Likewise.
3073         (-falign-jumps): Likewise.
3074
3075 2003-07-06  Art Haas  <ahaas@airmail.net>
3076
3077         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
3078         initializer syntax.
3079
3080 2003-07-06  James E Wilson  <wilson@tuliptree.org>
3081
3082         PR optimization/9812
3083         * rtl.h (mem_for_const_double): Delete prototype.
3084         * varasm.c (mem_for_const_double): Delete function.
3085         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
3086         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
3087         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
3088         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
3089         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
3090         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
3091         comment about confused support for XFmode constants.
3092
3093 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
3094
3095         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
3096
3097 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
3098
3099         * config/h8300/h8300.c: Fix comment typos.
3100         * config/h8300/h8300.md: Likewise.
3101         * config/i386/athlon.md: Likewise.
3102         * config/i386/i386.c: Likewise.
3103         * config/i386/pentium.md: Likewise.
3104         * config/ia64/ia64.c: Likewise.
3105         * config/ia64/itanium1.md: Likewise.
3106         * config/ia64/itanium2.md: Likewise.
3107         * config/m32r/m32r.md: Likewise.
3108         * config/m68hc11/m68hc11.c: Likewise.
3109         * config/mcore/mcore.c: Likewise.
3110         * config/mips/sr71k.md: Likewise.
3111         * config/mips/t-iris5-as: Likewise.
3112         * config/mmix/mmix.h: Likewise.
3113         * config/ns32k/ns32k.h: Likewise.
3114         * config/ns32k/NOTES: Fix a typo.
3115
3116 2003-07-06  Andreas Jaeger  <aj@suse.de>
3117
3118         * stmt.c: Convert remaining prototypes to ISO C90.
3119         * cfglayout.c: Likewise.
3120         * dbxout.c: Likewise.
3121         * gcc.c: Likewise.
3122         * genemit.c: Likewise.
3123
3124         * basic-block.h: Convert prototypes to ISO C90.
3125         * c-parse.in: Likewise.
3126         * c-pragma.h: Likewise.
3127         * c-typeck.c: Likewise.
3128         * cfghooks.h: Likewise.
3129         * cfgloopanal.c: Likewise.
3130         * dbxout.h: Likewise.
3131         * debug.h: Likewise.
3132         * dwarf2asm.h: Likewise.
3133         * gcov.c: Likewise.
3134         * gengtype-lex.l: Likewise.
3135         * sched-int.h: Likewise.
3136         * timevar.c: Likewise.
3137
3138 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
3139
3140         * c-common.h (c_comon_handle_filename,
3141         c_common_missing_arguement): New.
3142         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
3143         LANG_HOOKS_MISSING_ARGUMENT): New.
3144         * c-opts.c (missing_arg): Rename c_common_missing_argument,
3145         update to be an appropriate langhook.
3146         (c_common_handle_option): Don't handle filenames.
3147         (c_common_handle_filename): New.
3148         * hooks.c (hook_void_constcharptr,
3149         hook_bool_constcharptr_size_t_false): New.
3150         * hooks.h (hook_void_constcharptr,
3151         hook_bool_constcharptr_size_t_false): New.
3152         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
3153         LANG_HOOKS_MISSING_ARGUMENT): New.
3154         (LANG_HOOKS_INITIALIZER): Update.
3155         * langhooks.h (struct lang_hooks): Add handle_filename and
3156         missing_argument.
3157         * opts.c (handle_option): Don't handle filenames here, but ...
3158         (handle_options): ... here.
3159         (common_handle_option): Don't handle missing arguments here.
3160         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
3161         LANG_HOOKS_MISSING_ARGUMENT): New.
3162
3163 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
3164
3165         * Makfile.in: Remove traces of mbchar.
3166         * c-parse.in (MULTIBYTE_CHARS): Remove.
3167         * config.in (MULTIBYTE_CHARS): Remove.
3168         * configure: Remove --enable-mbchar.
3169         * configure.in: Remove --enable-mbchar.
3170         * mbchar.c, mbchar.h: Remove.
3171         * system.h: Poison MULTIBYTE_CHARS.
3172         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
3173         * config/linux.h (MULTIBYTE_CHARS): Remove.
3174         * config/svr4.h (MULTIBYTE_CHARS): Remove.
3175         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
3176
3177 2003-07-06  Andreas Jaeger  <aj@suse.de>
3178
3179         * varray.c (varray_check_failed): Fix typo.
3180
3181         * unroll.c: Convert prototypes to ISO C90.
3182         * varasm.c: Likewise.
3183         * varray.c: Likewise.
3184         * varray.h: Likewise.
3185         * vmsdbgout.c: Likewise.
3186         * xcoffout.c: Likewise.
3187         * xcoffout.h: Likewise.
3188
3189 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3190
3191         * gcov-io.h: Add a local time stamp.
3192         (struct gcov_info): Add stamp field.
3193         (gcov_truncate): New.
3194         * coverage.c (read_counts_file): Skip the stamp.
3195         (coverage_begin_output): Write the stamp.
3196         (build_gcov_info): Declare and init the stamp.
3197         (coverage_finish): Only unlink data file, if stamp is zero.
3198         * gcov-dump.c (dump_file): Dump the stamp.
3199         * gcov.c (bbg_stamp): New.
3200         (release_structures): Clear bbg_stamp.
3201         (read_graph_file): Read stamp.
3202         (read_count_file): Check stamp.
3203         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
3204
3205 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3206
3207         * tree.h (default_flag_random_seed): Remove.
3208         * toplev.h (local_tick): Declare.
3209         * tree.c (flag_random_seed, default_flag_random_seed): Move to
3210         toplev.c.
3211         (append_random_chars): Don't call default_flag_random_seed.
3212         * toplev.c (flag_random_seed): Define here. Set local_tick.
3213         (local_tick): Define.
3214         (randomize): New, moved from tree.c.
3215         (print_switch_values): Adjust.
3216         (toplev_main): Call randomize.
3217
3218 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3219
3220         * tree.h (crc32_string): Declare.
3221         * tree.c (append_random_chars): Remove.
3222         (crc32_string): New.
3223         (get_file_function_name_long): Use crc32_string here.
3224
3225 2003-07-06  Andreas Jaeger  <aj@suse.de>
3226
3227         * gcc.c: Convert prototypes to ISO C90.
3228         * gcc.h: Likewise.
3229         * gcov-dump.c: Likewise.
3230         * gcov-iov.c: Likewise.
3231         * gcse.c: Likewise.
3232         * genattrtab.h: Likewise.
3233         * ggc.h: Likewise.
3234         * global.c: Likewise.
3235         * graph.c: Likewise.
3236         * graph.h: Likewise.
3237         * hosthooks.h: Likewise.
3238         * hooks.h: Likewise.
3239         * hooks.c: Likewise.
3240         * hashtable.h: Likewise.
3241         * hashtable.c: Likewise.
3242         * haifa-sched.c: Likewise.
3243         * integrate.h: Likewise.
3244         * integrate.c: Likewise.
3245         * input.h: Likewise.
3246         * ifcvt.c: Likewise.
3247         * jump.c: Likewise.
3248         * langhooks-def.h: Likewise.  Add extern to prototypes.
3249         * langhooks.c: Likewise.
3250         * langhooks.h: Likewise.
3251         * lcm.c: Likewise.
3252         * local-alloc.c: Likewise.
3253         * loop-init.c: Likewise.
3254         * loop-unroll.c: Likewise.
3255         * loop-unswitch.c: Likewise.
3256         * loop.c: Likewise.
3257         * loop.h: Likewise. Add extern to prototypes.
3258         * machmode.h: Likewise.
3259         * main.c: Likewise.
3260         * mbchar.c: Likewise.
3261         * mbchar.h: Likewise.
3262         * mkdeps.c: Likewise.
3263         * mkdeps.h: Likewise.
3264         * optabs.c: Likewise.
3265         * optabs.h: Likewise.
3266         * output.h: Likewise.
3267         * gccspec.c: Likwise.
3268         * postreload.c: Likewise.
3269         * prefix.c: Likewise.
3270         * prefix.h: Likewise.
3271         * print-rtl.c: Likewise.
3272         * print-tree.c: Likewise.
3273         * profile.c: Likewise.
3274         * read-rtl.c: Likewise.
3275         * real.c: Likewise.
3276         * real.h: Likewise.
3277         * recog.c: Likewise.
3278         * recog.h: Likewise.
3279         * reg-stack.c: Likewise.
3280         * regclass.c: Likewise.
3281         * regmove.c: Likewise.
3282         * regrename.c: Likewise.
3283         * regs.h: Likewise.
3284         * reload.c: Likewise.
3285         * reload.h: Likewise.
3286         * reload1.c: Likewise.
3287         * reorg.c: Likewise.
3288         * resource.c: Likewise.
3289         * resource.h: Likewise.
3290         * rtl-error.c: Likewise.
3291         * rtl.c: Likewise.
3292         * rtl.h: Likewise.
3293         * rtlanal.c: Likewise.
3294         * sbitmap.c: Likewise.
3295         * sbitmap.h: Likewise.
3296         * scan-decls.c: Likewise.
3297         * scan.c: Likewise.
3298         * sched-deps.c: Likewise.
3299         * sched-ebb.c: Likewise.
3300         * sched-int.h: Likewise.
3301         * sched-rgn.c: Likewise.
3302         * sched-vis.c: Likewise.
3303         * sibcall.c: Likewise.
3304         * simplify-rtx.c: Likewise.
3305         * sreal.c: Likewise.
3306         * sreal.h: Likewise.
3307         * ssa-ccp.c: Likewise.
3308         * ssa-dce.c: Likewise.
3309         * ssa.c: Likewise.
3310         * ssa.h: Likewise.
3311         * stack.h: Likewise.
3312         * stmt.c: Likewise.
3313         * stor-layout.c: Likewise.
3314         * stringpool.c: Likewise.
3315         * target.h: Likewise.
3316         * timevar.c: Likewise.
3317         * timevar.h: Likewise.
3318         * tlink.c: Likewise.
3319         * tracer.c: Likewise.
3320         * tree-inline.c: Likewise.
3321         * tree-inline.h: Likewise.
3322         * tree.c: Likewise.
3323         * tree.h: Likewise.
3324
3325 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3326
3327         * combine.c (nonzero_bits1): Fix a warning.
3328
3329 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3330
3331         * config/h8300/h8300.c (compute_mov_length): Correct the
3332         length of loading CONST0_RTX (SFmode).
3333
3334 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
3335
3336         * toplev.c (output_clean_symbol_name): Remove.
3337         * toplev.h (output_clean_symbol_name): Remove.
3338         * config/alpha/alpha.c (unicosmk_output_module_name): Use
3339         lbasename & clean_symbol_name.
3340
3341 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3342
3343         * ggc.h: Follow spelling conventions.
3344         * config/i386/i386.c: Likewise.
3345         * config/i386/winnt.c: Likewise.
3346         * config/rs6000/rs6000.c: Likewise.
3347
3348 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3349
3350         * bt-load.c: Fix comment typos.
3351         * c-incpath.c: Likewise.
3352         * cfg.c: Likewise.
3353         * cfgcleanup.c: Likewise.
3354         * cfgloop.h: Likewise.
3355         * cfgloopmanip.c: Likewise.
3356         * cfgrtl.c: Likewise.
3357         * diagnostic.h: Likewise.
3358         * dwarfout.c: Likewise.
3359         * emit-rtl.c: Likewise.
3360         * et-forest.c: Likewise.
3361         * et-forest.h: Likewise.
3362         * expr.c: Likewise.
3363         * gcse.c: Likewise.
3364         * genattr.c: Likewise.
3365         * jump.c: Likewise.
3366         * langhooks.h: Likewise.
3367         * local-alloc.c: Likewise.
3368         * loop-unroll.c: Likewise.
3369         * loop-unswitch.c: Likewise.
3370         * ra-build.c: Likewise.
3371         * regclass.c: Likewise.
3372         * regmove.c: Likewise.
3373         * rtl.def: Likewise.
3374         * rtlanal.c: Likewise.
3375         * sched-ebb.c: Likewise.
3376         * sched-rgn.c: Likewise.
3377         * simplify-rtx.c: Likewise.
3378         * ssa.c: Likewise.
3379         * tracer.c: Likewise.
3380         * tree.c: Likewise.
3381
3382 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
3383
3384         * cppcharset.c: Use the correct return type for the fallback iconv
3385         macro.
3386
3387 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3388
3389         Blame to Jan Hubicka  <jh@suse.cz>
3390         * cfglayout.c (record_effective_endpoints): Split insns before
3391         first basic block correctly.
3392
3393 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3394
3395         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
3396         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
3397         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3398
3399 2003-07-05  Andreas Jaeger  <aj@suse.de>
3400
3401         * genattrtab.c (write_attr_get): Revert part of last patch to
3402         always write out a prototype.
3403
3404         * genemit.c (gen_split): Readd lost unused attributes in last
3405         patch.
3406
3407 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3408
3409         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
3410         different from header.
3411
3412 2003-07-05  Andreas Schwab  <schwab@suse.de>
3413
3414         * config/m68k/m68k.c: Remove code protected by CRDS.
3415         * config/m68k/m68k.md: Likewise.
3416
3417 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
3418
3419         PR driver/11417
3420         * c-opts.c (permit_fortran_options): New.
3421         (c_common_init_options): Accept fortran front end options if
3422         it looks like we might be preprocessing Fortran.
3423         (c_common_handle_option): Don't reject switch if permit_fotran_options.
3424
3425 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3426
3427         * genattr.c (internal_dfa_insn_code): Output prototype.
3428         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
3429         * genautomata.c: Likewise.
3430         * genconditions.c: Likewise.
3431         * genemit.c: Likewise.
3432         * genextract.c: Likewise.
3433         * gengenrtl.c: Likewise.
3434         * gengtype.c: Likewise.
3435         * genopinit.c: Likewise.
3436         * genoutput.c: Likewise.
3437         * genpeep.c: Likewise.
3438         * genrecog.c: Likewise.
3439
3440 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
3441
3442         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
3443         (struct cpp_options): Add narrow_charset, wide_charset,
3444         bytes_big_endian fields.  Remove EBCDIC field.
3445         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
3446
3447         * cpphash.h: Include <iconv.h> if we have it, otherwise
3448         provide a dummy definition of iconv_t.
3449         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
3450         (_cpp_valid_ucn): Update prototype.
3451         (_cpp_destroy_iconv): New prototype.
3452
3453         * doc/cpp.texi: Document character set handling.
3454         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
3455         * doc/extend.texi: Delete entire section on multiline strings.
3456         Rewrite section on __FUNCTION__ etc now that these are
3457         variables in C.
3458
3459         * cppucnid.tab, cppucnid.pl: New files.
3460         * cppucnid.h: New generated file.
3461         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
3462         (iconv_open, iconv, iconv_close): Provide dummy definitions
3463         if !HAVE_ICONV.
3464         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
3465         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
3466         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
3467         cpp_interpret_string, narrow_str_to_charconst,
3468         wide_str_to_charconst): New.
3469         (ucn_valid_in_identifier): Use a binary search through the
3470         ucnranges table defined in cppucnid.h, not a long chain of if
3471         statements.
3472         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
3473         character names are only valid in C++ and C99" to a warning.
3474         Issue the "meaning of \[uU] is different in traditional C"
3475         warning here.  Take care not to let iconv see an invalid UCS
3476         value if we get a malformed UCN.  Issue an error if we don't
3477         have iconv.
3478         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
3479         cpp_interpret_string to do the heavy lifting.
3480
3481         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
3482         narrow_charset, wide_charset fields of options structure.
3483         (cpp_destroy): Call _cpp_destroy_iconv.
3484         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
3485         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
3486         (cpp_interpret_charconst): Moved to cppcharset.c.
3487         * cpplib.c (dequote_string): Delete.
3488         (interpret_string_notranslate): New.
3489         (do_line, do_linemarker): Use interpret_string_notranslate.
3490
3491         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
3492
3493         * c-common.c (fname_string, combine_strings): Delete.
3494         * c-common.h (fname_string, combine_strings): Delete prototypes.
3495         * c-lex.c (ignore_escape_flag): Delete.
3496         (cb_ident): Use cpp_interpret_string, not lex_string.
3497         (get_nonpadding_token): New function.
3498         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
3499         Adjust calls to lex_string.  Don't write *value twice.
3500         (lex_string): Now handles string constant concatenation.
3501         Most of the work handed off to cpp_interpret_string.
3502         Call fix_string_type here.
3503         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
3504         FUNC_NAME, throughout.
3505         (OBJC_STRING): New token type.
3506         (primary:STRING): No need to call fix_string_type here.
3507         (primary:objc_string): Make that OBJC_STRING.
3508         (objc_string nonterminal): Delete.
3509         (yylexname): Delete code to handle fake string constants.
3510         (yylexstring): Delete entirely.
3511         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
3512         to handle CPP_ATSIGN.
3513
3514         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
3515         * c-opts.c (missing_arg, c_common_handle_option): Handle
3516         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
3517         (c_common_init): Set cpp_opts->bytes_big_endian, not
3518         cpp_opts->EBCDIC.  Call cpp_init_iconv.
3519         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
3520         (TARGET_EBCDIC): Delete default definition.
3521
3522         * objc/objc-act.c (build_objc_string_object): No need to
3523         handle string constant concatenation.
3524
3525 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
3526
3527         * doc/install.texi: Fix typos.
3528         * doc/invoke.texi: Likewise.
3529         * doc/tm.texi: Likewise.
3530
3531 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
3532
3533         * config/pa/fptr.c: Fix comment typos.
3534         * config/pa/pa-64.h: Likewise.
3535         * config/pa/pa.c: Likewise.
3536         * config/pa/pa.h: Likewise.
3537         * config/rs6000/603.md: Likewise.
3538         * config/rs6000/7xx.md: Likewise.
3539         * config/rs6000/darwin.h: Likewise.
3540         * config/rs6000/freebsd.h: Likewise.
3541         * config/rs6000/rs6000.c: Likewise.
3542         * config/rs6000/rs6000.md: Likewise.
3543         * config/rs6000/spe.h: Likewise.
3544
3545 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
3546
3547         * config/s390/2064.md: Change GNU CC to GCC.
3548         * config/s390/2084.md: Likewise.
3549         * config/s390/fixdfdi.h: Likewise.
3550         * config/s390/linux.h: Likewise.
3551         * config/s390/s390-modes.def: Likewise.
3552         * config/s390/s390-protos.h: Likewise.
3553         * config/s390/s390.c: Likewise.
3554         * config/s390/s390.h: Likewise.
3555         * config/s390/s390.md: Likewise.
3556         * config/s390/s390x.h: Likewise.
3557
3558 2003-07-04  Jeff Law  <law@redhat.com>
3559
3560         PR c/11428
3561         * expr.c (do_store_flag): Pass in the correct result type
3562         when calling fold_single_bit_test.
3563         * fold-const.c (fold_single_bit_test): Use result_type for the
3564         result when folding a sign bit test.
3565
3566 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
3567
3568         * opts.c (common_handle_options): Negate sense of -falign- switches.
3569
3570 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
3571
3572         * Makefile.in: Replace PWD with PWD_COMMAND.
3573
3574 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3575
3576         * cfgloopanal.c (count_strange_loop_iterations): New static function.
3577         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
3578         Handle strange loops.
3579
3580 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
3581
3582         * install.texi: Even the g77 manpage is derived from
3583         the full g77 manual.
3584
3585 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
3586
3587         * ABOUT-NLS: Delete.
3588         * intl: Delete entire directory.
3589         * aclocal.m4: Include ../config/gettext.m4.  Delete
3590         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
3591         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
3592         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
3593         Remove intl/Makefile from all_outputs.
3594         * configure, config.in: Regenerate.
3595         * Makefile.in: Expunge all references to intl subdirectory.
3596         Add -I../intl to INCLUDES.
3597         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
3598
3599 2003-07-04  Roger Sayle  <roger@eyesopen.com>
3600
3601         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
3602         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
3603
3604 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
3605
3606         PR c++/5287, PR c++/7910, PR c++/11021
3607         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
3608         dllimport attribute if function is defined at declaration, but
3609         report error instead. Likewise for dllimport'd variable
3610         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
3611         declared within functions, Report error if dllimport or dllexport
3612         symbol is not global.
3613         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
3614         if defined after declaration or if inlined. Don't allow definition
3615         of static data members of C++ classes. Don't dllimport virtual
3616         methods.
3617         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
3618         (i386_pe_mark_dllimport): Remove unnecessary checks.
3619         (i386_pe_encode_section_info): Warn if the dllimport attribute
3620         and symbol prefix have been instantiated and then overridden.
3621
3622         * doc/extend.texi: Document dllimport and dllexport attributes.
3623
3624         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
3625
3626 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
3627
3628         * config/kaos.h (CPP_PREDEFINES): Delete.
3629         (TARGET_OS_CPP_BUILTINS): New.
3630
3631 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3632
3633         * c-aux-info.c: Include toplev.h after c-tree.h.
3634         * c-common.c: Likewise.
3635         (GCC_DIAG_STYLE): Undef.
3636         * c-semantics.c (GCC_DIAG_STYLE): Define.
3637         * c-tree.h (GCC_DIAG_STYLE): Likewise.
3638         * diagnostic.h (inform): Move prototype to toplev.h.
3639         * jump.c: Include diagnostic.h before toplev.h.
3640         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
3641         (warning, error, fatal_error, pedwarn, sorry, inform,
3642         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
3643
3644 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3645
3646         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
3647         at all if edge is not specified.
3648         (can_copy_bbs_p, copy_bbs): New.
3649         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
3650         * cfgloop.c (get_loop_body): Comment more precisely.
3651         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
3652         (scale_bbs_frequencies): Fix comment typo.
3653         (can_duplicate_loop_p): Use can_copy_bbs_p.
3654         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
3655
3656 2003-07-03  Devang Patel <dpatel@apple.com>
3657
3658         * c-opts.c (c_common_parse_file): Remove extra
3659         debug_hooks->start_source_file call.
3660
3661 2003-07-03  Roger Sayle  <roger@eyesopen.com>
3662
3663         * real.c (real_trunc, real_floor, real_ceil): New functions
3664         to implement trunc, floor and ceil respectively.
3665         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
3666         * builtins.c (integer_valued_real_p): New function to test if
3667         a floating point expression has an integer valued result.
3668         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
3669         foo(x) where foo is an integer rounding function.  Similarly,
3670         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
3671         (double)(int)x when both foo and bar are integer rounding
3672         functions and we don't need to honor errno.
3673         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
3674         New functions to fold trunc, floor and ceil.
3675         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
3676         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
3677         to fold BUILT_IN_CEIL*.
3678         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
3679         the remaining integer rounding functions.
3680
3681 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3682
3683         * config/sparc/sparc.c (function_arg_partial_nregs): Use
3684         SPARC_INT_ARG_MAX to determine where to split unnamed
3685         complex FP arguments.
3686
3687 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
3688
3689         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
3690         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
3691         (merge_blocks_move_predecessor_nojumps,
3692          merge_blocks_move_successor_nojumps): Use merge_blocks.
3693         (try_optimize_cfg): Use merge_blocks_move.
3694         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
3695         (merge_blocks_nomove): Rename to rtl_merge_blocks.
3696         (cfg_layout_create_basic_block): New.
3697         (rtl_can_merge_blocks): New.
3698         (cfg_layout_split_block): Do not alloc aux by hand.
3699         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
3700         merge_blocks.
3701         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
3702         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
3703         * cfgloopmanip.c (loop_split_edge_with): Likewise.
3704         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
3705
3706         * basic-block.h (basic_block_def): Add field 'rbi'.
3707         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
3708         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
3709         * cfg.c (entry_exit_blocks): Add new field.
3710         * cfglayout.c: Include alloc-pool.h;
3711         (cfg_layout_pool): New.
3712         (record_effective_endpoints, fixup_reorder_chain,
3713         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
3714         of rbi.
3715         (cfg_layout_initialize_rbi): New function.
3716         (cfg_layout_initialize): Use it.
3717         (cfg_layout_finalize): Clear rbi fields.
3718         * cfglayout.h (RBI): Kill.
3719         (cfg_layout_initialize_rbi): Declare.
3720         * cfgloopmanip.c (copy_bbs): Use rbi.
3721         (record_exit_edges): Likewise.
3722         (duplicate_loop_to_header_edge): Likewise.
3723         * cfgrtl.c (cfg_layout_create_basic_block): Use
3724         cfg_layout_initialize_rbi.
3725         (cfg_layout_split_block): Use rbi.
3726         (cfg_layout_delete_block): Likewise.
3727         * loop-init.c (loop_optimizer_finalize): Likewise.
3728         * loop-unswitch.c (unswitch_loop): Likewise.
3729         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
3730
3731         * cfgrtl.c: Update comments.
3732         (try_redirect_by_replacing_jump): New argument.
3733         (redirect_branch_edge): Break out from ...
3734         (rtl_redirect_edge_and_branch): ... this one.
3735         (update_cfg_after_block_merging): Break out from ...
3736         (rtl_merge_blocks): ... this one.
3737         (cfg_layout_split_edge): New.
3738         (cfg_layout_merge_blocks): New.
3739         (cfg_layout_can_merge_blocks_p): New.
3740         (cfg_layout_redirect_edge_and_branch): Reorganize.
3741         (cfg_layout_rtl_cfg_hooks): Fill in.
3742         (cfg_layout_delete_block): Kill barriers.
3743         * cfganal.c (can_fallthru): Deal with exit blocks
3744         * cfglayout.c (cfg_layout_function_header): New function
3745         (record_effective_endpoints): Record function header.
3746         (fixup_reorder_chain): Fixup dead jumptables; place header
3747
3748         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
3749         * bb-reorder.c (cfg_layout_initialize): Update call.
3750         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
3751         edges in cfglayout mode.
3752         * cfglayout.c (cleanup_unconditional_jumps): Kill.
3753         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
3754         * cfglayout.h (cfg_layout_initialize): Update prototype.
3755         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
3756         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
3757         * flow.c (propagate_block): Do not crash when basic block ends
3758         by first insn in the chain.
3759         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
3760         do loop discovery.
3761         * tracer.c (tracer): Update call of cfg_layout_initialize.
3762
3763 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3764
3765         * Makefile.in: Use dependency variables in lieu of explicit
3766         files throughout.
3767
3768 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
3769
3770         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
3771         * tree.h: ...to here.
3772
3773 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
3774
3775         * config/s390/2064.md: Fix comment typos.
3776         * config/s390/2084.md: Likewise.
3777         * config/s390/s390.c: Likewise.
3778         * config/s390/s390.md: Likewise.
3779         * config/sh/sh.c: Likewise.
3780         * config/sh/sh.h: Likewise.
3781         * config/sh/sh.md: Likewise.
3782         * config/sparc/sparc.c: Likewise.
3783         * config/sparc/sparc.h: Likewise.
3784         * config/sparc/sparc.md: Likewise.
3785         * config/stormy16/stormy16.c: Likewise.
3786         * config/stormy16/stormy16.h: Likewise.
3787         * config/stormy16/stormy-abi: Fix a typo.
3788
3789 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
3790
3791         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
3792
3793 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3794
3795         * config/mips/mips.h (save_argv): Delete.
3796
3797 2003-07-03  Roger Sayle  <roger@eyesopen.com>
3798
3799         PR target/10700
3800         * fold-const.c (extract_muldiv_1): There's nothing that can be done
3801         if the expression is a SAVE_EXPR.
3802
3803 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
3804
3805         * config/m32r/m32r.c: Fix comment typos.
3806         * config/m68hc11/m68hc11.c: Likewise.
3807         * config/m68hc11/m68hc11.h: Likewise.
3808         * config/m68k/m68k.c: Likewise.
3809         * config/mcore/mcore.c: Likewise.
3810         * config/mcore/mcore.h: Likewise.
3811         * config/mcore/mcore.md: Likewise.
3812         * config/mips/mips.c: Likewise.
3813         * config/mips/mips.h: Likewise.
3814         * config/mips/mips.md: Likewise.
3815         * config/mips/netbsd.h: Likewise.
3816         * config/mn10300/mn10300.c: Likewise.
3817
3818 2003-07-03  Andreas Schwab  <schwab@suse.de>
3819
3820         * dbxout.c (pending_bincls): Move decl down inside
3821         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
3822
3823 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
3824
3825         * rtl.h (NOTE_DATA): Refer to whole union.
3826         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
3827
3828 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3829
3830         PR optimization/11381
3831         * simplify-rtx.c (simplify_relational_operation): Check that
3832         two equal operands have no side-effects before simplifying
3833         the comparison.
3834
3835 2003-07-02  Jeff Law  <law@redhat.com>
3836
3837         * expr.c (do_store_flag): Remove special case folding for
3838         single bit tests.  Instead call back into the commonized folder
3839         routine.
3840         * fold-const.c (fold_single_bit_test): New function, mostly
3841         extracted from do_store_flag, with an additional case extracted
3842         from fold.
3843         (fold): Call fold_single_bit_test appropriately.
3844         * tree.h (fold_single_bit_test): Prototype.
3845
3846 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
3847
3848         * system.h: Include filenames.h.
3849         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
3850         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
3851         define based on HAVE_DOS_BASED_FILE_SYSTEM.
3852         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
3853         * config/i386/xm-mingw32.h: Don't define
3854         HAVE_DOS_BASED_FILE_SYSTEM,
3855         DIR_SEPARATOR, or DIR_SEPARATOR_2.
3856         * doc/hostconfig.texi: Update to match.
3857
3858         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
3859         config/i386/cygwin.h:
3860         Use IS_ABSOLUTE_PATH throughout.
3861         * gcc.c (DIR_UP): Delete, unused.
3862         * protoize.c (IS_SAME_PATH): Define in terms of
3863         FILENAME_CMP.
3864         (is_abspath): Delete.
3865
3866 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
3867
3868         * config/i386/emmintrin.h: Fix comment typos.
3869         * config/i386/i386.c: Likewise.
3870         * config/i386/i386.h: Likewise.
3871         * config/i386/sco5.h: Likewise.
3872         * config/ia64/ia64.c: Likewise.
3873         * config/ia64/itanium2.md: Likewise.
3874
3875 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
3876
3877         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
3878         DBX_USE_BINCL.
3879         (emit_bincl_stab): Same.
3880         (emit_pending_bincls): Same.
3881
3882 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
3883
3884         * config/h8300/h8300.c (compute_mov_length): Fix the length of
3885         loading CONST0_RTX (SFmode).
3886         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
3887         'G' to CONST0_RTX (SFmode).
3888         * config/h8300/h8300.md (movsf_h8300): Change the first
3889         constraint to 'G'.
3890         (movsf_h8300h): Likewise.
3891
3892 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
3893
3894         * c-common.h (c_common_init_options): New prototype.
3895         * c-opts.c (deferred_size): Remove.
3896         (defer_opt): Array is now pre-allocated.
3897         (c_common_init_options): Pre-allocate deferred_opts.  Make
3898         lang_flags unsigned.
3899         (push_command_line_options): Free deferred_opts.
3900         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
3901         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
3902         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
3903         * langhooks.h (struct lang_hooks): New prototype for init_options.
3904         * main.c (main): Cast argv.
3905         * opts.c (handle_option, handle_options): Update prototypes.
3906         (decode_options): save_argc, save_argv are not global.  Constify.
3907         * opts.h (decode_options): New prototype.
3908         * toplev.c (general_init): New protoype.
3909         (save_argv): Make static.
3910         (save_argc): Remove.
3911         (print_switch_values, general_init): Constify.
3912         (toplev_main): Save argv.
3913         * toplev.h (toplev_main): Update prototype.
3914         (save_argc, save_argv): Remove.
3915
3916 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
3917
3918         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
3919         (emit_bincl_stab): Same.
3920         (emit_pending_bincls): Same.
3921
3922 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
3923
3924         PR c++/11072
3925         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
3926
3927 2003-07-02  Andreas Schwab  <schwab@suse.de>
3928
3929         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
3930
3931 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3932
3933         PR optimization/11210
3934         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
3935         about the behaviour with regard to bitfields.
3936         * fold-const (decode_field_reference): Record outermost type in
3937         case the expression is a NOP. Strip all NOPs. Set the signedness
3938         to that of the outermost type (if any) when the bitsize is equal
3939         to the size of the type.
3940
3941 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
3942
3943         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
3944         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
3945         (adddi3_internal_3, addsi3_internal_2): Likewise.
3946
3947 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
3948
3949         * config/mips/mips.c (machine_function): Add new fields:
3950         ignore_hazard_length_p and all_noreorder_p.
3951         (mips_flag_delayed_branch): New variable.
3952         (override_options): Treat '/' as an operand punctuation character.
3953         Set up mips_flag_delayed_branch.
3954         (print_operand): Handle '/'.
3955         (mips_output_function_prologue): Put the whole function in
3956         .set noreorder and .set nomacro if all_noreorder_p is true.
3957         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
3958         (mips16_optimize_gp): Remove "first insn" parameter.
3959         (mips16_lay_out_constants): New function, split out from mips_reorg.
3960         (mips_avoid_hazard, mips_avoid_hazards): New functions.
3961         (mips_reorg): For mips16 code, call mips16_lay_out_constant
3962         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
3963         do delayed-branch scheduling followed by hazard detection.
3964         (mips_adjust_insn_length): Only account for hazards if
3965         !ignore_hazard_length_p.
3966         (mips_output_load_label): Add a nop to the o32 sequence if
3967         the target suffers from load delays.
3968         (mips_output_conditional_branch): Add %/ to the end of branches.
3969         (mips_output_division): Fill the branch delay slot with %#.
3970         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
3971         instructions.  End all other %* branches with %/.
3972         (ffssi2, ffsdi2): Fix lengths.
3973         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
3974         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
3975         (fix_truncsfsi2_macro): Likewise.
3976         (mov_lwl): Set hazard to "none".
3977         (ashldi3_internal): Fill the branch delay slot with %#.
3978         (ashrdi3_internal, lshrdi3_internal): Likewise.
3979         (exception_receiver): Explicitly set $28.
3980         (hazard_nop): New pattern.
3981
3982 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
3983
3984         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
3985         before calling tree_inlinable_function_p.
3986
3987 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3988
3989         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
3990         <internal/stdio_core.h> too.
3991         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
3992         <internal/wchar_core.h> too.
3993         Substitute va_list uses in inline definition.
3994         * fixinc/fixincl.x: Regenerate.
3995
3996 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3997
3998         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
3999         Undef before redefinition.
4000         (LABEL_AFTER_LOC): Likewise.
4001         (DEFAULT_SIGNED_CHAR): Likewise.
4002         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
4003         Fix IRIX spelling.
4004
4005         * config/mips/iris3.h: Remove, unused.
4006         * config/mips/iris4.h: Likewise.
4007
4008         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
4009
4010         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
4011         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
4012         target_cpu_default.
4013
4014         * config/mips/iris5.h: Move explicit includes ...
4015         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
4016
4017         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
4018         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
4019         tm_defines.
4020
4021         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
4022         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
4023         target_cpu_default.
4024
4025         * config/mips/iris6.h: Fix IRIX spelling.
4026         (MULTILIB_DEFAULTS): Undef before redefinition.
4027
4028         * config/mips/iris6.h: Move explicit includes ...
4029         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
4030
4031 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
4032
4033         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
4034         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
4035         Use next_needed field instead of aux to maintain the queue.
4036         * cgraph.h (cgraph_node): Add next_needed.
4037         (cgraph_varpool_node): Add next_needed; remove aux.
4038         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
4039
4040 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
4041
4042         * cgraphunit.c (cgraph_finalize_function): Set finalized.
4043         (cgraph_finalize_function): Do not examine inlinablility.
4044         (cgraph_finalize_compilation_unit): Do it here.
4045         * cgraph.h (cgraph_local_info): Add finalized field.
4046
4047 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4048
4049         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
4050         (gt_pch_restore): Likewise.
4051
4052 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4053
4054         * config/alpha/alpha.c: Fix comment typos.
4055         * config/alpha/elf.h: Likewise.
4056         * config/arm/arm.c: Likewise.
4057         * config/arm/arm.h: Likewise.
4058         * config/arm/arm.md: Likewise.
4059         * config/arm/t-arm-coff: Likewise.
4060         * config/arm/t-strongarm-pe: Likewise.
4061         * config/arm/xscale-elf.h: Likewise.
4062         * config/avr/avr.h: Likewise.
4063
4064 2003-07-01  Jeff Law  <law@redhat.com>
4065
4066         * stmt.c (any_pending_cleanups): Remove another redundant test.
4067
4068 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
4069             J"orn Rennecke <joern.rennecke@superh.com>
4070
4071         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
4072         for MEM case.
4073
4074 2003-07-01  Devang Patel  <dpatel@apple.com>
4075
4076         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
4077         (binclstatus): New.
4078         (struct dbx_file): New members - bincl_status, pending_bincl_name and
4079         prev.
4080         (pending_bincls): New.
4081         (dbxout_init): Initialize new dbx_file members.
4082         (dbxout_start_source_file): Same.
4083         (emit_bincl_stab): New function.
4084         (emit_pending_bincls): Same.
4085         (emit_pending_bincls_if_required): Same.
4086         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
4087         processed.
4088         (dbxout_begin_block): Emit pending BINCL stabs.
4089         (dbxout_end_block): Same.
4090         (dbxout_function_decl): Same.
4091         (dbxout_continue): Same.
4092         (dbxout_type): Same.
4093         (dbxout_class_name_qualifiers): Same.
4094         (dbxout_symbol): Same.
4095         (dbxout_symbol_location): Same.
4096         (dbxout_parms): Same.
4097
4098 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4099
4100         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
4101         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
4102
4103 2003-07-01  Andreas Jaeger  <aj@suse.de>
4104
4105         * fold-const.c: Convert prototypes to ISO C90.
4106         * function.c: Likewise.
4107         * function.h: Likewise.
4108
4109 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4110
4111         * doc/contrib.texi: Fix typos.
4112         * doc/invoke.texi: Likewise.
4113         * doc/passes.texi: Likewise.
4114         * doc/sourcebuild.texi: Likewise.
4115         * doc/tm.texi: Likewise.
4116
4117 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4118
4119         * basic-block.h: Fix comment typos.
4120         * bb-reorder.c: Likewise.
4121         * c-format.c: Likewise.
4122         * cfgcleanup.c: Likewise.
4123         * cfghooks.h: Likewise.
4124         * cfgloop.c: Likewise.
4125         * cfgloopmanip.c: Likewise.
4126         * cfgrtl.c: Likewise.
4127         * cgraph.h: Likewise.
4128         * cgraphunit.c: Likewise.
4129         * combine.c: Likewise.
4130         * convert.c: Likewise.
4131         * dbxout.c: Likewise.
4132         * df.c: Likewise.
4133         * df.h: Likewise.
4134         * diagnostic.c: Likewise.
4135         * dwarf2out.c: Likewise.
4136         * et-forest.h: Likewise.
4137         * flow.c: Likewise.
4138         * fold-const.c: Likewise.
4139         * function.h: Likewise.
4140         * gcov-io.h: Likewise.
4141         * gcov.c: Likewise.
4142         * gcse.c: Likewise.
4143         * genautomata.c: Likewise.
4144         * ggc-common.c: Likewise.
4145         * ggc-page.c: Likewise.
4146         * loop-unroll.c: Likewise.
4147         * loop-unswitch.c: Likewise.
4148         * loop.c: Likewise.
4149         * mips-tfile.c: Likewise.
4150         * optabs.c: Likewise.
4151         * ra-build.c: Likewise.
4152         * ra-colorize.c: Likewise.
4153         * ra-rewrite.c: Likewise.
4154         * ra.h: Likewise.
4155         * regmove.c: Likewise.
4156         * reload.c: Likewise.
4157         * rtlanal.c: Likewise.
4158         * sched-ebb.c: Likewise.
4159         * sched-int.h: Likewise.
4160         * sched-vis.c: Likewise.
4161         * sreal.c: Likewise.
4162         * ssa-ccp.c: Likewise.
4163         * ssa.c: Likewise.
4164         * toplev.c: Likewise.
4165         * tree-inline.c: Likewise.
4166         * value-prof.c: Likewise.
4167         * value-prof.h: Likewise.
4168
4169 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
4170
4171         * rtl.h (emit_line_note_after): Remove.
4172         (emit_note_copy_after, emit_note_copy): New.
4173         * emit-rtl.c (reorder_insns_with_line_notes): Replace
4174         emit_line_note_after with emit_note_copy_after.
4175         (emit_insn_after_with_line_notes): Likewise.
4176         (emit_line_note_after): Kill.
4177         (emit_note_copy_after): New.
4178         (emit_note_copy): New.
4179         * function.c (emit_return_into_block): Use emit_note_copy_after.
4180         (thread_prologue_and_epilogue_insns): Likewise.
4181         * integrate.c (expand_inline_function): Use emit_note_copy.
4182         (copy_insn_list): Likewise.
4183         * unroll.c (copy_loop_body): Likewise.
4184         * cfglayout.c (duplicate_insn_chain): Likewise.
4185
4186 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
4187
4188         * c-tree.h (define_label): Replace filename and lineno arguments
4189         with a location_t.
4190         * c-decl.c (poplevel): Adjust define_label call.
4191         (pop_label_level): Likewise.
4192         (define_label): Replace filename and lineno arguments with a
4193         location_t.
4194         (store_parm_decls): Use DECL_SOURCE_LOCATION.
4195         * c-parse.in (label): Adjust define_label call.
4196
4197 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
4198
4199         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
4200         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
4201         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
4202         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
4203         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
4204
4205 2003-07-01  Andreas Jaeger  <aj@suse.de>
4206
4207         * final.c: Convert prototypes to ISO C90.
4208         * flow.c: Likewise.
4209         * flags.h: Likewise.
4210         * gcov-io.c: Likewise.
4211         * gcov-io.h: Likewise.
4212
4213 See ChangeLog.9 for earlier changes.