OSDN Git Service

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