OSDN Git Service

359cf6d79e2acab6ba026de35a4d5aabe50110f0
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
2
3         * gcov-io.h: Update documentation.
4         (GCOV_UNSIGNED2STRING): New.
5         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
6         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
7         GCOV_TAG_SUMMARY_LENGTH): Adjust.
8         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
9         GCOV_TAG_COUNTER_NUM): New.
10         (GCOV_BLOCK_SIZE): Number of words.
11         (gcov_var): Adjust buffer type.
12         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
14         count, not byte count.
15         (gcov_open): Adjust overread init.
16         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
17         gcov_write_string, gcov_write_tag, gcov_write_length,
18         gcov_write_tag_length): Adjust.
19         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
20         (gcov_sync, gcov_seek): Adjust.
21         * gcov-dump.c (print_usage): Show gcc version only.
22         (dump_file): Use GCOV_UNSIGNED2STRING.
23         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
24         * gcov.c (print_version): Show gcc version only.
25         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
26         GCOV_TAG_*_NUM macros.
27         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
28         GCOV_TAG_COUNTER_LENGTH.
29         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
30         Use GCOV_TAG_COUNTER_NUM.
31         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
32         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
33
34 2003-07-10  Andreas Schwab  <schwab@suse.de>
35
36         * gcov-dump.c (dump_file): Fix missing address operator.
37
38 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
39
40         PR c/11449
41         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
42         of HOST_WIDE_INT.
43         (fold_single_bit_test): If sign_bit_p() fails, assume that the
44         bit being tested is not a sign bit.
45
46 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
47
48         * config/h8300/h8300.md (a peephole2): New.
49
50 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
51
52         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
53         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
54         from ld-linux.so.2 to ld.so.1.
55         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
56         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
57         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
58         nor -Wl,-rpath-link.
59         (LIB_SPEC): Add -rpath-link if !static.
60         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
61         * config/mn10300/mn10300.c (mn10300_protect_label): New
62         variable.
63         * config/mn10300/linux.h (PRINT_OPERAND,
64         PRINT_OPERAND_ADDRESS): Set it during their execution.
65         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
66         mn10300_protect_label is set.
67         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
68         -Wl,-rpath-link.
69         (LIB_SPEC, STARTFILE_SPEC): Define.
70         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
71         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
72         FLOAT_BIT_ORDER_MISMATCH.
73         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
74         * config.gcc (am33_2.0-*-linux*): Added.
75         * config/mn10300/linux.h: New.
76         * config/mn10300/t-linux: New.
77
78 2003-07-10  Andreas Jaeger  <aj@suse.de>
79
80         * fold-const.c: Properly wrap prototypes.
81
82 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
83
84         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
85         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
86         Moved from...
87         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
88         * config/mn10300/mn10300.h: GTY-declare it.
89         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
90         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
91         prototype.  Use incoming RTL argument.
92         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
93         * config/mn10300/mn10300.md (int_label): Move C statements...
94         (GOTaddr2picreg): ... here.
95         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
96         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
97         * config/mn10300/mn10300.c (mn10300_encode_section_info):
98         ... here.  New function.
99         (TARGET_ENCODE_SECTION_INFO): Define to it.
100         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
101         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
102         pattern name.
103         (mn10300_loadPC): Define as insn splittable after reload.
104         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
105         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
106         be defined in .rodata even in PIC, now that the assembler
107         supports that.
108         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
109         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
110         symbol take an underscore prefix.
111         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
112         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
113         legitimize_pic_address): Declare.
114         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
115         the PIC register as fixed.
116         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
117         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
118         PIC.
119         (LEGITIMATE_PIC_OPERAND_P): Define.
120         (PIC_OFFSET_TABLE_REGNUM): Define.
121         (GOT_SYMBOL_NAME): Define.
122         (SYMBOLIC_CONST_P): Define.
123         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
124         symbols.
125         (MN10300_GLOBAL_P): Test it.
126         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
127         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
128         * config/mn10300/mn10300.c (print_operand): Handle unspec.
129         (expand_prologue): Set PIC register.
130         (call_address_operand): Don't match SYMBOL_REFs in PIC.
131         (legitimize_address): Call legitimize_pic_address.
132         (legitimize_pic_address): New fn.
133         (legitimate_pic_operand_p): New fn.
134         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
135         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
136         UNSPEC_PLT): New constants.
137         (pop_pic_reg): New insn.
138         (movsi): Adjust non-PIC addresses.
139         (builtin_setjmp_receiver): Restore the PIC register.
140         (casesi): New insn.
141         (call): Adjust non-PIC addresses.
142         (int_label, GOTaddr2picreg): New expands.
143         (am33_loadPC): New insn.
144         (mn10300_loadPC): New expand.
145         (call_next_insn): New insn.
146         (add_GOT_to_pic_reg): New expand.
147         (symGOT2reg, symGOT2reg_i): New expands.
148         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
149         (sym2PIC, sym2PLT): New expands.
150
151 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
152
153         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
154         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
155         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
156         to flag_unsafe_math_optimizations.
157         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
158         * config/mn10300/mn10300.c (expand_prologue): Mark
159         FP-register-saving insns as frame-related.
160         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
161         * config/mn10300/mn10300.c
162         (mn10300_get_live_callee_saved_regs): Don't search past
163         LAST_EXTENDED_REGNUM.
164         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
165         * config/mn10300/mn10300.md: Remove excessive line breaks from
166         `@' output patterns that were accounted as additional
167         alternatives.
168         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
169         Re-introduce changes accidentally removed in Richard Sandiford's
170         2000-12-05's patch.
171         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
172         Re-instate am33-2 lost in merge from net GCC.
173         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
174         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
175         floating-point registers.
176         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
177         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
178         pessimizations that had gone in on 2000-05-08.
179         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
180         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
181         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
182         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
183         operand 0.
184         * (movhi): Likewise.
185         * (movsi): Likewise.
186         * (movsf): Likewise.
187         * (movdi): Likewise.
188         * (movdf): Likewise.
189         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
190         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
191         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
192         (expand_prologue, expand_epilogue): Save and restore FP regs.
193         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
194         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
195         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
196         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
197         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
198         Do not clobber cc0.
199         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
200         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
201         Discourage the two-argument, longer opcodes.
202         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
203         ones.
204         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
205         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
206         * config/mn10300/mn10300.md (cmpsf): New pattern.
207         (branch): Test mdep.fpCC and output fbCC.
208         * config/mn10300/mn10300.c (print_operand): Output conditions.
209         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
210         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
211         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
212         mulsf3, divsf3): Use the `F' constraint for FP values.
213         * config/mn10300/mn10300.c (const_1f_operand): New function.
214         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
215         * config/mn10300/mn10300.md (sqrtsf2): New expand.
216         (rsqrtsf2): New insn.
217         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
218         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
219         previous check-in.
220         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
221         * config/mn10300/mn10300.md (abssf2, negdf2): On
222         TARGET_AM33_2, expand to...
223         (abssf2_am33_2, negdf2_am33_2): New insns.
224         (addsf3, subsf3, mulsf3, divsf3): Likewise.
225         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
226         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
227         movdi, movdf): Added FP regs.
228         * invoke.texi (-mam33-2, -mno-am33-2): Document.
229         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
230         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
231         New macros.
232         (REGNO_AM33_2_FP_P): Renamed to...
233         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
234         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
235         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
236         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
237         regs from GENERAL_REGS.
238         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
239         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
240         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
241         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
242         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
243         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
244         as FP_REGS.
245         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
246         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
247         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
248         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
249         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
250         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
251         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
252         AM33/2.0 floating-point registers.
253         (CONDITIONAL_REGISTER_USAGE): Adjust.
254         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
255         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
256         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
257         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
258         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
259         (MULTILIB_DIRNAMES): Likewise.
260         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
261         `__AM33_2__' when `-mam33-2' is given.
262         (TARGET_AM33_2): Define.
263         (TARGET_SWITCHES): Adjust.
264         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
265         when appropriate.
266
267 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
268
269         * doc/install.texi: Add missing @.
270
271 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
272
273         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
274
275 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
276
277         PR/11144
278         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
279
280 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
281
282         PR bootstrap/11043
283         * config/arc/t-arc: Replace bogus references to "x-crtinit.o", 
284         "x-crtfini.o" with "crtinit.o", "crtfini.o".
285
286         * fixinc/inclhack.def (limits_ifndefs): Add select test.
287         * fixinc/fixincl.x: Rebuild.
288
289         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
290         * fixinc/fixincl.x: Rebuild.
291
292 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
293
294         * doc/install.texi (Configuration): Document the valgrind option
295         to --enable-checking.
296
297 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
298
299         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
300
301 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
302
303         * c-lex.c (cb_ident): Cast cstr.text to const char *.
304
305 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
306
307         * gcov-io.h: Update documentation.
308         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
309         GCOV_NOTE_MAGIC.
310         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
311         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
312         (struct gcov_var): Change buffer's type. Add endian flag.
313         (gcov_open): Remove mode in libgcov.
314         (gcov_magic): Prototype.
315         * gcov-io.c (from_file): New.
316         (gcov_open): Clear endian flag.
317         (gcov_magic): New.
318         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
319         pointers.
320         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
321         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
322         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
323         * gcov-iov.c (main): Correct cast.
324         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
325         conversion.
326         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
327         (coverage_init): Use GCOV_NOTE_SUFFIX.
328         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
329         Rename to gcov_version, and return flag.
330         (gcov_exit): Use gcov_version.
331         (__gcov_init): Use gcov_version.
332         * Makefile.in (coverageexts): Update.
333         * gcov.c (print_version): Remove endianness conversion.
334         (create_file_names): Use GCOV_NOTE_SUFFIX.
335         (read_graph_file): Use gcov_magic.
336         (read_count_file): Likewise.
337         * gcov-dump.c (dump_file): Remove endianness conversion, use
338         gcov_magic.
339
340 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
341
342         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
343         coverage is on.
344         * configure: Regenerated.
345         * Makefile.in (ALL_CFLAGS): Correct its comment.
346
347 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
348
349         * fold-const.c (make_range): Do not access operand 1 for a
350         zero-operand operator.
351
352 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
353
354         * toplev.c (warn_dummy, W_options): Die.
355         (display_help): Don't print W_options.
356         * common.opt: Add W_options help from toplev.c.
357
358 2003-07-09  Andreas Jaeger  <aj@suse.de>
359
360         * opts.c (wrap_help): Only pass int arguments as arguments to
361         printf's '*' modifier.  Change argument of function.
362
363 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
364
365         * doc/invoke.texi: Fix misspelling of "@item".
366
367 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
368
369         * config/i386/i386.md: Remove an old comment about
370         NOTICE_UPDATE_CC.
371
372 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
373
374         * cgraph.c (cgraph_node_name): New function.
375         (dump_cgraph): Use it.
376         * cgraph.h (cgraph_dump_file): Declare.
377         (cgraph_node_name): Declare.
378         * cgraphunit.c: Include timevar.h
379         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
380         (cgraph_optimize_function): Use TV_INTEGRATION.
381         (cgraph_mark_local_functions): reorganize dumps.
382         (cgraph_mark_functions_to_inline_once): Likewise.
383         (cgraph_optimize): Likewise; use timevar.
384         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
385         * toplev.c (dump_file_index): Add DFI_cgraph.
386         (dump_file_info): Likewise.
387         (cgraph_dump_file): New global variable.
388         (do_compile): Open and close cgraph dump.
389         * invoke.texi (-d): Document new flag; renumber.
390
391 2003-07-08  Roger Sayle  <roger@eyesopen.com>
392
393         PR c/11370
394         * calls.c (emit_call_1): Don't bother popping the arguments off of
395         the stack after a noreturn function call;  The adjustment is dead.
396         (expand_call): Likewise.
397
398 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
399
400         * expr.c (MOVE_MAX_PIECES): Move from here...
401         * defaults.h (MOVE_MAX_PIECES): ... to here.
402
403 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
404
405         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
406
407 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
408
409         * genattr.c (internal_dfa_insn_code): Don't prototype.
410         * genattrtab.c (attr_desc): Add `static_p' field.
411         (expand_units): Make blockage range and ready cost functions
412         static.
413         (write_attr_get): Don't add extern prototypes in C file.  Mark
414         static functions as appropriate.
415         (find_attr, make_internal_attr): Initialize static_p.
416         * genattrtab.h (ATTR_STATIC): New macro.
417         * genautomata.c (output_internal_reset_func): Mark output function
418         as inline.
419         (make_internal_dfa_insn_code_attr): Mark output function as static.
420
421 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
422
423         * genattrtab.h: Add new macros for attr `special' flags.
424         * genattrtab.c (attr_desc): Reorder/resize fields better.
425         Use attr `special' macros in all calls to make_internal_attr.
426         * genautomata.c: Likewise.
427
428 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
429
430         * c-common.c (c_estimate_num_insns_1): New static function.
431         (c_estimate_num_insns): New global function.
432         * c-common.h (DECL_NUM_STMTS): Rename to...
433         (DECL_ESTIMATED_INSNS): ... this.
434         (c_estimate_num_insns): Declare.
435         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
436         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
437         * c-semantics.c (add_stmt): Do not account statements.
438         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
439         New.
440         * langhooks.h (lang_hooks_for_tree_inlining): Add
441         estimate_num_insns
442         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
443         to 100.
444         (max-inline-insns): set to 300.
445         (min-inline-insns): set to 10.
446         * tree-inline.c (struct inline_data): Rename inlined_stmts to
447         inlined-insns.
448         (INSNS_PER_STMT): Kill.
449         (inlinable_function_p): Compute and store body size.
450         (expand_call_inline): Likewise.
451         (optimize_inline_calls): Likewise.
452
453 2003-07-08  James E Wilson  <wilson@tuliptree.org>
454
455         PR target/10021
456         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
457         loop over new variable t2 instead of t.
458
459 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
460
461         PR bootstrap/11455
462         * config/i386/winnt.c: Replace use of error(), warning() with
463         error_with_decl(), warning_with_decl(),  throughout.
464
465 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
466
467         * opts.c (wrap_help): Use unsigned int, not size_t.
468
469 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
470
471         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
472         as .file/.loc directives are incompatible with linker relaxation.
473
474 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
475
476         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
477         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
478         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
479         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
480         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
481         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
482         Escape { and } characters which are not part of range expressions.
483         * fixinc/fixincl.x: Regenerate.
484         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
485
486 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
487
488         PR c/1687
489         * tree-inline.c (find_alloca_call): Use
490         walk_tree_without_duplicates, instead of walk_tree.
491         (find_builtin_longjmp_call): Likewise.
492         * c-objc-common.c (c_cannot_inline_fn): Likewise.
493         * c-semantics.c (find_reachable_label): Likewise.
494
495 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
496
497         PR c/11420
498         * config/i386/i386.c (ix86_check_movabs): New function.
499         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
500         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
501         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
502
503 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
504
505         * Makefile.in (install-po): Cope with empty CATALOGS.
506
507 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
508
509         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
510         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
511         (SECTION_FUNCTION_TEMPLATE): Delete.
512         * config/mips/elf.h: As for elf64.h.
513         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
514         * config/mips/linux.h: As for elf.h
515         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
516         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
517         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
518         of in_sdata from current_section_name and current_section_flags.
519         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
520         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
521         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
522         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
523         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
524         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
525         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
526         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
527         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
528         (override_options): Remove setting of MASK_GPOPT.
529         (mips_output_external): Use mips_in_small_data_p to check whether a
530         symbol needs an .extern directive.  Don't emit such directives for
531         TARGET_EXPLICIT_RELOCS.
532         (mips_declare_object): Update accordingly.
533         (mips_select_rtx_section): Call named_section rather than
534         SMALL_DATA_SECTION.
535         (mips_select_section): Use default_elf_section_section for everything
536         except .text string constants.
537         (mips_in_small_data_p): New function.
538         (mips_encode_section_info): Remove small data handling.
539         (mips_unique_section): Delete.
540         (iris6_section_type_flags): New function.
541         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
542
543 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
544
545         PR Target/11453
546         * pa.md: Disparage all mtsar constraints.
547         (extzv, extv, insv): Don't fail on length of {32|64}.
548
549 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
550
551         * system.h: Poison MAP_CHARACTER.
552         * config/i370/i370-protos.h (mvs_map_char): Delete.
553         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
554         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
555         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
556
557 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
558
559         * toplev.c (randomize): Correct call to time().
560
561 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
562
563         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
564         REG_EQUIV notes as well.
565
566 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
567
568         * doc/md.texi: Fix the description of addmodecc.
569
570 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
571
572         * Makefile.in (top_builddir): Set to "..", not ".".
573         (INTLLIBS, INTLDEPS): Delete.
574         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
575         (LIBDEPS): Add $(LIBICONV_DEP).
576         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
577         (INCLUDES): Replace -I../intl with @INCINTL@.
578         ($(top_builddir)/intl/libintl.a): Delete rule.
579         (stage2-start, stage3-start, stage4-start, stageprofile-start,
580         stagefeedback-start): Use $$ for variable to be evaluated by
581         shell, not make.
582         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
583         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
584         * aclocal.m4: sinclude ../config/progtest.m4.  Add
585         contents of lcmessage.m4 from gettext distro.
586         * configure.in: Check for wchar.h and setlocale.  Set
587         LIBICONV_DEP to the empty string and substitute it.
588         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
589         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
590         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
591         in $LIBINTL, to avoid linking it twice.
592         * configure, config.in: Regenerate.
593
594 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
595
596         * fixinc/mkfixinc.sh: Remove winnt support.
597         * fixinc/fixinc.winnt: Delete with extreme prejudice.
598
599 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
600
601         * Makefile.in: Update.
602         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
603         * c.opt: Update documentation.
604         * common.opt: Add some help text.
605         * opts.c: Include intl.h.
606         (wrap_help, print_help): New.
607         (find_opt, handle_option, common_handle_option): opt_text now
608         contains the '-'.  Use print_help to output help.
609         * opts.h (struct cl_option): New member "help".
610         * opts.sh: Update to handle help text output and to prepend
611         options with '-'.
612         * toplev.c (display_help): Remove some help text.
613
614 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
615             Fariborz Jahanian  <fjahanian@apple.com>
616
617         * configure.in: Test for PowerPC mfcr field support in assembler.
618         * config.in, configure: Regenderated.
619
620         * config/rs6000/power4.md: Add mfcrf reservation.
621         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
622         * config/rs6000/rs6000.c (mfcr_operation): Define.
623         (print_operand): Add 'Q' case for mfcrf.
624         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
625         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
626         (movcc_internal1): Emit optional field operand for mfcr and set
627         "type" attribute appropriately.
628         (mfcr SCC): Likewise.
629         (movesi_from_cr_one): New.
630
631 2003-07-07  Roger Sayle  <roger@eyesopen.com>
632
633         * config/i386/i386.md: Correct check-in of incorrect version.
634
635 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
636
637         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
638         adjacent stdio calls.
639         * c-decl.c (c_print_identifier): Likewise.
640         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
641         * print-rtl.c (print_rtx): Likewise.
642         * print-tree.c (print_node_brief, print_node): Likewise.
643         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
644
645         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
646         * config.in, configure: Regenerated.
647
648 2003-07-07  Roger Sayle  <roger@eyesopen.com>
649
650         PR target/10979
651         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
652         Changed to define_expand patterns that copy operand[1] to prevent
653         it from being clobbered before emitting an atan2?f3_1 insn.
654         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
655         patterns that actually specify the behaviour of x87's FPATAN.
656
657 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
658
659         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
660         clearing of SYMBOL_FLAG_LOCAL bit.
661         If vcall_offset fits into signed 16-bit immediate, use
662         one instruction for both addition and load.
663
664 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
665
666         * opts.c (common_handle_option): Correct handling of the
667         -falign- switches that do and don't take an argument.
668
669 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
670
671         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
672         today.
673         (pushhi1_h8300hs): Likewise.
674
675 2003-07-07  Andreas Jaeger  <aj@suse.de>
676
677         * genextract.c: Convert remaining prototypes to ISO C90.
678
679         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
680         * fold-const.c (fold_single_bit_test): Likewise.
681         * diagnostic.c (default_diagnostic_finalizer): Likewise.
682         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
683
684         * gengtype.c (write_array): Generate ISO C90 prototypes.
685
686         * genflags.c (gen_proto): Generate ISO C90 prototypes.
687
688 2003-07-07  Roger Sayle  <roger@eyesopen.com>
689
690         PR optimization/11059
691         * expr.c (can_store_by_pieces): Return true if length is zero.
692         (store_by_pieces): If length is zero and endp is two, abort,
693         othwerise, if length is zero and endp is not two, return "to".
694         (clear_by_pieces): Do nothing if length is zero.
695         (clear_storage): Do nothing if length is zero.
696         (store_constructor): Simplify code when size is zero, or the
697         target has already been cleared.  This avoids emitting a
698         blockage instruction when initializing empty structures.
699
700 2003-07-07  Andreas Jaeger  <aj@suse.de>
701
702         * mips-tfile.c: Convert prototypes to ISO C90.
703         * mips-tdump.c: Convert prototypes to ISO C90.
704
705 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
706
707         * rtl.h (emit_line_note): Take a location_t.
708         (emit_line_note_force): Remove.
709         (set_file_and_line_for_statement): Take a location_t.
710         * tree.g (emit_line_note): Take a location_t.
711         * emit-rtl.c (emit_line_note): Take a location_t.
712         (emit_line_note_force): Remove.
713         * function.c (init_function_start): Adjust emit_line_note call.
714         (expand_function_end): Use force_next_line_note, not
715         emit_line_note_force.
716         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
717         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
718         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
719         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
720         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
721         genrtl_continue_stmt, genrtl_switch_stmt,
722         genrtl_asm_stmt): Likewise.
723         * expr.c (expand_expr): Likewise.
724         * integrate.c (expand_inline_function): Likewise.
725         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
726         (expand_decl_init): Adjust emit_line_note call.
727
728 2003-07-07  Dale Johannesen  <dalej@apple.com>
729
730         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
731
732 2003-07-07  Andreas Jaeger  <aj@suse.de>
733
734         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
735         * config/i386/i386.c: Likewise.
736
737 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
738
739         * config/h8300/h8300.md: Use gen_int_mode instead of
740         GEN_INT (trunc_int_for_mode (...)).
741
742 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
743
744         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
745         2 bytes and then subtract 2 from the stack pointer.
746         (pushhi1_h8300hs): Likewise.
747
748 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
749
750         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
751         -frandom-seed.
752         * configure: Regenerated.
753         * Makefile.in: Remove extraneous comment.
754         * toplev.c (randomize): Protect against potential multiple calls.
755         * doc/invoke.texi (-frandom-seed): Document use for in coverage
756         files.
757
758 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
759             Eric Botcazou  <ebotcazou@libertysurf.fr>
760
761         PR optimization/11198
762         * alias.c (objects_must_conflict_p): Return 1 if the types have
763         the same alias set, not if the alias sets only conflict.
764
765 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
766
767         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
768         (convert_cset): Change inbuf to type ICONV_CONST char.
769         * Makefile.in (LIBS): Add LIBICONV.
770
771         * doc/invoke.texi (-falign-functions): Document that
772         when n is zero then a machine-dependent default is used.
773         (-falign-labels): Document that when n is zero then a
774         machine-dependent default is used and that -falign-labels =1
775         is equivalent to -fno-align-labels.
776         (-falign-loops): Likewise.
777         (-falign-jumps): Likewise.
778
779 2003-07-06  Art Haas  <ahaas@airmail.net>
780
781         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
782         initializer syntax.
783
784 2003-07-06  James E Wilson  <wilson@tuliptree.org>
785
786         PR optimization/9812
787         * rtl.h (mem_for_const_double): Delete prototype.
788         * varasm.c (mem_for_const_double): Delete function.
789         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
790         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
791         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
792         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
793         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
794         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
795         comment about confused support for XFmode constants.
796
797 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
798
799         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
800
801 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
802
803         * config/h8300/h8300.c: Fix comment typos.
804         * config/h8300/h8300.md: Likewise.
805         * config/i386/athlon.md: Likewise.
806         * config/i386/i386.c: Likewise.
807         * config/i386/pentium.md: Likewise.
808         * config/ia64/ia64.c: Likewise.
809         * config/ia64/itanium1.md: Likewise.
810         * config/ia64/itanium2.md: Likewise.
811         * config/m32r/m32r.md: Likewise.
812         * config/m68hc11/m68hc11.c: Likewise.
813         * config/mcore/mcore.c: Likewise.
814         * config/mips/sr71k.md: Likewise.
815         * config/mips/t-iris5-as: Likewise.
816         * config/mmix/mmix.h: Likewise.
817         * config/ns32k/ns32k.h: Likewise.
818         * config/ns32k/NOTES: Fix a typo.
819
820 2003-07-06  Andreas Jaeger  <aj@suse.de>
821
822         * stmt.c: Convert remaining prototypes to ISO C90.
823         * cfglayout.c: Likewise.
824         * dbxout.c: Likewise.
825         * gcc.c: Likewise.
826         * genemit.c: Likewise.
827
828         * basic-block.h: Convert prototypes to ISO C90.
829         * c-parse.in: Likewise.
830         * c-pragma.h: Likewise.
831         * c-typeck.c: Likewise.
832         * cfghooks.h: Likewise.
833         * cfgloopanal.c: Likewise.
834         * dbxout.h: Likewise.
835         * debug.h: Likewise.
836         * dwarf2asm.h: Likewise.
837         * gcov.c: Likewise.
838         * gengtype-lex.l: Likewise.
839         * sched-int.h: Likewise.
840         * timevar.c: Likewise.
841
842 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
843
844         * c-common.h (c_comon_handle_filename,
845         c_common_missing_arguement): New.
846         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
847         LANG_HOOKS_MISSING_ARGUMENT): New.
848         * c-opts.c (missing_arg): Rename c_common_missing_argument,
849         update to be an appropriate langhook.
850         (c_common_handle_option): Don't handle filenames.
851         (c_common_handle_filename): New.
852         * hooks.c (hook_void_constcharptr,
853         hook_bool_constcharptr_size_t_false): New.
854         * hooks.h (hook_void_constcharptr,
855         hook_bool_constcharptr_size_t_false): New.
856         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
857         LANG_HOOKS_MISSING_ARGUMENT): New.
858         (LANG_HOOKS_INITIALIZER): Update.
859         * langhooks.h (struct lang_hooks): Add handle_filename and
860         missing_argument.
861         * opts.c (handle_option): Don't handle filenames here, but ...
862         (handle_options): ... here.
863         (common_handle_option): Don't handle missing arguments here.
864         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
865         LANG_HOOKS_MISSING_ARGUMENT): New.
866
867 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
868
869         * Makfile.in: Remove traces of mbchar.
870         * c-parse.in (MULTIBYTE_CHARS): Remove.
871         * config.in (MULTIBYTE_CHARS): Remove.
872         * configure: Remove --enable-mbchar.
873         * configure.in: Remove --enable-mbchar.
874         * mbchar.c, mbchar.h: Remove.
875         * system.h: Poison MULTIBYTE_CHARS.
876         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
877         * config/linux.h (MULTIBYTE_CHARS): Remove.
878         * config/svr4.h (MULTIBYTE_CHARS): Remove.
879         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
880
881 2003-07-06  Andreas Jaeger  <aj@suse.de>
882
883         * varray.c (varray_check_failed): Fix typo.
884
885         * unroll.c: Convert prototypes to ISO C90.
886         * varasm.c: Likewise.
887         * varray.c: Likewise.
888         * varray.h: Likewise.
889         * vmsdbgout.c: Likewise.
890         * xcoffout.c: Likewise.
891         * xcoffout.h: Likewise.
892
893 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
894
895         * gcov-io.h: Add a local time stamp.
896         (struct gcov_info): Add stamp field.
897         (gcov_truncate): New.
898         * coverage.c (read_counts_file): Skip the stamp.
899         (coverage_begin_output): Write the stamp.
900         (build_gcov_info): Declare and init the stamp.
901         (coverage_finish): Only unlink data file, if stamp is zero.
902         * gcov-dump.c (dump_file): Dump the stamp.
903         * gcov.c (bbg_stamp): New.
904         (release_structures): Clear bbg_stamp.
905         (read_graph_file): Read stamp.
906         (read_count_file): Check stamp.
907         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
908
909 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
910
911         * tree.h (default_flag_random_seed): Remove.
912         * toplev.h (local_tick): Declare.
913         * tree.c (flag_random_seed, default_flag_random_seed): Move to
914         toplev.c.
915         (append_random_chars): Don't call default_flag_random_seed.
916         * toplev.c (flag_random_seed): Define here. Set local_tick.
917         (local_tick): Define.
918         (randomize): New, moved from tree.c.
919         (print_switch_values): Adjust.
920         (toplev_main): Call randomize.
921
922 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
923
924         * tree.h (crc32_string): Declare.
925         * tree.c (append_random_chars): Remove.
926         (crc32_string): New.
927         (get_file_function_name_long): Use crc32_string here.
928
929 2003-07-06  Andreas Jaeger  <aj@suse.de>
930
931         * gcc.c: Convert prototypes to ISO C90.
932         * gcc.h: Likewise.
933         * gcov-dump.c: Likewise.
934         * gcov-iov.c: Likewise.
935         * gcse.c: Likewise.
936         * genattrtab.h: Likewise.
937         * ggc.h: Likewise.
938         * global.c: Likewise.
939         * graph.c: Likewise.
940         * graph.h: Likewise.
941         * hosthooks.h: Likewise.
942         * hooks.h: Likewise.
943         * hooks.c: Likewise.
944         * hashtable.h: Likewise.
945         * hashtable.c: Likewise.
946         * haifa-sched.c: Likewise.
947         * integrate.h: Likewise.
948         * integrate.c: Likewise.
949         * input.h: Likewise.
950         * ifcvt.c: Likewise.
951         * jump.c: Likewise.
952         * langhooks-def.h: Likewise.  Add extern to prototypes.
953         * langhooks.c: Likewise.
954         * langhooks.h: Likewise.
955         * lcm.c: Likewise.
956         * local-alloc.c: Likewise.
957         * loop-init.c: Likewise.
958         * loop-unroll.c: Likewise.
959         * loop-unswitch.c: Likewise.
960         * loop.c: Likewise.
961         * loop.h: Likewise. Add extern to prototypes.
962         * machmode.h: Likewise.
963         * main.c: Likewise.
964         * mbchar.c: Likewise.
965         * mbchar.h: Likewise.
966         * mkdeps.c: Likewise.
967         * mkdeps.h: Likewise.
968         * optabs.c: Likewise.
969         * optabs.h: Likewise.
970         * output.h: Likewise.
971         * gccspec.c: Likwise.
972         * postreload.c: Likewise.
973         * prefix.c: Likewise.
974         * prefix.h: Likewise.
975         * print-rtl.c: Likewise.
976         * print-tree.c: Likewise.
977         * profile.c: Likewise.
978         * read-rtl.c: Likewise.
979         * real.c: Likewise.
980         * real.h: Likewise.
981         * recog.c: Likewise.
982         * recog.h: Likewise.
983         * reg-stack.c: Likewise.
984         * regclass.c: Likewise.
985         * regmove.c: Likewise.
986         * regrename.c: Likewise.
987         * regs.h: Likewise.
988         * reload.c: Likewise.
989         * reload.h: Likewise.
990         * reload1.c: Likewise.
991         * reorg.c: Likewise.
992         * resource.c: Likewise.
993         * resource.h: Likewise.
994         * rtl-error.c: Likewise.
995         * rtl.c: Likewise.
996         * rtl.h: Likewise.
997         * rtlanal.c: Likewise.
998         * sbitmap.c: Likewise.
999         * sbitmap.h: Likewise.
1000         * scan-decls.c: Likewise.
1001         * scan.c: Likewise.
1002         * sched-deps.c: Likewise.
1003         * sched-ebb.c: Likewise.
1004         * sched-int.h: Likewise.
1005         * sched-rgn.c: Likewise.
1006         * sched-vis.c: Likewise.
1007         * sibcall.c: Likewise.
1008         * simplify-rtx.c: Likewise.
1009         * sreal.c: Likewise.
1010         * sreal.h: Likewise.
1011         * ssa-ccp.c: Likewise.
1012         * ssa-dce.c: Likewise.
1013         * ssa.c: Likewise.
1014         * ssa.h: Likewise.
1015         * stack.h: Likewise.
1016         * stmt.c: Likewise.
1017         * stor-layout.c: Likewise.
1018         * stringpool.c: Likewise.
1019         * target.h: Likewise.
1020         * timevar.c: Likewise.
1021         * timevar.h: Likewise.
1022         * tlink.c: Likewise.
1023         * tracer.c: Likewise.
1024         * tree-inline.c: Likewise.
1025         * tree-inline.h: Likewise.
1026         * tree.c: Likewise.
1027         * tree.h: Likewise.
1028
1029 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1030
1031         * combine.c (nonzero_bits1): Fix a warning.
1032
1033 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1034
1035         * config/h8300/h8300.c (compute_mov_length): Correct the
1036         length of loading CONST0_RTX (SFmode).
1037
1038 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
1039
1040         * toplev.c (output_clean_symbol_name): Remove.
1041         * toplev.h (output_clean_symbol_name): Remove.
1042         * config/alpha/alpha.c (unicosmk_output_module_name): Use
1043         lbasename & clean_symbol_name.
1044
1045 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1046
1047         * ggc.h: Follow spelling conventions.
1048         * config/i386/i386.c: Likewise.
1049         * config/i386/winnt.c: Likewise.
1050         * config/rs6000/rs6000.c: Likewise.
1051
1052 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
1053
1054         * bt-load.c: Fix comment typos.
1055         * c-incpath.c: Likewise.
1056         * cfg.c: Likewise.
1057         * cfgcleanup.c: Likewise.
1058         * cfgloop.h: Likewise.
1059         * cfgloopmanip.c: Likewise.
1060         * cfgrtl.c: Likewise.
1061         * diagnostic.h: Likewise.
1062         * dwarfout.c: Likewise.
1063         * emit-rtl.c: Likewise.
1064         * et-forest.c: Likewise.
1065         * et-forest.h: Likewise.
1066         * expr.c: Likewise.
1067         * gcse.c: Likewise.
1068         * genattr.c: Likewise.
1069         * jump.c: Likewise.
1070         * langhooks.h: Likewise.
1071         * local-alloc.c: Likewise.
1072         * loop-unroll.c: Likewise.
1073         * loop-unswitch.c: Likewise.
1074         * ra-build.c: Likewise.
1075         * regclass.c: Likewise.
1076         * regmove.c: Likewise.
1077         * rtl.def: Likewise.
1078         * rtlanal.c: Likewise.
1079         * sched-ebb.c: Likewise.
1080         * sched-rgn.c: Likewise.
1081         * simplify-rtx.c: Likewise.
1082         * ssa.c: Likewise.
1083         * tracer.c: Likewise.
1084         * tree.c: Likewise.
1085
1086 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
1087
1088         * cppcharset.c: Use the correct return type for the fallback iconv
1089         macro.
1090
1091 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1092
1093         Blame to Jan Hubicka  <jh@suse.cz>
1094         * cfglayout.c (record_effective_endpoints): Split insns before
1095         first basic block correctly.
1096
1097 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1098
1099         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
1100         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
1101         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1102
1103 2003-07-05  Andreas Jaeger  <aj@suse.de>
1104
1105         * genattrtab.c (write_attr_get): Revert part of last patch to
1106         always write out a prototype.
1107
1108         * genemit.c (gen_split): Readd lost unused attributes in last
1109         patch.
1110
1111 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1112
1113         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
1114         different from header.
1115
1116 2003-07-05  Andreas Schwab  <schwab@suse.de>
1117
1118         * config/m68k/m68k.c: Remove code protected by CRDS.
1119         * config/m68k/m68k.md: Likewise.
1120
1121 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
1122
1123         PR driver/11417
1124         * c-opts.c (permit_fortran_options): New.
1125         (c_common_init_options): Accept fortran front end options if
1126         it looks like we might be preprocessing Fortran.
1127         (c_common_handle_option): Don't reject switch if permit_fotran_options.
1128
1129 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1130
1131         * genattr.c (internal_dfa_insn_code): Output prototype.
1132         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
1133         * genautomata.c: Likewise.
1134         * genconditions.c: Likewise.
1135         * genemit.c: Likewise.
1136         * genextract.c: Likewise.
1137         * gengenrtl.c: Likewise.
1138         * gengtype.c: Likewise.
1139         * genopinit.c: Likewise.
1140         * genoutput.c: Likewise.
1141         * genpeep.c: Likewise.
1142         * genrecog.c: Likewise.
1143
1144 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
1145
1146         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
1147         (struct cpp_options): Add narrow_charset, wide_charset,
1148         bytes_big_endian fields.  Remove EBCDIC field.
1149         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
1150
1151         * cpphash.h: Include <iconv.h> if we have it, otherwise
1152         provide a dummy definition of iconv_t.
1153         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
1154         (_cpp_valid_ucn): Update prototype.
1155         (_cpp_destroy_iconv): New prototype.
1156
1157         * doc/cpp.texi: Document character set handling.
1158         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
1159         * doc/extend.texi: Delete entire section on multiline strings.
1160         Rewrite section on __FUNCTION__ etc now that these are
1161         variables in C.
1162
1163         * cppucnid.tab, cppucnid.pl: New files.
1164         * cppucnid.h: New generated file.
1165         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
1166         (iconv_open, iconv, iconv_close): Provide dummy definitions
1167         if !HAVE_ICONV.
1168         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
1169         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
1170         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
1171         cpp_interpret_string, narrow_str_to_charconst,
1172         wide_str_to_charconst): New.
1173         (ucn_valid_in_identifier): Use a binary search through the
1174         ucnranges table defined in cppucnid.h, not a long chain of if
1175         statements.
1176         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
1177         character names are only valid in C++ and C99" to a warning.
1178         Issue the "meaning of \[uU] is different in traditional C"
1179         warning here.  Take care not to let iconv see an invalid UCS
1180         value if we get a malformed UCN.  Issue an error if we don't
1181         have iconv.
1182         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
1183         cpp_interpret_string to do the heavy lifting.
1184
1185         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
1186         narrow_charset, wide_charset fields of options structure.
1187         (cpp_destroy): Call _cpp_destroy_iconv.
1188         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
1189         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
1190         (cpp_interpret_charconst): Moved to cppcharset.c.
1191         * cpplib.c (dequote_string): Delete.
1192         (interpret_string_notranslate): New.
1193         (do_line, do_linemarker): Use interpret_string_notranslate.
1194
1195         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
1196
1197         * c-common.c (fname_string, combine_strings): Delete.
1198         * c-common.h (fname_string, combine_strings): Delete prototypes.
1199         * c-lex.c (ignore_escape_flag): Delete.
1200         (cb_ident): Use cpp_interpret_string, not lex_string.
1201         (get_nonpadding_token): New function.
1202         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
1203         Adjust calls to lex_string.  Don't write *value twice.
1204         (lex_string): Now handles string constant concatenation.
1205         Most of the work handed off to cpp_interpret_string.
1206         Call fix_string_type here.
1207         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
1208         FUNC_NAME, throughout.
1209         (OBJC_STRING): New token type.
1210         (primary:STRING): No need to call fix_string_type here.
1211         (primary:objc_string): Make that OBJC_STRING.
1212         (objc_string nonterminal): Delete.
1213         (yylexname): Delete code to handle fake string constants.
1214         (yylexstring): Delete entirely.
1215         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
1216         to handle CPP_ATSIGN.
1217
1218         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
1219         * c-opts.c (missing_arg, c_common_handle_option): Handle
1220         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
1221         (c_common_init): Set cpp_opts->bytes_big_endian, not
1222         cpp_opts->EBCDIC.  Call cpp_init_iconv.
1223         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
1224         (TARGET_EBCDIC): Delete default definition.
1225
1226         * objc/objc-act.c (build_objc_string_object): No need to
1227         handle string constant concatenation.
1228
1229 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
1230
1231         * doc/install.texi: Fix typos.
1232         * doc/invoke.texi: Likewise.
1233         * doc/tm.texi: Likewise.
1234
1235 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
1236
1237         * config/pa/fptr.c: Fix comment typos.
1238         * config/pa/pa-64.h: Likewise.
1239         * config/pa/pa.c: Likewise.
1240         * config/pa/pa.h: Likewise.
1241         * config/rs6000/603.md: Likewise.
1242         * config/rs6000/7xx.md: Likewise.
1243         * config/rs6000/darwin.h: Likewise.
1244         * config/rs6000/freebsd.h: Likewise.
1245         * config/rs6000/rs6000.c: Likewise.
1246         * config/rs6000/rs6000.md: Likewise.
1247         * config/rs6000/spe.h: Likewise.
1248
1249 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
1250
1251         * config/s390/2064.md: Change GNU CC to GCC.
1252         * config/s390/2084.md: Likewise.
1253         * config/s390/fixdfdi.h: Likewise.
1254         * config/s390/linux.h: Likewise.
1255         * config/s390/s390-modes.def: Likewise.
1256         * config/s390/s390-protos.h: Likewise.
1257         * config/s390/s390.c: Likewise.
1258         * config/s390/s390.h: Likewise.
1259         * config/s390/s390.md: Likewise.
1260         * config/s390/s390x.h: Likewise.
1261
1262 2003-07-04  Jeff Law  <law@redhat.com>
1263
1264         PR c/11428
1265         * expr.c (do_store_flag): Pass in the correct result type
1266         when calling fold_single_bit_test.
1267         * fold-const.c (fold_single_bit_test): Use result_type for the
1268         result when folding a sign bit test.
1269
1270 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
1271
1272         * opts.c (common_handle_options): Negate sense of -falign- switches.
1273
1274 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
1275
1276         * Makefile.in: Replace PWD with PWD_COMMAND.
1277
1278 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1279
1280         * cfgloopanal.c (count_strange_loop_iterations): New static function.
1281         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
1282         Handle strange loops.
1283
1284 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
1285
1286         * install.texi: Even the g77 manpage is derived from
1287         the full g77 manual.
1288
1289 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
1290
1291         * ABOUT-NLS: Delete.
1292         * intl: Delete entire directory.
1293         * aclocal.m4: Include ../config/gettext.m4.  Delete
1294         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
1295         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
1296         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
1297         Remove intl/Makefile from all_outputs.
1298         * configure, config.in: Regenerate.
1299         * Makefile.in: Expunge all references to intl subdirectory.
1300         Add -I../intl to INCLUDES.
1301         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
1302
1303 2003-07-04  Roger Sayle  <roger@eyesopen.com>
1304
1305         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
1306         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
1307
1308 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
1309
1310         PR c++/5287, PR c++/7910, PR c++/11021
1311         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
1312         dllimport attribute if function is defined at declaration, but
1313         report error instead. Likewise for dllimport'd variable
1314         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
1315         declared within functions, Report error if dllimport or dllexport
1316         symbol is not global.
1317         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
1318         if defined after declaration or if inlined. Don't allow definition
1319         of static data members of C++ classes. Don't dllimport virtual
1320         methods.
1321         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
1322         (i386_pe_mark_dllimport): Remove unnecessary checks.
1323         (i386_pe_encode_section_info): Warn if the dllimport attribute
1324         and symbol prefix have been instantiated and then overridden.
1325
1326         * doc/extend.texi: Document dllimport and dllexport attributes.
1327
1328         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
1329
1330 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
1331
1332         * config/kaos.h (CPP_PREDEFINES): Delete.
1333         (TARGET_OS_CPP_BUILTINS): New.
1334
1335 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1336
1337         * c-aux-info.c: Include toplev.h after c-tree.h.
1338         * c-common.c: Likewise.
1339         (GCC_DIAG_STYLE): Undef.
1340         * c-semantics.c (GCC_DIAG_STYLE): Define.
1341         * c-tree.h (GCC_DIAG_STYLE): Likewise.
1342         * diagnostic.h (inform): Move prototype to toplev.h.
1343         * jump.c: Include diagnostic.h before toplev.h.
1344         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
1345         (warning, error, fatal_error, pedwarn, sorry, inform,
1346         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
1347
1348 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1349
1350         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
1351         at all if edge is not specified.
1352         (can_copy_bbs_p, copy_bbs): New.
1353         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
1354         * cfgloop.c (get_loop_body): Comment more precisely.
1355         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
1356         (scale_bbs_frequencies): Fix comment typo.
1357         (can_duplicate_loop_p): Use can_copy_bbs_p.
1358         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
1359
1360 2003-07-03  Devang Patel <dpatel@apple.com>
1361
1362         * c-opts.c (c_common_parse_file): Remove extra
1363         debug_hooks->start_source_file call.
1364
1365 2003-07-03  Roger Sayle  <roger@eyesopen.com>
1366
1367         * real.c (real_trunc, real_floor, real_ceil): New functions
1368         to implement trunc, floor and ceil respectively.
1369         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
1370         * builtins.c (integer_valued_real_p): New function to test if
1371         a floating point expression has an integer valued result.
1372         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
1373         foo(x) where foo is an integer rounding function.  Similarly,
1374         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
1375         (double)(int)x when both foo and bar are integer rounding
1376         functions and we don't need to honor errno.
1377         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
1378         New functions to fold trunc, floor and ceil.
1379         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
1380         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
1381         to fold BUILT_IN_CEIL*.
1382         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
1383         the remaining integer rounding functions.
1384
1385 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
1386
1387         * config/sparc/sparc.c (function_arg_partial_nregs): Use
1388         SPARC_INT_ARG_MAX to determine where to split unnamed
1389         complex FP arguments.
1390
1391 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
1392
1393         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
1394         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
1395         (merge_blocks_move_predecessor_nojumps,
1396          merge_blocks_move_successor_nojumps): Use merge_blocks.
1397         (try_optimize_cfg): Use merge_blocks_move.
1398         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
1399         (merge_blocks_nomove): Rename to rtl_merge_blocks.
1400         (cfg_layout_create_basic_block): New.
1401         (rtl_can_merge_blocks): New.
1402         (cfg_layout_split_block): Do not alloc aux by hand.
1403         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
1404         merge_blocks.
1405         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
1406         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
1407         * cfgloopmanip.c (loop_split_edge_with): Likewise.
1408         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
1409
1410         * basic-block.h (basic_block_def): Add field 'rbi'.
1411         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
1412         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
1413         * cfg.c (entry_exit_blocks): Add new field.
1414         * cfglayout.c: Include alloc-pool.h;
1415         (cfg_layout_pool): New.
1416         (record_effective_endpoints, fixup_reorder_chain,
1417         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
1418         of rbi.
1419         (cfg_layout_initialize_rbi): New function.
1420         (cfg_layout_initialize): Use it.
1421         (cfg_layout_finalize): Clear rbi fields.
1422         * cfglayout.h (RBI): Kill.
1423         (cfg_layout_initialize_rbi): Declare.
1424         * cfgloopmanip.c (copy_bbs): Use rbi.
1425         (record_exit_edges): Likewise.
1426         (duplicate_loop_to_header_edge): Likewise.
1427         * cfgrtl.c (cfg_layout_create_basic_block): Use
1428         cfg_layout_initialize_rbi.
1429         (cfg_layout_split_block): Use rbi.
1430         (cfg_layout_delete_block): Likewise.
1431         * loop-init.c (loop_optimizer_finalize): Likewise.
1432         * loop-unswitch.c (unswitch_loop): Likewise.
1433         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
1434
1435         * cfgrtl.c: Update comments.
1436         (try_redirect_by_replacing_jump): New argument.
1437         (redirect_branch_edge): Break out from ...
1438         (rtl_redirect_edge_and_branch): ... this one.
1439         (update_cfg_after_block_merging): Break out from ...
1440         (rtl_merge_blocks): ... this one.
1441         (cfg_layout_split_edge): New.
1442         (cfg_layout_merge_blocks): New.
1443         (cfg_layout_can_merge_blocks_p): New.
1444         (cfg_layout_redirect_edge_and_branch): Reorganize.
1445         (cfg_layout_rtl_cfg_hooks): Fill in.
1446         (cfg_layout_delete_block): Kill barriers.
1447         * cfganal.c (can_fallthru): Deal with exit blocks
1448         * cfglayout.c (cfg_layout_function_header): New function
1449         (record_effective_endpoints): Record function header.
1450         (fixup_reorder_chain): Fixup dead jumptables; place header
1451
1452         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
1453         * bb-reorder.c (cfg_layout_initialize): Update call.
1454         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
1455         edges in cfglayout mode.
1456         * cfglayout.c (cleanup_unconditional_jumps): Kill.
1457         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
1458         * cfglayout.h (cfg_layout_initialize): Update prototype.
1459         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
1460         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
1461         * flow.c (propagate_block): Do not crash when basic block ends
1462         by first insn in the chain.
1463         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
1464         do loop discovery.
1465         * tracer.c (tracer): Update call of cfg_layout_initialize.
1466
1467 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1468
1469         * Makefile.in: Use dependency variables in lieu of explicit
1470         files throughout.
1471
1472 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
1473
1474         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
1475         * tree.h: ...to here.
1476
1477 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
1478
1479         * config/s390/2064.md: Fix comment typos.
1480         * config/s390/2084.md: Likewise.
1481         * config/s390/s390.c: Likewise.
1482         * config/s390/s390.md: Likewise.
1483         * config/sh/sh.c: Likewise.
1484         * config/sh/sh.h: Likewise.
1485         * config/sh/sh.md: Likewise.
1486         * config/sparc/sparc.c: Likewise.
1487         * config/sparc/sparc.h: Likewise.
1488         * config/sparc/sparc.md: Likewise.
1489         * config/stormy16/stormy16.c: Likewise.
1490         * config/stormy16/stormy16.h: Likewise.
1491         * config/stormy16/stormy-abi: Fix a typo.
1492
1493 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
1494
1495         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
1496
1497 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1498
1499         * config/mips/mips.h (save_argv): Delete.
1500
1501 2003-07-03  Roger Sayle  <roger@eyesopen.com>
1502
1503         PR target/10700
1504         * fold-const.c (extract_muldiv_1): There's nothing that can be done
1505         if the expression is a SAVE_EXPR.
1506
1507 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
1508
1509         * config/m32r/m32r.c: Fix comment typos.
1510         * config/m68hc11/m68hc11.c: Likewise.
1511         * config/m68hc11/m68hc11.h: Likewise.
1512         * config/m68k/m68k.c: Likewise.
1513         * config/mcore/mcore.c: Likewise.
1514         * config/mcore/mcore.h: Likewise.
1515         * config/mcore/mcore.md: Likewise.
1516         * config/mips/mips.c: Likewise.
1517         * config/mips/mips.h: Likewise.
1518         * config/mips/mips.md: Likewise.
1519         * config/mips/netbsd.h: Likewise.
1520         * config/mn10300/mn10300.c: Likewise.
1521
1522 2003-07-03  Andreas Schwab  <schwab@suse.de>
1523
1524         * dbxout.c (pending_bincls): Move decl down inside
1525         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
1526
1527 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
1528
1529         * rtl.h (NOTE_DATA): Refer to whole union.
1530         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
1531
1532 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
1533
1534         PR optimization/11381
1535         * simplify-rtx.c (simplify_relational_operation): Check that
1536         two equal operands have no side-effects before simplifying
1537         the comparison.
1538
1539 2003-07-02  Jeff Law  <law@redhat.com>
1540
1541         * expr.c (do_store_flag): Remove special case folding for
1542         single bit tests.  Instead call back into the commonized folder
1543         routine.
1544         * fold-const.c (fold_single_bit_test): New function, mostly
1545         extracted from do_store_flag, with an additional case extracted
1546         from fold.
1547         (fold): Call fold_single_bit_test appropriately.
1548         * tree.h (fold_single_bit_test): Prototype.
1549
1550 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
1551
1552         * system.h: Include filenames.h.
1553         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
1554         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
1555         define based on HAVE_DOS_BASED_FILE_SYSTEM.
1556         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
1557         * config/i386/xm-mingw32.h: Don't define
1558         HAVE_DOS_BASED_FILE_SYSTEM,
1559         DIR_SEPARATOR, or DIR_SEPARATOR_2.
1560         * doc/hostconfig.texi: Update to match.
1561
1562         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
1563         config/i386/cygwin.h:
1564         Use IS_ABSOLUTE_PATH throughout.
1565         * gcc.c (DIR_UP): Delete, unused.
1566         * protoize.c (IS_SAME_PATH): Define in terms of
1567         FILENAME_CMP.
1568         (is_abspath): Delete.
1569
1570 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
1571
1572         * config/i386/emmintrin.h: Fix comment typos.
1573         * config/i386/i386.c: Likewise.
1574         * config/i386/i386.h: Likewise.
1575         * config/i386/sco5.h: Likewise.
1576         * config/ia64/ia64.c: Likewise.
1577         * config/ia64/itanium2.md: Likewise.
1578
1579 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
1580
1581         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
1582         DBX_USE_BINCL.
1583         (emit_bincl_stab): Same.
1584         (emit_pending_bincls): Same.
1585
1586 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
1587
1588         * config/h8300/h8300.c (compute_mov_length): Fix the length of
1589         loading CONST0_RTX (SFmode).
1590         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
1591         'G' to CONST0_RTX (SFmode).
1592         * config/h8300/h8300.md (movsf_h8300): Change the first
1593         constraint to 'G'.
1594         (movsf_h8300h): Likewise.
1595
1596 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
1597
1598         * c-common.h (c_common_init_options): New prototype.
1599         * c-opts.c (deferred_size): Remove.
1600         (defer_opt): Array is now pre-allocated.
1601         (c_common_init_options): Pre-allocate deferred_opts.  Make
1602         lang_flags unsigned.
1603         (push_command_line_options): Free deferred_opts.
1604         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
1605         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
1606         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
1607         * langhooks.h (struct lang_hooks): New prototype for init_options.
1608         * main.c (main): Cast argv.
1609         * opts.c (handle_option, handle_options): Update prototypes.
1610         (decode_options): save_argc, save_argv are not global.  Constify.
1611         * opts.h (decode_options): New prototype.
1612         * toplev.c (general_init): New protoype.
1613         (save_argv): Make static.
1614         (save_argc): Remove.
1615         (print_switch_values, general_init): Constify.
1616         (toplev_main): Save argv.
1617         * toplev.h (toplev_main): Update prototype.
1618         (save_argc, save_argv): Remove.
1619
1620 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
1621
1622         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
1623         (emit_bincl_stab): Same.
1624         (emit_pending_bincls): Same.
1625
1626 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
1627
1628         PR c++/11072
1629         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
1630
1631 2003-07-02  Andreas Schwab  <schwab@suse.de>
1632
1633         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
1634
1635 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1636
1637         PR optimization/11210
1638         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
1639         about the behaviour with regard to bitfields.
1640         * fold-const (decode_field_reference): Record outermost type in
1641         case the expression is a NOP. Strip all NOPs. Set the signedness
1642         to that of the outermost type (if any) when the bitsize is equal
1643         to the size of the type.
1644
1645 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
1646
1647         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
1648         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
1649         (adddi3_internal_3, addsi3_internal_2): Likewise.
1650
1651 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
1652
1653         * config/mips/mips.c (machine_function): Add new fields:
1654         ignore_hazard_length_p and all_noreorder_p.
1655         (mips_flag_delayed_branch): New variable.
1656         (override_options): Treat '/' as an operand punctuation character.
1657         Set up mips_flag_delayed_branch.
1658         (print_operand): Handle '/'.
1659         (mips_output_function_prologue): Put the whole function in
1660         .set noreorder and .set nomacro if all_noreorder_p is true.
1661         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
1662         (mips16_optimize_gp): Remove "first insn" parameter.
1663         (mips16_lay_out_constants): New function, split out from mips_reorg.
1664         (mips_avoid_hazard, mips_avoid_hazards): New functions.
1665         (mips_reorg): For mips16 code, call mips16_lay_out_constant
1666         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
1667         do delayed-branch scheduling followed by hazard detection.
1668         (mips_adjust_insn_length): Only account for hazards if
1669         !ignore_hazard_length_p.
1670         (mips_output_load_label): Add a nop to the o32 sequence if
1671         the target suffers from load delays.
1672         (mips_output_conditional_branch): Add %/ to the end of branches.
1673         (mips_output_division): Fill the branch delay slot with %#.
1674         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
1675         instructions.  End all other %* branches with %/.
1676         (ffssi2, ffsdi2): Fix lengths.
1677         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
1678         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
1679         (fix_truncsfsi2_macro): Likewise.
1680         (mov_lwl): Set hazard to "none".
1681         (ashldi3_internal): Fill the branch delay slot with %#.
1682         (ashrdi3_internal, lshrdi3_internal): Likewise.
1683         (exception_receiver): Explicitly set $28.
1684         (hazard_nop): New pattern.
1685
1686 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
1687
1688         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
1689         before calling tree_inlinable_function_p.
1690
1691 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1692
1693         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
1694         <internal/stdio_core.h> too.
1695         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
1696         <internal/wchar_core.h> too.
1697         Substitute va_list uses in inline definition.
1698         * fixinc/fixincl.x: Regenerate.
1699
1700 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1701
1702         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
1703         Undef before redefinition.
1704         (LABEL_AFTER_LOC): Likewise.
1705         (DEFAULT_SIGNED_CHAR): Likewise.
1706         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
1707         Fix IRIX spelling.
1708
1709         * config/mips/iris3.h: Remove, unused.
1710         * config/mips/iris4.h: Likewise.
1711
1712         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
1713
1714         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
1715         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
1716         target_cpu_default.
1717
1718         * config/mips/iris5.h: Move explicit includes ...
1719         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
1720
1721         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
1722         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
1723         tm_defines.
1724
1725         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
1726         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
1727         target_cpu_default.
1728
1729         * config/mips/iris6.h: Fix IRIX spelling.
1730         (MULTILIB_DEFAULTS): Undef before redefinition.
1731
1732         * config/mips/iris6.h: Move explicit includes ...
1733         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
1734
1735 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
1736
1737         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
1738         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
1739         Use next_needed field instead of aux to maintain the queue.
1740         * cgraph.h (cgraph_node): Add next_needed.
1741         (cgraph_varpool_node): Add next_needed; remove aux.
1742         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
1743
1744 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
1745
1746         * cgraphunit.c (cgraph_finalize_function): Set finalized.
1747         (cgraph_finalize_function): Do not examine inlinablility.
1748         (cgraph_finalize_compilation_unit): Do it here.
1749         * cgraph.h (cgraph_local_info): Add finalized field.
1750
1751 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1752
1753         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
1754         (gt_pch_restore): Likewise.
1755
1756 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
1757
1758         * config/alpha/alpha.c: Fix comment typos.
1759         * config/alpha/elf.h: Likewise.
1760         * config/arm/arm.c: Likewise.
1761         * config/arm/arm.h: Likewise.
1762         * config/arm/arm.md: Likewise.
1763         * config/arm/t-arm-coff: Likewise.
1764         * config/arm/t-strongarm-pe: Likewise.
1765         * config/arm/xscale-elf.h: Likewise.
1766         * config/avr/avr.h: Likewise.
1767
1768 2003-07-01  Jeff Law  <law@redhat.com>
1769
1770         * stmt.c (any_pending_cleanups): Remove another redundant test.
1771
1772 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
1773             J"orn Rennecke <joern.rennecke@superh.com>
1774
1775         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
1776         for MEM case.
1777
1778 2003-07-01  Devang Patel  <dpatel@apple.com>
1779
1780         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
1781         (binclstatus): New.
1782         (struct dbx_file): New members - bincl_status, pending_bincl_name and
1783         prev.
1784         (pending_bincls): New.
1785         (dbxout_init): Initialize new dbx_file members.
1786         (dbxout_start_source_file): Same.
1787         (emit_bincl_stab): New function.
1788         (emit_pending_bincls): Same.
1789         (emit_pending_bincls_if_required): Same.
1790         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
1791         processed.
1792         (dbxout_begin_block): Emit pending BINCL stabs.
1793         (dbxout_end_block): Same.
1794         (dbxout_function_decl): Same.
1795         (dbxout_continue): Same.
1796         (dbxout_type): Same.
1797         (dbxout_class_name_qualifiers): Same.
1798         (dbxout_symbol): Same.
1799         (dbxout_symbol_location): Same.
1800         (dbxout_parms): Same.
1801
1802 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1803
1804         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
1805         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
1806
1807 2003-07-01  Andreas Jaeger  <aj@suse.de>
1808
1809         * fold-const.c: Convert prototypes to ISO C90.
1810         * function.c: Likewise.
1811         * function.h: Likewise.
1812
1813 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
1814
1815         * doc/contrib.texi: Fix typos.
1816         * doc/invoke.texi: Likewise.
1817         * doc/passes.texi: Likewise.
1818         * doc/sourcebuild.texi: Likewise.
1819         * doc/tm.texi: Likewise.
1820
1821 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
1822
1823         * basic-block.h: Fix comment typos.
1824         * bb-reorder.c: Likewise.
1825         * c-format.c: Likewise.
1826         * cfgcleanup.c: Likewise.
1827         * cfghooks.h: Likewise.
1828         * cfgloop.c: Likewise.
1829         * cfgloopmanip.c: Likewise.
1830         * cfgrtl.c: Likewise.
1831         * cgraph.h: Likewise.
1832         * cgraphunit.c: Likewise.
1833         * combine.c: Likewise.
1834         * convert.c: Likewise.
1835         * dbxout.c: Likewise.
1836         * df.c: Likewise.
1837         * df.h: Likewise.
1838         * diagnostic.c: Likewise.
1839         * dwarf2out.c: Likewise.
1840         * et-forest.h: Likewise.
1841         * flow.c: Likewise.
1842         * fold-const.c: Likewise.
1843         * function.h: Likewise.
1844         * gcov-io.h: Likewise.
1845         * gcov.c: Likewise.
1846         * gcse.c: Likewise.
1847         * genautomata.c: Likewise.
1848         * ggc-common.c: Likewise.
1849         * ggc-page.c: Likewise.
1850         * loop-unroll.c: Likewise.
1851         * loop-unswitch.c: Likewise.
1852         * loop.c: Likewise.
1853         * mips-tfile.c: Likewise.
1854         * optabs.c: Likewise.
1855         * ra-build.c: Likewise.
1856         * ra-colorize.c: Likewise.
1857         * ra-rewrite.c: Likewise.
1858         * ra.h: Likewise.
1859         * regmove.c: Likewise.
1860         * reload.c: Likewise.
1861         * rtlanal.c: Likewise.
1862         * sched-ebb.c: Likewise.
1863         * sched-int.h: Likewise.
1864         * sched-vis.c: Likewise.
1865         * sreal.c: Likewise.
1866         * ssa-ccp.c: Likewise.
1867         * ssa.c: Likewise.
1868         * toplev.c: Likewise.
1869         * tree-inline.c: Likewise.
1870         * value-prof.c: Likewise.
1871         * value-prof.h: Likewise.
1872
1873 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1874
1875         * rtl.h (emit_line_note_after): Remove.
1876         (emit_note_copy_after, emit_note_copy): New.
1877         * emit-rtl.c (reorder_insns_with_line_notes): Replace
1878         emit_line_note_after with emit_note_copy_after.
1879         (emit_insn_after_with_line_notes): Likewise.
1880         (emit_line_note_after): Kill.
1881         (emit_note_copy_after): New.
1882         (emit_note_copy): New.
1883         * function.c (emit_return_into_block): Use emit_note_copy_after.
1884         (thread_prologue_and_epilogue_insns): Likewise.
1885         * integrate.c (expand_inline_function): Use emit_note_copy.
1886         (copy_insn_list): Likewise.
1887         * unroll.c (copy_loop_body): Likewise.
1888         * cfglayout.c (duplicate_insn_chain): Likewise.
1889
1890 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1891
1892         * c-tree.h (define_label): Replace filename and lineno arguments
1893         with a location_t.
1894         * c-decl.c (poplevel): Adjust define_label call.
1895         (pop_label_level): Likewise.
1896         (define_label): Replace filename and lineno arguments with a
1897         location_t.
1898         (store_parm_decls): Use DECL_SOURCE_LOCATION.
1899         * c-parse.in (label): Adjust define_label call.
1900
1901 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
1902
1903         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
1904         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
1905         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
1906         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
1907         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
1908
1909 2003-07-01  Andreas Jaeger  <aj@suse.de>
1910
1911         * final.c: Convert prototypes to ISO C90.
1912         * flow.c: Likewise.
1913         * flags.h: Likewise.
1914         * gcov-io.c: Likewise.
1915         * gcov-io.h: Likewise.
1916
1917 2003-06-30  Bruno Haible  <bruno@clisp.org>
1918
1919         PR middle-end/6578
1920         * libgcc2.c (__subvsi3): Remove simplification that would not work
1921         when subtracting -0x80000000.
1922         (__subvdi3): Remove simplification that would return a wrong result.
1923         (__mulvsi3): Fix overflow check.
1924         (__absvdi2): Fix simplification that would return a wrong result.
1925         (__mulvdi3): Fix overflow check.
1926
1927 2003-06-30  Jeff Law  <law@redhat.com>
1928
1929         * stmt.c (any_pending_cleanups): Lose argument THIS_CONTOUR, it
1930         was always passed in the value '1'.  Simplify body appropriately.
1931         * tree.h (any_pending_cleanups): Corresponding changes.
1932         * calls.c: (expand_call): Corresponding changes.
1933
1934 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
1935
1936         * combine.c (distribute_notes): Don't bother REG_WAS_0.
1937         * cse.c (cse_insn): Likewise.
1938         * final.c (final_scan_insn): Likewise.
1939         * jump.c (duplicate_loop_exit_test): Likewise.
1940         * rtl.c (reg_note_name): Remove REG_WAS_0.
1941         * rtl.h (REG_WAS_0): Remove.
1942         * unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
1943         * config/avr/avr.c (output_movqi): Don't use reg_was_0.
1944         (output_movhi): Likewise.
1945         (output_movsisf): Likewise.
1946         (reg_was_0): Remove.
1947         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
1948         REG_WAS_0.
1949         (m68hc11_gen_movqi): Likewise.
1950         * config/vax/vax-protos.h: Remove the prototype for
1951         reg_was_0_p.
1952         * config/vax/vax.c (follows_p): Remove.
1953         (reg_was_0_p): Likewise.
1954         * config/vax/vax.md (movsi): Don't use reg_was_0_p.
1955         (movhi): Likewise.
1956         (movqi): Likewise.
1957         * doc/rtl.texi (REG_WAS_0): Remove.
1958
1959 2003-06-30  Mark Mitchell  <mark@codesourcery.com>
1960
1961         * config/rs6000/spe.h (__ev_set_spefscr_frmc): Set the flag.
1962
1963 2003-06-30  Bob Wilson  <bob.wilson@acm.org>
1964
1965         * config/xtensa/lib1funcs.asm: Use "xtensa-config.h" from
1966         top-level include directory.
1967         * config/xtensa/lib2funcs.S: Likewise.
1968         * config/xtensa/xtensa.h: Likewise.
1969         * config/xtensa/xtensa-config.h: Remove.
1970         * doc/install.texi: Update location of "xtensa-config.h" header.
1971
1972 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
1973
1974         * config/s390/s390.c (s390_extra_constraint): New function.
1975         * config/s390/s390-protos.h (s390_extra_constraint): Declare it.
1976         * config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1977         * config/s390/s390.c (q_constraint): Remove.
1978         * config/s390/s390-protos.h (q_constraint): Likewise.
1979         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'R', 'S', 'T'.
1980         (EXTRA_ADDRESS_CONSTRAINT): Define.
1981
1982         * config/s390/s390.c (larl_operand): Refuse out-of-range operands.
1983         (DISP_IN_RANGE, s390_short_displacement): New.
1984         (legitimate_reload_operand_p): Support long displacements.
1985         (s390_decompose_address): Likewise.
1986         (legitimize_pic_address): Likewise.
1987         (legitimize_address): Likewise.
1988         (s390_fixup_clobbered_return_reg): Likewise.
1989         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1990         (s390_output_mi_thunk): Likewise.
1991
1992         * config/s390/s390.md (attr "op_type"): Add "RXY", "RSY", "SIY".
1993         (attr "atype", attr "length"): Add defaults for new op_types.
1994         (all insns): Change op_type attribute where appropriate.
1995
1996         ("*movdi_lay", "*movsi_lay", "*extendqidi2", "*extendqisi2"): New insns.
1997         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", *tmqi_mem",
1998         "*tstsi", "*tstsi_cconly", "*tsthiCCT", "*tsthiCCT_cconly",
1999         "*tsthi", "*tsthi_cconly", "*tstqiCCT", "*tstqiCCT_cconly",
2000         "*tstqi", "*tstqi_cconly", "*cmpsi_ccs_sign", "*cmpsi_ccs",
2001         "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu", "*cli",
2002         "movti", "*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
2003         "movqi", "*movstrictqi", "*movstricthi", "movstrictsi",
2004         "*movdf_64", "*movdf_31", "*movsf",
2005         "*load_multiple_si", "*store_multiple_di",
2006         "*sethighqisi", "*sethighhisi", "*sethighqidi_31", "*extendhisi2",
2007         "*la_64", "*la_31", "*la_31_and", "force_la_31",
2008         "*addsi3_carry1_cc", *addsi3_carry1_cconly",
2009         "*addsi3_carry2_cc", *addsi3_carry2_cconly",
2010         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
2011         "*addsi3_sign", "*addsi3_sub", "addsi3",
2012         "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
2013         "*subsi3_cconly", "*subsi3_sign", "*subsi3_sub", "subsi3",
2014         "mulsi3"
2015         "*andsi3_cc", "*andsi3_cconly", "andsi3",
2016         "*andqi3_ss", "*andqi3_ss_inv",
2017         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
2018         "*iorqi3_ss", "*iorqi3_ss_inv",
2019         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3",
2020         "*xorqi3_ss", "*xorqi3_ss_inv",
2021         "*tls_load_31"): Add alternatives for long-displacement instructions.
2022
2023         ("*cmpdf_ccs", "*cmpdf_ccs_ibm", "*cmpsf_ccs", "*cmpsf_ccs_ibm",
2024         "*load_multiple_di", "*store_multiple_di",
2025         "*sethighqidi_64", "*zero_extendhisi2_31",
2026         "truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
2027         "adddf3", "*adddf3", "*adddf3_ibm",
2028         "addsf3", "*addsf3", "*addsf3_ibm",
2029         "subdf3", "*subdf3", "*subdf3_ibm",
2030         "subsf3", "*subsf3", "*subsf3_ibm",
2031         "mulsi_6432", "divmoddisi3",
2032         "muldf3", "*muldf3", "*muldf3_ibm",
2033         "mulsf3", "*mulsf3", "*mulsf3_ibm",
2034         "divdf3", "*divdf3", "*divdf3_ibm",
2035         "divsf3", "div*sf3", "*divsf3_ibm",
2036         "sqrtdf2", "sqrtsf2",
2037         "*cjump_long", "*icjump_long", "indirect_jump", "casesi_jump",
2038         "*doloop_si_long", "*doloop_di_long", "bas_64", "bas_31",
2039         "bas_r_64", "bas_r_31", "bas_tls_31", "bas_tls_64"): Adapt memory
2040         and address constraints for instructions that do not accept long
2041         displacements.
2042
2043 2003-06-30  Hartmut Penner  <hpenner@de.ibm.com>
2044             Ulrich Weigand  <uweigand@de.ibm.com>
2045
2046         * config/s390/2084.md: New file.
2047         * config/s390/s390.md: Include it.
2048         * config/s390/s390.c (s390_adjust_priority): New function.
2049         (TARGET_SCHED_ADJUST_PRIORITY): Define.
2050         (s390_first_cycle_multipass_dfa_lookahead): New function.
2051         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2052         (s390_sched_reorder2): New function.
2053         (TARGET_SCHED_REORDER2): Define.
2054         (s390_adjust_cost): Support PROCESSOR_2084_Z990 cpu type.
2055         (s390_issue_rate): Likewise.
2056
2057 Mon Jun 30 23:47:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
2058
2059         * Makefile.in (GTFILES): Add cgraph.h.
2060         * cgraph.c (known_decls): Remove.
2061         (cgraph_hash, cgraph_nodes, cgraph_nodes_queue,
2062         cgraph_varpool_hash, cgraph_varpool_nodes_queue): GTYize.
2063         (cgraph_node): Do not allocate known_decls; use polutate hashtable.
2064         (cgraph_varpool_node): Likewise; add next pointer.
2065         (cgraph_varpool_nodes): New static variable.
2066         * cgraph.h (cgraph_local_info, cgraph_global_info, cgraph_rtl_info,
2067         cgraph_node, cgraph_edge, cgraph_varpool_node, cgraph_nodes, cgraph_n_nodes,
2068         cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): GTYize.
2069         * gengtype.c (open_base_files): Include cgraph.h
2070
2071 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2072
2073         * Changelog: Remove ">>>>>>>" from previous change.
2074
2075 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2076
2077         * config/cris/cris.c: Fix spelling for "testcase".
2078         * config/cris/cris.h: Likewise.
2079         * config/cris/cris.md: Likewise.
2080         * config/mmix/crti.asm: Likewise.
2081         * config/mmix/mmix.h: Likewise.
2082         * config/mmix/mmix.md: Likewise.
2083
2084 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
2085
2086         * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Make it always
2087         1.
2088
2089 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
2090
2091         * config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
2092         --with-mode configure options.
2093         * config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
2094         (DRIVER_SELF_SPECS): Define.
2095         * config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
2096         architecture to assembler.
2097         (LINK_SPEC): Merge 31-bit and 64-bit variants.
2098         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
2099         * config/s390/s390.c (override_options): New default rules for
2100         architecture mode and cpu architecture selection.
2101         * doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
2102         new default rules.
2103
2104         * config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
2105         * config/s390/s390.md (attr "cpu"): Add "z990" processor type.
2106         * config/s390/s390.c (override_options): Add "z990" to
2107         processor_alias_table.
2108         * doc/invoke.texi (-march): Document "z990" processor type.
2109
2110         * config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
2111         * config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
2112         (enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
2113         TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
2114         * config/s390/s390.c (override_options): Replace enum pta_flags by
2115         enum processor_flags.  Fill in s390_tune_flags and s390_arch_flags.
2116
2117         * config/s390/s390.c (s390_cpu): Rename to ...
2118         (s390_tune): ... this.
2119         * config/s390/s390.h (s390_cpu, s390_tune): Likewise.
2120         * config/s390/s390.c (s390_issue_rate, override_options): Likewise.
2121         * config/s390/s390.md (attr "cpu"): Likewise.
2122
2123 2003-06-30  Neil Booth  <neil@daikokuya.co.uk>
2124
2125         * c-common.c (enum c_language_kind, flag_objc): Remove.
2126         (fix_string_type, check_case_value, c_common_nodes_and_builtins,
2127         c_add_case_label, finish_label_addr_expr, boolean_increment):
2128         Use c_dialect_ macros.
2129         * c-common.h (enum c_language_kind): Extend.
2130         (c_dialect_cxx, c_dialect_objc): New.
2131         (flag_objc): Remove.
2132         (c_common_init_options): Update prototype.
2133         * c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_
2134         macros.
2135         * c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_
2136         macros.
2137         * c-format.c (C_STD_VER, C_STD_NAME): Similarly.
2138         * c-lang.c (c_init_options): Remove.
2139         (c_language): Define.
2140         (LANG_HOOKS_INIT_OPTIONS): Use common hook.
2141         * c-lex.c (lex_charconst): Use c_dialect_ macros.
2142         * c-opts.c (lang_flags): Make function-local.
2143         (c_common_init_options): Use c_dialect_ macros.  Handle
2144         C++ diagnostic requirements.
2145         (c_common_handle_option, c_common_post_options): Use flag_cxx.
2146         * c-parse.in (init_reswords): Use c_dialect_objc ().
2147         * c-pch.c (get_ident): Use c_language.
2148         * c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros.
2149         * c-typeck.c (comptypes, build_c_cast): Similarly.
2150         * objc/objc-lang.c (c_language): Define.
2151         (LANG_HOOKS_INIT_OPTIONS): Use common hook.
2152         (objc_init_options): Remove.
2153
2154 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
2155
2156         * config/alpha/alpha.h (FUNCTION_ARG_PADDING): Remove.
2157         * config/alpha/unicosmk.h: Don't #undef FUNCTION_ARG_PADDING.
2158
2159 2003-06-30  Wolfgang Bangerth  <bangerth@dealii.org>
2160
2161         * doc/sourcebuild.texi: Don't reference gnats.html any more.
2162
2163 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
2164
2165         * config/h8300/h8300.c (compute_mov_length): Fix length of
2166         mov:SF on H8/300.
2167
2168 2003-06-30  Nick Clifton  <nickc@redhat.com>
2169
2170         * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Make defintion
2171         constant.
2172
2173 Mon Jun 30 15:36:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
2174
2175         (fyl2x_sfxf3, fyl2x_dfxf3, fscale_sfxf3, fscale_dfxf3): Fix condition.
2176
2177 2003-06-30 Hartmut Penner  <hpenner@de.ibm.com>
2178
2179         * config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
2180         (altivec_in_gprs_p): New function.
2181
2182         * config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New
2183         prototype.
2184         (altivec_in_gprs_p): New prototype.
2185
2186         * config/rs6000/altivec.md (*movv4si_internal): Change
2187         multi-assembler alternative to '#'. Add postreload splitter to
2188         handle this cases.
2189         (*movv4hi_internal): Likewise.
2190         (*movv4qi_internal): Likewise.
2191         (*movv4sf_internal): Likewise.
2192
2193 2003-06-30  Jason Merrill  <jason@redhat.com>
2194
2195         * defaults.h (PUSH_ARGS_REVERSED): Define default here.
2196         * calls.c: Not here.
2197
2198 2003-06-30  Ben Elliston  <bje@wasabisystems.com>
2199
2200         * config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
2201         (bad_signed_byte_operand): Likewise.
2202         (arm_output_epilogue): Likewise.
2203         (arm_final_prescan_insn): Likewise.
2204
2205 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2206
2207         * cfgrtl.c (mark_killed_regs): Cast HARD_REGNO_NREGS to int.
2208
2209 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2210
2211         * c-pch.c (c_common_write_pch): Flush asm_out_file to allow for
2212         subsequent writes.
2213
2214 Mon Jun 30 10:03:02 CEST 2003  Jan Hubicka  <jh@suse.cz>
2215
2216         * cfgrtl.c (verify_flow_info): Accept degenerated condjumps
2217         in cfglayout mode.
2218
2219 Mon Jun 30 09:52:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
2220
2221         * i386.c (standard_80387_constant_p): Accept TFmode constants too.
2222         (init_ext_80387_constants): Likewise.
2223         (standard_80387_constant_rtx): Likewise.
2224         * i386.md (atanxf): Disable for TARGET_128BIT_LONG_LONG
2225         (atantf): Disable for !TARGET_128BIT_LONG_LONG
2226         (fyl2x_sfxf3, fyl2x_dfxf3): Accept TFmode operands.
2227         (fyl2x_xfxf3, fyl2x_tfxf3): Enable/disable as needed.
2228         (fscale_sfxf3, fscale_dfxf3): Accept TFmode operands.
2229         (fscale_xfxf3, fscale_tfxf3): Enable/disable as needed.
2230         (frndinttf2): New.
2231         (f2xm1tf2): New.
2232         (exp?f2): Use expsf2_tf when needed.
2233         (exp?f2_tf): New.
2234         (exptf): New.
2235
2236 2003-06-29 Uwe Stieber <uwe@kaos-group.de>
2237
2238         * config.gcc (sh*-*-kaos*): Put tm_file setting in separate case
2239         statement from tmake_file set.
2240
2241 2003-06-29  James E Wilson  <wilson@tuliptree.org>
2242
2243         * reload.c (find_reloads): Change push_reloads to push_reload in
2244         comment.
2245         * reload1.c (eliminate_regs): Likewise.
2246         (dump_needs): Delete prototype for deleted function.
2247
2248 2003-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2249
2250         * builtin-attrs.def (gcc_diag, gcc_cdiag, gcc_cxxdiag): New
2251         format attributes.
2252         * c-format.c (enum format_type): Add gcc_diag_format_type,
2253         gcc_cdiag_format_type, and gcc_cxxdiag_format_type.
2254         (gcc_diag_length_specs, gcc_cdiag_length_specs,
2255         gcc_cxxdiag_length_specs, gcc_diag_flag_pairs,
2256         gcc_cdiag_flag_pairs, gcc_cxxdiag_flag_pairs, gcc_diag_flag_specs,
2257         gcc_cdiag_flag_specs, gcc_cxxdiag_flag_specs, gcc_diag_char_table,
2258         gcc_cdiag_char_table, gcc_cxxdiag_char_table): New.
2259         (format_types_orig): Add new data.
2260         (find_char_info_specifier_index, init_dynamic_diag_info): New
2261         functions.
2262         (handle_format_attribute): Update to handle new format attributes.
2263
2264 2003-06-29  Aaron W. LaFramboise  <awlaframboise@aol.com>
2265
2266         * config/i386/gthr-win32.h (__GTHREAD_HIDE_WIN32API): Define to 1.
2267
2268 2003-06-29  Dara Hazeghi  <dhazeghi@yahoo.com>
2269
2270         * doc/install.texi: Remove install documentation for obsoleted targets
2271         i?86-*-sco, i?86-*-sco3.2v4, powerpcle-*-pe, powerpcle-*-winnt,
2272         arm-*-aof.
2273         Update information about IA64 toolchain, AIX make requirements,
2274         and binutils for m68k-*-hpux and *-*-linuxaout targets.
2275
2276 Mon Jun 30 00:50:43 CEST 2003  Jan Hubicka  <jh@suse.cz>
2277
2278         * regmove.c (regmove_optimize): Don't try to make src and dst match
2279         when they are in different modes.
2280
2281 Sun Jun 29 23:06:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
2282
2283         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
2284         busy work when builtin is not supported by the backend.
2285
2286 2003-06-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2287
2288         * loop.c (count_one_set): Fix detection of registers set in more
2289         than one basic block.
2290
2291 2003-06-29  Andreas Jaeger  <aj@suse.de>
2292
2293         * target-def.h: Remove usage of OBJECT_FORMAT_ROSE.
2294         * system.h: Poison OBJ_FORMAT_ROSE.
2295         * doc/tm.texi (Macros for Initialization): Remove documentatin of
2296         OBJECT_FORMAT_ROSE.
2297         * config/rs6000/lynx.h: Remove undef of OBJECT_FORMAT_ROSE.
2298         * collect2.c: Remove usage of OBJECT_FORMAT_ROSE.
2299
2300 2003-06-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2301
2302         * pa.c (update_total_code_bytes): New function.
2303         (last_address): Number of bytes output for a function and its
2304         associated thunks.
2305         (compute_frame_size): Use BITS_PER_UNIT.
2306         (pa_output_function_epilogue): Compute last_address.  Use
2307         update_total_code_bytes.
2308         (output_lbranch): Handle long branch on portable runtime.
2309         (attr_length_millicode_call, attr_length_call,
2310         attr_length_indirect_call): Only use total_code_bytes for calls in
2311         the text section.
2312         (output_call): Only use an indirect call sequence when the target is
2313         not local.
2314         (pa_asm_output_mi_thunk): Handle updating of total_code_bytes.  Improve
2315         test to determine when an IA-relative branch can be used.  Add various
2316         long branch sequences.  Avoid using an indirect branch on all ports
2317         except SOM.
2318
2319 2003-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
2320
2321         * expr.c (clear_by_pieces): Fix prototype.
2322
2323 2003-06-29  Andreas Jaeger  <aj@suse.de>
2324
2325         * cse.c: Convert prototypes to ISO C90.
2326         * cselib.c: Likewise.
2327         * cselib.h: Likewise.
2328         * dbxout.c: Likewise.
2329         * debug.c: Likewise.
2330         * df.c: Likewise.
2331         * df.h: Likewise.
2332         * dojump.c: Likewise.
2333         * doloop.c: Likewise.
2334         * dominance.c: Likewise.
2335         * dwarf2asm.c: Likewise.
2336         * dwarf2out.c: Likewise.
2337         * dwarf2out.h: Likewise.
2338         * dwarfout.c: Likewise.
2339         * except.c: Likewise.
2340         * except.h: Likewise.
2341         * emit-rtl.c: Likewise.
2342         * et-forest.c: Likewise.
2343         * et-forest.h: Likewise.
2344         * except.c: Likewise.
2345         * explow.c: Likewise.
2346         * expmed.c: Likewise.
2347         * expr.c: Likewise.
2348         * expr.h: Likewise.
2349
2350 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
2351
2352         * alloc-pool.c: Fix comment formatting.
2353         * bitmap.c: Likewise.
2354         * bitmap.h: Likewise.
2355         * bt-load.c: Likewise.
2356         * builtins.c: Likewise.
2357         * caller-save.c: Likewise.
2358         * cfganal.c: Likewise.
2359         * cfgrtl.c: Likewise.
2360         * collect2.c: Likewise.
2361         * cse.c: Likewise.
2362         * df.c: Likewise.
2363         * diagnostic.c: Likewise.
2364         * dwarf2out.c: Likewise.
2365         * dwarfout.c: Likewise.
2366         * expmed.c: Likewise.
2367         * final.c: Likewise.
2368         * flags.h: Likewise.
2369         * fold-const.c: Likewise.
2370         * gcc.c: Likewise.
2371         * gcov-io.h: Likewise.
2372         * gcov.c: Likewise.
2373         * genattrtab.c: Likewise.
2374         * genautomata.c: Likewise.
2375         * libgcov.c: Likewise.
2376         * mips-tfile.c: Likewise.
2377         * optabs.c: Likewise.
2378         * prefix.c: Likewise.
2379         * rtlanal.c: Likewise.
2380         * stmt.c: Likewise.
2381         * stor-layout.c: Likewise.
2382         * toplev.c: Likewise.
2383         * varasm.c: Likewise.
2384         * vmsdbgout.c: Likewise.
2385
2386 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
2387
2388         * expr.c (emit_single_push_insn): If padding is needed
2389         downward, adjust the stack pointer first, and then store the
2390         data into the stack location using an offset.
2391
2392 2003-06-29  Andreas Jaeger  <aj@suse.de>
2393
2394         * collect2.h: Convert prototypes to ISO C90.
2395         * collect2.c: Likewise.
2396         * conflict.c: Likewise.
2397         * coverage.c: Likewise.
2398         * convert.h: Likewise.
2399         * convert.c: Likewise.
2400
2401 2003-06-29  Nathan Sidwell  <nathan@codesourcery.com>
2402
2403         * c-decl.c (c_init_decl_processing): Use a location_t. Set input
2404         filename to <internal>.
2405         * tree.c (make_node): Just copy the current location.
2406
2407 2003-06-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2408
2409         PR optimization/11210
2410         * fold-const (decode_field_reference): Revert 2003-06-26 patch.
2411
2412 2003-06-29  Neil Booth  <neil@daikokuya.co.uk>
2413
2414         * toplev.c (flag_dummy): Remove.
2415         (f_options): Restore flag pointers.
2416
2417 2003-06-29  David Edelsohn  <edelsohn@gnu.org>
2418
2419         * config/rs6000/rs6000.c (processor_target_table): Add 970.
2420         * config.gcc: Add 970.
2421
2422 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
2423
2424         * dwarf2out.c (add_AT_string): Replace ggc_alloc_string (X,
2425         -1) with ggc_strdup.
2426         * stmt.c (expand_asm_operands): Likewise.
2427         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
2428
2429 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2430
2431         * config/ip2k/ip2k.c (ip2k_reorg): Use INSN_P instead of its
2432         definition.
2433
2434 2003-06-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2435
2436         * opts.c: Include insn-attr.h.
2437         * Makefile.in (opts.o): Depend on INSN_ATTR_H.
2438
2439 2003-06-27  J"orn Rennecke <joern.rennecke@superh.com>
2440
2441         * flow.c (propagate_one_insn): Use proper test for a register
2442         being part of the return value.
2443
2444 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2445
2446         * config/avr/avr.c: Fix a comment typo.
2447
2448 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2449
2450         * config/avr/avr-protos.h: Replace avr_simplify_comparision_p
2451         with avr_simplify_comparison_p.
2452         * config/avr/avr.c: Likewise.
2453
2454 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2455
2456         * builtins.c: Follow spelling conventions.
2457         * cgraph.c: Likewise.
2458         * cpplex.c: Likewise.
2459         * config/arm/arm.c: Likewise.
2460         * config/arm/iwmmxt.md: Likewise.
2461         * config/c4x/c4x-modes.def: Likewise.
2462         * config/c4x/c4x.c: Likewise.
2463         * config/c4x/c4x.h: Likewise.
2464         * config/c4x/c4x.md: Likewise.
2465         * config/i386/i386-interix.h: Likewise.
2466         * config/mips/mips.h: Likewise.
2467
2468 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
2469
2470         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Predicate
2471         __mc68020__ on TARGET_68020.
2472
2473 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2474
2475         * config/h8300/h8300.c: Fix a comment typo.
2476
2477 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
2478
2479         * c-parse.in (yylexstring): Use a location_t.
2480
2481         * diagnostic.h (diagnostic_set_info): Replace file and lineno
2482         parameters with a location_t.
2483         * diagnostic.c (diagnostic_set_info): Replace file and lineno
2484         parameters with a location_t.
2485         (inform, warning, pedwarn, error, sorry, fatal_error,
2486         internal_error, warning_with_decl, pedwarn_with_decl,
2487         error_with_decl): Adjust.
2488         * c-error.c (pedwarn_c99): Adjust.
2489         * c-format.c (status_warning): Adjust.
2490         * rtl-error.c (file_and_line_for_asm): Rename to ...
2491         (location_for_asm): Return a location_t.
2492         (diagnostic_for_asm): Adjust.
2493
2494 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
2495
2496         * cpptrad.c (skip_macro_block_comment): New.
2497         (copy_comment): Use it if appropriate.
2498
2499 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2500
2501         * gcse.c (compute_ld_motion_mems): Use INSN_P instead of its
2502         definition.
2503         (store_killed_in_insn): Likewise.
2504         * print-rtl.c (print_rtx): Likewise.
2505         * config/frv/frv.c (frv_final_prescan_insn): Likewise.
2506         * config/m68hc11/m68hc11.c (dead_register_here): Likewise.
2507         (m68hc11_reassign_regs): Likewise.
2508         (m68hc11_reorg): Likewise.
2509
2510 2003-06-28  Gabriel Dos Reis <gdr@integrable-solutions.net>
2511
2512         * diagnostic.c (output_integer_with_precision): New macro.
2513         (output_format): Use it.  Handle more format specifiers.
2514         (output_long_decimal): Remove.
2515         (output_unsigned_decimal): Likewise.
2516         (output_long_unsigned_decimal): Likewise.
2517         (output_octal): Likewise.
2518         (output_long_octal): Likewise.
2519         (output_hexadecimal): Likewise.
2520         (output_long_hexadecimal): Likewise.
2521         (output_long_long_decimal): Likewise.
2522
2523 2003-06-28  Andreas Schwab  <schwab@suse.de>
2524
2525         * config/ia64/ia64.md: Follow recent emit_note API change.
2526
2527 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
2528
2529         * c-parse.in (%union): Replace filename & lineno with location.
2530         (save_filename, save_lineno): Remove.
2531         (save_location): New.
2532         (fndef, old_style_parm_decls_1, lineno_datadecl, lineno_decl,
2533         nested_function, notype_nested_function, if_prefix, lineno_stmt,
2534         lineno_label, label): Adjust.
2535
2536 2003-06-28  Jakub Jelinek  <jakub@redhat.com>
2537
2538         * builtins.c (c_strlen): Add only_value argument.
2539         Handle COND_EXPR and COMPOUND_EXPR.
2540         (expand_builtin_strlen): Optimize also strlen (i++ ? "foo" : "bar").
2541         Adjust c_strlen callers.
2542         (expand_builtin_strcpy, expand_builtin_strncpy,
2543         expand_builtin_strcmp, expand_builtin_strncmp,
2544         expand_builtin_fputs, expand_builtin_sprintf,
2545         fold_builtin): Adjust c_strlen callers.
2546
2547 2003-06-28  Josef Zlomek  <zlomekj@suse.cz>
2548
2549         * bb-reorder.c (find_traces_1_round): Do not send basic block
2550         to next round when we are in the last round.
2551
2552 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
2553
2554         * Makefile.in: Update.
2555         * opts.c: Include tm_p.h.
2556         (handle_options): Make static.
2557         (decode_options): Copied from toplev.c.
2558         * opts.h (decode_options): New.
2559         * toplev.c (parse_options_and_default_flags): Move most to opts.c,
2560         some to...
2561         (general_init): ...here.
2562         (toplev_main): Use decode_options instead.
2563         * toplev.h (save_argc, save_argv): New.
2564
2565 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
2566
2567         * explow.c (find_next_ref): Remove.
2568         * rtl.h: Remove the prototype for find_next_ref.
2569
2570 2003-06-27  Roger Sayle  <roger@eyesopen.com>
2571
2572         * config/alpha/alpha.md (anonymous define_split): Adjust emit_note
2573         call to match recent API change.
2574
2575 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
2576
2577         * dbxout.c (flag_debug_only_used_symbols): Delete redundant
2578         declaration.
2579
2580         * c-format.c (check_format_string, get_constant)
2581         * cfgrtl.c (rtl_split_edge):
2582         Mark the definition static, matching the forward declaration.
2583
2584 2003-06-27  Gunther Nikl <gni@gecko.de>
2585
2586         * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
2587
2588         PR target/11014
2589         * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
2590         syntax for MIT / MOTOROLA.
2591
2592         PR other/10240
2593         * configure.in: Removed $(XCFLAGS) from BUILD_CFLAGS for build != host.
2594         * configure: Rebuilt.
2595
2596 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
2597
2598         * config/mips/mips.c (mips_build_va_list): Make padding in
2599         va_list structure explicit to avoid -Wpadded warnings.
2600
2601 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
2602
2603         * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
2604         * config/s390/s390.c (s390_secondary_output_reload_class): New function.
2605         * config/s390/s390-protos.h (s390_secondary_output_reload_class):
2606         Declare it.
2607         * config/s390/s390.md ("reload_outti", "reload_outdi",
2608         "reload_outdf"): New expanders.
2609
2610         * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
2611         memory operands as source.
2612         ("movdi" + splitters): Likewise.
2613         ("movdf" + splitters): Likewise.
2614         * config/s390/s390.c (s390_split_ok_p): New function.
2615         * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
2616
2617 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2618
2619         * combine.c (force_to_mode): Replace the equality comparison
2620         of INTVALs with a pointer equality comparison.
2621         (simplify_comparison): Likewise.
2622
2623 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2624
2625         * jump.c (rtx_renumbered_equal_p): Replace an expression that
2626         is known to be 0 with 0.
2627
2628 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2629
2630         * gcse.c (expr_equiv_p): Replace expressions that are known to
2631         be 0 with 0.
2632
2633 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2634
2635         * cse.c (fold_rtx): Replace the equality comparison of INTVALs
2636         with a pointer equality comparison.
2637
2638 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2639
2640         * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
2641         are known to be not equivalent.
2642
2643 2003-06-27  Richard Henderson  <rth@redhat.com>
2644
2645         * config/alpha/alpha.c (function_arg): Don't pass small aggregates
2646         in floating point registers.  Validate that we don't receive complex
2647         values here.  Use #elif.
2648         (return_in_memory, function_value): New.
2649         (alpha_va_arg): Handle complex values as two arguments.
2650         * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
2651         (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
2652         (SPLIT_COMPLEX_ARGS): New.
2653         * config/alpha/alpha-protos.h: Update.
2654
2655 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
2656
2657         * ggc-page.c (inverse_table): Change type of mult to size_t.
2658         (compute_inverse): Compute inverse using size_t, not unsigned int.
2659         Compute inverse also for sizes larger than half a machine page.
2660
2661 Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
2662
2663         * toplev.c (rest_of_decl_compilation):  Only varpoolize argument
2664         when called before cgraph_optimize.
2665
2666 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
2667
2668         * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
2669         * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
2670         be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
2671
2672 Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
2673
2674         * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
2675         of known_decls.
2676
2677 2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
2678
2679         * defaults.h (REGISTER_MOVE_COST): Define default here.
2680         * regclass.c: Don't define default REGISTER_MOVE_COST here.
2681         * reload.c, reload1.c: Ditto.
2682
2683 2003-06-27  Richard Earnshaw <rearnsha@arm.com>
2684
2685         * flags.h: Really install previous change.
2686
2687 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
2688
2689         * rtl.h (emit_note): Remove FILE parameter.
2690         * emit-rtl.c (emit_line_note): Adjust emit_note call.
2691         (emit_note): Remove FILE parameter. Adjust.
2692         * builtins.c (expand_builtin_expect): Adjust emit_note call.
2693         * c-semantics.c (genrtl_scope_stmt): Likewise.
2694         (expand_stmt): Likewise.
2695         * cfglayout.c (reemit_insn_block_notes): Likewise.
2696         (duplicate_insn_chain): Likewise.
2697         * except.c (expand_eh_region_start, expand_eh_region_end,
2698         sjlj_emit_function_enter): Likewise.
2699         * explow.c (probe_stack_range): Likewise.
2700         * expr.c (emit_block_move_via_loop): Likewise.
2701         * function.c (init_function_start, expand_function_start,
2702         expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
2703         * integrate.c (expand_inline_function, copy_insn_list): Likewise.
2704         * reg-stack.c (compensate_edge): Likewise.
2705         * reload1.c (reload): Likewise.
2706         * rtlanal.c (hoist_insn_to_edge): Likewise.
2707         * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
2708         expand_loop_continue_here, expand_end_loop, expand_continue_loop,
2709         expand_exit_loop_top_cond, expand_value_return,
2710         expand_start_bindings_and_block, expand_end_bindings,
2711         expand_decl_cleanup, expand_start_case): Likewise.
2712         * unroll.c (copy_loop_body
2713         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
2714         * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2715         * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
2716         rs6000_emit_allocate_stack, rs6000_output_function_prologue,
2717         rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
2718         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
2719         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2720
2721 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
2722
2723         * c-tree.h (grokfield): Remove unused filename and line parameters.
2724         * c-decl.c (grokfield): Remove unused filename and line parameters.
2725         * c-parse.in (component_decl): Adjust field grokking rules, adjust
2726         grokfield calls.
2727         (component_declarator): Likewise.
2728         (component_notype_declarator): Likewise.
2729         * objc/objc-act.c (build_module_descriptor): Adjust grokfield
2730         calls.
2731         (build_protocol_template, build_method_prototype_list_template,
2732         build_method_prototype_template, build_category_template,
2733         build_selector_template, build_class_template,
2734         build_super_template, build_ivar_template,
2735         build_ivar_list_template, build_method_list_template,
2736         build_method_template, add_instance_variable): Likewise.
2737
2738 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
2739
2740         * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
2741         OP2 are known to be not equivalent.
2742
2743 2003-06-26  Devang Patel <dpatel@apple.com>
2744
2745         * final.c (debug_flush_symbol_queue): New function.
2746         (debug_queue_symbol): New function.
2747         (debug_free_queue): New function.
2748         (debug_nesting): New variable.
2749         (symbol_queue): New variable.
2750         (symbol_queue_index): Same.
2751         (symbol_queue_size): Same.
2752         * debug.h (debug_flush_symbol_queue): New.
2753         (debug_queue_symbol): New.
2754         (debug_free_queue): New.
2755         (debug_nesting): New.
2756         (symbol_queue_index): New.
2757         * dbxout.c (DBXOUT_DECR_NESTING): New macro.
2758         (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
2759         (dbxout_init): Delay symbol output.
2760         (dbxout_global_decl): Save, set and reset TREE_USED bit around
2761         dbxout_symbol() call.
2762         (dbxout_begin_function): Same.
2763         (dbxout_finish): Free symbol queue.
2764         (dbxout_type): Put appropriate symbols in queue.
2765         (dbxout_symbol): Put info for symbol's type in queue.
2766         Decrement/Increment nesting counts flush symbol queue appropriately.
2767         (dbxout_parms): Increment dbxout nesting.
2768         (dbxout_reg_parms): Same.
2769         * flags.h (flag_debug_only_used_symbols): New.
2770         * toplev.c (flag_debug_only_used_symbols): New variable.
2771         (lang_independent_options): Add entries for new option
2772         -feliminate-unused-debug-symbols.
2773         * common.opt: Add entry for -feliminate-unused-debug-symbols.
2774         * opts.c (common_handle_options): Same.
2775         * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
2776         -feliminate-unused-debug-symbols.
2777         * doc/invoke.texi (Debugging Options): Document
2778         -feliminate-unused-debug-symbols.
2779
2780 2003-06-26  Roger Sayle  <roger@eyesopen.com>
2781             Jakub Jelinek  <jakub@redhat.com>
2782
2783         * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
2784         obtain the format string instead of using TREE_STRING_POINTER and
2785         TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
2786         return value is unused or the length of src is a known constant.
2787
2788 2003-06-26  Richard Henderson  <rth@redhat.com>
2789
2790         * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
2791
2792 2003-06-26  Richard Henderson  <rth@redhat.com>
2793
2794         * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
2795         (ia64_split_call): Only load descriptor for GP register inputs.
2796         (ia64_expand_epilogue): Check current_frame_info.mask not
2797         current_function_is_leaf to restore ar.pfs.
2798
2799 2003-06-26  Richard Henderson  <rth@redhat.com>
2800
2801         * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
2802         instead of replacing it.
2803
2804 2003-06-26  Richard Henderson  <rth@redhat.com>
2805
2806         * flow.c (propagate_one_insn): Kill function return value
2807         registers across tail calls.
2808
2809         * flow.c (propagate_one_insn): Preserve live-at-end registers
2810         across tail calls.
2811
2812 2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
2813
2814         * reload.c (can_reload_into): New function.
2815         (push_reload): Use it.
2816
2817 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
2818
2819         * config/h8300/h8300.c (compute_a_rotate_length): Fix the
2820         references to the amount of a rotation.
2821
2822 2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2823
2824         * config/sh/coff.h: Don't include dbxcoff.h.
2825         * config.gcc: List it here.
2826
2827 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
2828
2829         * postreload.c (reload_cse_simplify_set): Call cselib_lookup
2830         earlier.  Don't check if SRC is a constant.
2831
2832 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
2833
2834         * Makefile.in (OBJS): Add postreload.o.
2835         Remove cselib.h from the dependency list for reload1.o.
2836         Add a dependency list for postreload.o.
2837         * reload.h: Change the comment for the prototype of
2838         reload_cse_regs.
2839         * reload1.c: Don't include cselib.h.
2840         (reload_cse_regs): Move to postreload.c
2841         (reload_cse_regs_1): Likewise.
2842         (reload_cse_noop_set_p): Likewise.
2843         (reload_cse_simplify_set): Likewise.
2844         (reload_cse_simplify_operands): Likewise.
2845         (RELOAD_COMBINE_MAX_USES): Likewise.
2846         (reload_combine_ruid): Likewise.
2847         (LABEL_LIVE): Likewise.
2848         (reload_combine): Likewise.
2849         (reload_combine_note_use): Likewise.
2850         (reload_combine_note_store): Likewise.
2851         (reg_set_luid): Likewise.
2852         (reg_offset): Likewise.
2853         (reg_base_reg): Likewise.
2854         (reg_mode): Likewise.
2855         (move2add_luid): Likewise.
2856         (move2add_last_label_luid): Likewise.
2857         (MODES_OK_FOR_MOVE2ADD): Likewise.
2858         (reload_cse_move2add): Likewise.
2859         (move2add_note_store): Likewise.
2860         (reload_cse_simplify): Likewise.
2861         * postreload.c: New.
2862
2863 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
2864
2865         * config/avr/avr.c (final_prescan_insn): Remove support for
2866         -mrtl.
2867         * config/avr/avr.h (MASK_RTL_DUMP): Remove.
2868         (TARGET_RTL_DUMP): Likewise.
2869         (TARGET_SWITCHES): Remove -mrtl.
2870
2871 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
2872
2873         * config/h8300/h8300-protos.h: Change emit_a_rotate to
2874         output_a_rotate.  Add a prototype for compute_a_rotate_length.
2875         * config/h8300/h8300.c (emit_a_rotate): Change to
2876         output_a_rotate.
2877         (compute_a_rotate_length): New.
2878         (h8300_adjust_insn_length): Remove.
2879         * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
2880         * config/h8300/h8300.md (adjust_length): Remove.
2881         (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
2882         (*rotlhi3_1): Likewise.
2883         (*rotlsi3_1): Likewise.
2884
2885 2003-06-26  Roger Sayle  <roger@eyesopen.com>
2886             Richard Henderson  <rth@redhat.com>
2887
2888         * builtins.c (expand_builtin_mathfn): Always stabilize the argument
2889         list against re-evaluation.  If expand_unop fails, call expand_call
2890         with the stabilized argument list rather than return NULL_RTX.
2891         (expand_builtin_mathfn2): Likewise, always stabilize the argument
2892         list, and call expand_call ourselves if expand_binop fails.
2893
2894 2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
2895
2896         PR optimization/11210
2897         * fold-const (decode_field_reference): Strip only NOPs that
2898         don't affect the sign.
2899
2900 2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
2901
2902         * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
2903         (pop_fpscr, fpu_switch): Likewise.
2904
2905 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2906
2907         * value-prof.c: New.
2908         * value-prof.h: New.
2909         * Makefile.in (value-prof.o): New.
2910         (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
2911         (profile.o): Add value-prof.h and tree.h dependency.
2912         * flags.h (flag_profile_values): Declare.
2913         * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
2914         Add new counters.
2915         (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
2916         GCOV_COUNTER_V_DELTA): New counter sections.
2917         (__gcov_merge_single, __gcov_merge_delta): Declare.
2918         * flow.c (mark_used_regs): Set subregs_of_mode only when the
2919         structure is initialized.
2920         * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
2921         * profile.c: Include value-prof.h and tree.h.
2922         (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
2923         gen_const_delta_profiler, instrument_values): New static functions.
2924         (get_exec_counts): Fix comment.
2925         (branch_prob): Invoke instrument_values.
2926         * toplev.c (flag_profile_values): New flag.
2927         * doc/invoke.texi (-fprofile-values): Document.
2928
2929 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2930
2931         * Makefile.in (cfgrtl.o): Add expr.h dependency.
2932         * cfgrtl.c: Include expr.h.
2933         (mark_killed_regs, safe_insert_insn_on_edge): New
2934         functions.
2935         * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
2936         * basic-block.h (safe_insert_insn_on_edge): Declare.
2937
2938 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
2939
2940         * c-opts.c (missing_arg): Make non-static.
2941         (c_common_handle_option): Don't check for missing arguments.
2942         * opts.c (handle_option): Check for missing arguments.
2943
2944 2003-06-26  David Edelsohn  <edelsohn@gnu.org>
2945
2946         * config/rs6000/power4.md (power4-veccomplex): Correct latency.
2947
2948 2003-06-25  Loren James Rittle  <ljrittle@acm.org>
2949
2950         * configure.in (ld_vers): Portability [sed].
2951         * configure: Regenerate with autoconf213.
2952
2953 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
2954
2955         * doc/extend.texi: Document new builtin functions for Intel
2956         Prescott New Intrunctions.
2957
2958         * doc/invoke.texi: Document new command-line options, -mpni and
2959         -mno-pni, for Intel Prescott New Intrunctions.
2960
2961         * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
2962
2963         * config/i386/i386.c (override_options): Turn on MASK_SSE2
2964         for -mpni. Turn on MASK_SSE for -msse2.
2965         (bdesc_2arg): Add PNI builtins with 2 args.
2966         (bdesc_1arg): Add PNI builtins with 1 arg.
2967         (ix86_init_mmx_sse_builtins): Handle PNI builtins.
2968         (ix86_expand_builtin): Likewise.
2969
2970         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
2971         MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
2972         MASK_TLS_DIRECT_SEG_REFS): Renumbered.
2973         (TARGET_PNI): New.
2974         (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
2975         -mpni and -mno-pni.
2976         (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
2977         (ix86_builtins): Add PNI builtins.
2978         (config/i386/i386.md): Add PNI patterns.
2979
2980         * config/i386/pmmintrin.h: New file.
2981
2982 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
2983
2984         * config/h8300/h8300.md (call): Fix the insn lengths.
2985         (call_value): Likewise.
2986
2987 Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
2988
2989         * c-common.c (handle_used_attribute): Use mark_referenced.
2990         * varasm.c (mark_referenced): Break out from ...
2991         (assemble_name): ... here.
2992         * tree.h (mark_referenced): Declare.
2993
2994 2003-06-25  Wolfgang Bangerth  <bangerth@dealii.org>
2995
2996         * gccbug.in: Add PCH to list of categories.
2997
2998 2003-06-25 Martin Schaffner <schaffner@gmx.li>
2999
3000         * cppfiles.c: Clarify comments.
3001         * cpphash.h: Likewise.
3002         * cpplib.h: Likewise.
3003         * cppmacro.c: Likewise.
3004         * mkdeps.h: Likewise.
3005
3006 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
3007
3008         * c-opts.c (complain_wrong_lang, write_langs): Remove.
3009         (c_common_handle_option): Complaints about wrong language are
3010         handled in opts.c now.
3011         * opts.c (complain_wrong_lang, write_langs, handle_options): New.
3012         (find_opt): Fix thinko.
3013         (handle_option): Update prototype.  Complain about switches for
3014         a different front end.
3015         * opts.h (lang_names, handle_options): New.
3016         (handle_option): Remove.
3017         * opts.sh: Write out language names array.
3018         * toplev.c (parse_options_and_default_flags): Use handle_options.
3019
3020 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
3021
3022         * config/i386/i386.c (MASK_SSE1): Removed.
3023         (MASK_SSE164): Removed.
3024         (MASK_SSE264): Removed.
3025         (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
3026         MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
3027         with MASK_SSE2 | MASK_64BIT.
3028         (bdesc_1arg): Likewise.
3029         (ix86_init_mmx_sse_builtins): Likewise.
3030
3031         * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
3032         (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
3033         -msse2.
3034
3035 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3036
3037         * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
3038         (HOST_WIDE_INT_PRINT_DEC_SPACE,
3039         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
3040         HOST_WIDEST_INT_PRINT_DEC_SPACE,
3041         HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
3042         (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
3043         HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
3044         terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
3045
3046         * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
3047         * ra-debug.c (dump_static_insn_cost): Likewise.
3048
3049 2003-06-26  Nick Clifton  <nickc@redhat.com>
3050
3051         * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
3052         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
3053         Replace occurances of '???' with 'XXX' incase they are
3054         mistaken for trigraphs.
3055         (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
3056         does not have a register for the first operand.
3057
3058 2003-06-25      Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3059
3060         * config/sh/sh.c (sh_register_move_cost):
3061         Add case for moving between MAC_REGS.
3062
3063 2003-06-25  Zack Weinberg  <zack@codesourcery.com>
3064
3065         PR 10178
3066         * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
3067         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
3068         * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
3069         to true.
3070         * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
3071         return 0.
3072
3073 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3074
3075         * Makefile.in (bt-load.o): Depend on $(TM_P_H).
3076         * bt-load.c: Include "tm_p.h".
3077
3078 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
3079
3080         * config/h8300/h8300.c (compute_mov_length): Adjust for the
3081         new optimization.
3082         * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
3083         an SImode constant whose upper and lower are the same.
3084
3085 Wed Jun 25 11:31:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
3086
3087         * varasm.c (assemble_name): Mark needed variables even when
3088         global info is ready.
3089
3090 2003-06-24  Jerry Quinn  <jlquinn@optonline.net>
3091
3092         PR other/11280
3093         * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
3094         -freorder-functions description.
3095
3096 2003-06-25  Josef Zlomek  <zlomekj@suse.cz>
3097
3098         * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
3099
3100 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
3101
3102         * opts.c (common_handle_option): Add missing break;s.
3103
3104 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
3105
3106         * config/h8300/h8300-protos.h: Add a prototype for
3107         compute_mov_length.
3108         * config/h8300/h8300.c (compute_mov_length): New.
3109         * config/h8300/h8300.md (*movqi_h8300): Use it.
3110         (*movqi_h8300hs): Likewise.
3111         (movstrictqi): Likewise.
3112         (*movhi_h8300): Likewise.
3113         (*movhi_h8300hs): Likewise.
3114         (movstricthi): Likewise.
3115         (*movsi_h8300): Likewise.
3116         (*movsf_h8300): Likewise.
3117         (*movsi_h8300hs): Likewise.
3118         (*movsf_h8300hs): Likewise.
3119
3120 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
3121
3122         * jump.c (next_nondeleted_insn): Remove.
3123         * rtl.h: Remove the prototype for next_nondeleted_insn.
3124
3125 2003-06-24  Roger Sayle  <roger@eyesopen.com>
3126
3127         PR optimization/11311
3128         * builtins.c (powi_cost): Fix typo.  The number of multiplications
3129         required is the number to reduce the argument, result, plus the
3130         cost of calculating the residual, val [not n, the original value].
3131
3132 2003-06-24  Roger Sayle  <roger@eyesopen.com>
3133
3134         * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
3135
3136 2003-06-24  Richard Henderson  <rth@redhat.com>
3137             (blame to: Loren James Rittle  <ljrittle@acm.org>)
3138
3139         * real.h (ieee_extended_intel_96_round_53_format): New.
3140         * real.c (ieee_extended_intel_96_round_53_format): New.
3141         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
3142         for XFmode and TFmode.
3143
3144 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
3145
3146         * config/h8300/h8300.md (4 anonymous patterns): Give internal
3147         names.
3148         (movsi_h8300): Change the name to *movsi_h8300.
3149         (movsi_h8300hs): Change the name to *movsi_h8300hs.
3150         (movsf_h8300): Change the name to *movsf_h8300.
3151         (movsf_h8300hs): Change the name to *movsf_h8300hs.
3152
3153 2003-06-24  Jakub Jelinek  <jakub@redhat.com>
3154
3155         * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
3156         src twice.
3157
3158 2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
3159
3160         Back out these patches:
3161          2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
3162           * sh.h (OLD_ARG_MODE): New macro.
3163           (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3164           (FUNCTION_ARG_1): Break out of:
3165           (FUNCTION_ARG).  Use OLD_ARG_MODE.
3166          2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
3167           * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3168           of the generated register.
3169
3170         * sh.h (FUNCTION_ARG_SCmode_WART): Define.
3171         (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
3172         an even number of floating point regs are in use, use the same
3173         sequence of argument passing registers for SCmode as would be
3174         used for two SFmode values.
3175         * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
3176         swap real / imaginary parts in incoming SCmode values passed
3177         in registers.
3178
3179 2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3180
3181         PR target/11260
3182         * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
3183
3184 Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
3185
3186         * Makefile.in (cgraph.o): Depend on output.h, not depend on
3187         tree-inline.h
3188         * cgraph.c: Do not include tree-inline.h; include output.h
3189         (known_fns): Rename to ...
3190         (known_decls): ... this one; update all uses.
3191         (cgraph_varpool_hash): New static variable.
3192         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
3193         variables.
3194         (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
3195         cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
3196         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
3197         New functions.
3198         * cgraph.h (cgraph_varpool_node): New structure.
3199         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
3200         (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
3201         cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
3202         cgraph_varpool_asemble_pending_decls): Declare.
3203         * cgraphunit.c (record_call_1): Notice variable references.
3204         (cgraph_finalize_compilation_unit): Assemble pending variables.
3205         * toplev.c (wrapup_global_declarations): Use varpool.
3206         (compile_file): Assemble pending declarations.
3207         (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
3208         * varasm.c (assemble_name): Notice varpool references.
3209
3210 Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
3211
3212         * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
3213         * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
3214         * varasm.c (assemble_variable): Call prepare_assemble_variable.
3215
3216 2003-06-23  Roger Sayle  <roger@eyesopen.com>
3217
3218         * builtins.c (expand_builtin): Use expand_builtin_pow to expand
3219         calls for pow, powf, powl and their __builtin_ variants.
3220         (expand_builtin_pow): If the second argument is a constant
3221         integer and compiling with -ffast-math, use expand_powi to
3222         generate RTL if powi_cost is less than POWI_MAX_MULTS.
3223         (powi_cost): New function to return the number of multiplications
3224         necessary to evaluate an Nth power, for integer constant N.
3225         (expand_powi): New function to expand the RTL for evaluating
3226         the Nth power of a floating point value, for integer constant N.
3227
3228         * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
3229
3230 Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
3231
3232         * cgraph.c (cgraph_nodes_queue): Declare.
3233         (eq_node): Take identifier as p2.
3234         (cgraph_node): Update htab_find_slot_with_hash call.
3235         (cgraph_node_for_identifier): New.
3236         (cgraph_mark_needed_node): Move here from cgraphunit.c.
3237         * cgraph.h (cgraph_nodes_queue): Declare.
3238         (cgraph_node_for_identifier): Declare.
3239         * cgraphunit.c (cgraph_finalize_function): Collect entry points here
3240         instead of in cgraph_finalize_compilation_unit; constructors and
3241         destructors are entry points.
3242         (cgraph_finalize_compilation_unit): Reorganize debug outout;
3243         examine nested functions after lowerng; call collect_functions hook.
3244         (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
3245         (cgraph_finalize_compilation_unit): Do not collect entry points.
3246         * varasm.c: Include cgraph.h
3247         (assemble_name): Mark referenced identifier as needed.
3248
3249         * cgraphunit.c (record_call_1): Use get_callee_fndecl.
3250
3251 2003-06-23  Jakub Jelinek  <jakub@redhat.com>
3252
3253         * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
3254         just SYMBOL_REF.
3255         * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
3256         mode, as it requires pic register loaded.
3257
3258         * varasm.c (resolve_unique_section): Remove prototype.  No longer
3259         static.
3260         * tree.h (resolve_unique_section): New prototype.
3261
3262 2003-06-23  Andreas Schwab  <schwab@suse.de>
3263
3264         PR debug/9905
3265         * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
3266         recursing through first argument.
3267
3268 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
3269
3270         * ChangeLog.1: Fix a typo.
3271         * cfgrtl.c: Fix comment typos.
3272         * dwarf2out.c: Likewise.
3273         * expmed.c: Likewise.
3274         * genrecog.c: Likewise.
3275         * jump.c: Likewise.
3276         * rtlanal.c: Likewise.
3277         * ssa-dce.c: Likewise.
3278         * toplev.c: Likewise.
3279
3280 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
3281
3282         * doc/extend.texi: Fix typos.
3283         * doc/md.texi: Likewise.
3284         * doc/tm.texi: Likewise.
3285
3286 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
3287
3288         * basic-block.h: Fix comment formatting.
3289         * bt-load.c: Likewise.
3290         * builtins.c: Likewise.
3291         * c-common.c: Likewise.
3292         * c-common.h: Likewise.
3293         * c-format.c: Likewise.
3294         * coverage.c: Likewise.
3295         * cpplib.h: Likewise.
3296         * cpppch.c: Likewise.
3297         * dbxout.c: Likewise.
3298         * diagnostic.c: Likewise.
3299         * dwarf2out.c: Likewise.
3300         * expr.c: Likewise.
3301         * fold-const.c: Likewise.
3302         * function.c: Likewise.
3303         * gcc.c: Likewise.
3304         * gcov-io.c: Likewise.
3305         * gcov-io.h: Likewise.
3306         * gcov.c: Likewise.
3307         * profile.c: Likewise.
3308         * real.h: Likewise.
3309         * sched-deps.c: Likewise.
3310
3311 2003-06-23  Roger Sayle  <roger@eyesopen.com>
3312             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3313
3314         * doc/contrib.texi (Contributors): Add a note on testing and
3315         remove duplicates from testers list.
3316
3317 2003-06-23  Nick Clifton  <nickc@redhat.com>
3318
3319         * read-rtl.c (read_braced_string): Check for EOF.  If
3320         encountered issue an error message.
3321
3322 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
3323
3324         * doc/invoke.texi: Document dump options, dT and dW.
3325
3326 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
3327
3328         * genrecog.c (pred_table): Remove the entry for
3329         mode_independent_operand.
3330         * recog.c (next_insns_test_no_inequality): Remove.
3331         (mode_independent_operand): Likewise.
3332         * recog.h: Remove the prototype for mode_independent_operand.
3333
3334 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3335
3336         * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
3337         store into bit 0.
3338         * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
3339         second alternative to set_znv.
3340         (*extzv_1_r_inv_h8300hs): Likewise.
3341
3342 2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
3343
3344         * configure.in (in_tree_gas): Find out here whether GAS is ELF,
3345         set in_tree_gas_is_elf accordingly.
3346         (in_tree_ld): Find out whether LD emulation is ELF, set
3347         in_tree_ld_is_elf accordingly.
3348         (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
3349         (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
3350         (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
3351         (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
3352         grepping gas/Makefile.
3353         (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
3354         $in_tree_ld_is_elf instead of grepping ld/Makefile.
3355         * configure: Regenerate.
3356
3357 2003-06-22  Roger Sayle  <roger@eyesopen.com>
3358
3359         * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
3360         up the stabilized argument list, not build_tree_list.
3361         (expand_builtin_strcpy): Construct new argument list manually
3362         instead of using chainon to modify the original argument list.
3363         (expand_builtin_stpcpy): Construct new argument list manually
3364         instead of using copy_list and chainon.
3365         (expand_builtin_sprintf): New function.  Optimize calls to
3366         sprintf when the format is "%s" or doesn't contain a '%'.
3367         (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
3368         expand_builtin_sprintf.
3369
3370 2003-06-22  Andreas Schwab  <schwab@suse.de>
3371
3372         * function.c (set_insn_locators): Mark as unused.
3373
3374 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
3375
3376         * common.opt: Add -finline-limit.
3377         * opts.c (common_handle_options): Handle it.
3378         * opts.sh: Temporary kludge for -finline-limit.
3379         * toplev.c (decode_f_option, independent_decode_option): Die.
3380         (parse_options_and_default_flags): No independent_decode_option.
3381
3382 2003-06-22  Andreas Jaeger  <aj@suse.de>
3383
3384         * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
3385
3386 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3387
3388         * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
3389
3390 2003-06-22  Andreas Schwab  <schwab@suse.de>
3391
3392         * doc/invoke.texi: Remove leading `-' from options in index.
3393
3394 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3395
3396         * bt-load.c: Follow spelling conventions.
3397
3398 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3399
3400         * expr.c (emit_move_insn_1): Fix a comment typo.
3401
3402 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3403
3404         * doc/invoke.texi: Alphabetize dump options.
3405
3406 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3407
3408         * doc/invoke.texi: Remove a duplicate -dk.
3409
3410 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3411
3412         * doc/invoke.texi: Update dump file names.
3413
3414 2003-06-22  Zack Weinberg  <zack@codesourcery.com>
3415
3416         * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
3417         and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
3418
3419 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
3420
3421         * doc/rtl.texi: Fix the @findex for pre_modify.
3422
3423 2003-06-22  Andreas Jaeger  <aj@suse.de>
3424
3425         * caller-save.c: Convert to ISO C90.
3426         * calls.c: Likewise.
3427         * cfg.c: Likewise.
3428         * cfganal.c: Likewise.
3429         * cfgbuild.c: Likewise.
3430         * cfgcleanup.c: Likewise.
3431         * cfghooks.c: Likewise.
3432         * cfglayout.c: Likewise.
3433         * cfglayout.h: Likewise.
3434         * cfgloop.c: Likewise.
3435         * cfgloop.h: Likewise.
3436         * cfgloopanal.c: Likewise.
3437         * cfgloopmainip.c: Likewise.
3438         * cfgrtl.c: Likewise.
3439
3440 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
3441
3442         * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
3443         64-bit alignment.
3444
3445 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
3446
3447         * arm.md (all call_value patterns): Remove register constraints on
3448         value operand.
3449
3450 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
3451
3452         * common.opt: More -f switches.