OSDN Git Service

2003-08-22 Jason Eckhardt <jle@rice.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2
3         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
4         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
5         Convert all function definitions from traditional to ISO C90 syntax.
6         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
7         with 'GCC'.  Remove all uses of the PARAMS macro.
8         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
9         * config/i860/i860.md: Likewise.
10         * config/i860/sysv4.h: Likewise.
11         * config/i860/varargs.asm: Likewise.
12
13 2003-08-22  Jason Eckhardt  <jle@rice.edu>
14
15         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
16         argument.
17         (tdesc_section): Add prototype.
18         Update copyright dates.
19         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
20         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
21         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
22         (targetm): Likewise.
23         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
24         for '%d' where necessary.
25         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
26         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
27         by UNITS_PER_WORD when referencing (likewise for .floats).
28         (I860_SVR4_VARARGS): Rename...
29         (I860_SVR4_VA_LIST): ...to this.
30         Call build() with 't' rather than 'field'.
31         (i860_rtx_costs): New function.
32         (TARGET_RTX_COSTS): Define.
33         (i860_internal_label): New function.
34         (TARGET_ASM_INTERNAL_LABEL): Define.
35         (i860_file_start): New function.
36         Update copyright dates.
37         * config/i860/i860.h (CPP_PREDEFINES): Remove.
38         (TARGET_CPU_CPP_BUILTINS): Define.
39         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
40         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
41         (ASM_FILE_START): Remove.
42         (ASM_FILE_START_1): Remove.
43         (ASM_GLOBALIZE_LABEL): Remove.
44         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
45         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
46         with targetm.asm_out.internal_label.
47         Update copyright dates.
48         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
49         (CPP_PREDEFINES): Remove.
50         (TARGET_OS_CPP_BUILTINS): Define.
51         (GLOBAL_ASM_OP): Define.
52         (ASM_FILE_START): Remove.
53         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
54         (TARGET_ASM_FILE_START): Define.
55         Update copyright dates.
56
57 2003-08-22  Jason Eckhardt  <jle@rice.edu>
58
59         * config.gcc (i860-*-sysv4*): Add target.
60         * config/i860/i860-protos.h: New.
61         * config/i860/i860.c: New.
62         * config/i860/i860.h: New.
63         * config/i860/i860.md: New.
64         * config/i860/sysv4.h: New.
65         * config/i860/varargs.asm: New.
66         * config/i860/x-sysv4: New.
67
68 2003-08-22  Jason Eckhardt  <jle@rice.edu>
69
70         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
71         Remove all uses of PARAMS macro.
72         Convert all function definitions to ISO C90 syntax.
73         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
74         * config/pa/fptr.c: Likewise.
75         * config/pa/lib2funcs.asm: Likewise.
76         * config/pa/long_double.h: Likewise.
77         * config/pa/milli64.S: Likewise.
78         * config/pa/pa-64.h: Likewise.
79         * config/pa/pa-hpux.h: Likewise.
80         * config/pa/pa-hpux10.h: Likewise.
81         * config/pa/pa-hpux11.h: Likewise.
82         * config/pa/pa-linux.h: Likewise.
83         * config/pa/pa-modes.def: Likewise.
84         * config/pa/pa-osf.h: Likewise.
85         * config/pa/pa-pro-end.h: Likewise.
86         * config/pa/pa.md: Likewise.
87         * config/pa/pa32-linux.h: Likewise.
88         * config/pa/pa64-linux.h: Likewise.
89         * config/pa/pa64-hpux.h: Likewise.
90         * config/pa/pa64-regs.h: Likewise.
91         * config/pa/quadlib.c: Likewise.
92         * config/pa/rtems.h: Likewise.
93         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
94         all uses of the PARAMS macro. 
95         * config/pa/pa.h: Likewise.
96         * config/pa/som.h: Likewise.
97
98         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
99         Remove all uses of PARAMS macro.
100         Convert all function definitions to ISO C90 syntax.
101         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
102         Remove all uses of PARAMS macro.
103         * config/iq2000.h: Remove all uses of PARAMS macro.
104         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
105
106 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
107
108         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
109         * config/s390/s390.c (gen_consttable): Remove.
110         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
111         (s390_output_pool_entry): New function.
112         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI, 
113         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI, 
114         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
115         (UNSPECV_POOL_ENTRY): ... this new constant.
116         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
117         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
118         ("*pool_entry"): ... and replace by this new insn.
119         ("literal_pool_31"): Do not emit anchor label if pool empty.
120
121         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
122         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
123         (s390_fixup_clobbered_return_reg): Remove.
124         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
125         (s390_return_addr_rtx): Always retrieve return address from save area
126         slot.  Use save_return_addr_p to force slot to be filled.
127         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
128
129 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
130
131         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
132         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
133         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
134         around SB-1 errata if TARGET_FIX_SB1 is set.
135         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
136         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
137
138 2003-08-22  Roger Sayle  <roger@eyesopen.com>
139
140         * hashtable.c (ht_expand): Avoid calculating rehash for the common
141         case that the first probe hits an empty hash table slot.
142
143 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
144
145         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
146
147 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
148
149         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
150         (ptr_extend_plus_imm): ... this.
151         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
152         optimization in C++.
153         (ia64_output_mi_thunk): Support ILP32 mode.
154
155 2003-08-22  bernardo innocenti  <bernie@develer.com>
156
157         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
158         function.
159         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
160
161 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
162
163         * config/i386/i386.c (const_int_1_operand): Simplify an
164         integer comparison.
165
166 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
167
168         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
169         * config/rs6000/ppc64-fp.c: Likewise.
170
171 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
172
173         * cfgcleanup.c: Fix comment typos.
174         * emit-rtl.c: Likewise.
175         * optabs.c: Likewise.
176         * ra-build.c: Likewise.
177         * rtlanal.c: Likewise.
178         * tree.h: Likewise.
179
180 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
181
182         * c-decl.c: Fix comment formatting.
183         * cfgrtl.c: Likewise.
184         * combine.c: Likewise.
185         * convert.c: Likewise.
186         * dominance.c: Likewise.
187         * dwarf2out.c: Likewise.
188         * dwarfout.c: Likewise.
189         * expmed.c: Likewise.
190         * fold-const.c: Likewise.
191         * gcov.c: Likewise.
192         * genattrtab.c: Likewise.
193         * ggc-common.c: Likewise.
194         * mips-tfile.c: Likewise.
195         * regmove.c: Likewise.
196
197 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
198
199         * builtin-attrs.def: Fix comment formatting.
200         * c-pretty-print.c: Likewise.
201         * diagnostic.h: Likewise.
202         * langhooks.h: Likewise.
203         * recog.c: Likewise.
204         * simplify-rtx.c: Likewise.
205         * tree.def: Likewise.
206
207 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
208
209         * config/m68k/m68k-protos.h: Convert to ISO C90.
210         * config/m68k/m68k.c: Likewise.
211
212 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
213             Paul Dale  <pauli@snapgear.com>
214             Peter Barada <peter@baradas.org>
215
216         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
217         ColdFire cores.
218
219 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
220
221         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
222         * config.gcc (*-*-openbsd): Don't set tm_file.
223         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
224         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
225         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
226         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
227         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
228         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
229         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
230         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
231         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
232         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
233         xscale-*-coff): Use explicit and complete lists of target headers
234         to include.  Move definitions to tm_defines where appropriate.
235         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
236         not-yet-contributed configuration.
237
238         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
239         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
240         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
241         * config/i386/nto.h, config/iq2000/iq2000.h,
242         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
243         * config/m68k/linux.h, config/m68k/m68k-aout.h
244         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
245         * config/m68k/netbsd.h, config/m68k/openbsd.h
246         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
247         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
248         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
249         Remove includes of other target config headers, and
250         definitions of macros moved to tm_defines lists.  Add #undefs
251         where now necessary to prevent redefinition warnings.
252
253         * config/h8300/coff.h: New file split out of...
254         * config/h8300/elf.h: ...here.
255         * config/m68k/hp320base.h: New file split out of...
256         * config/m68k/hp320.h: ...here.
257         * config/rs6000/lynxbase.h: New file split out of...
258         * config/rs6000/lynx.h: ...here.
259
260         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
261         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
262
263         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
264         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
265         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
266         Remove unnecessary #ifndef.
267         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
268         [under IN_LIBGCC2] with config/.
269
270 2003-08-21  Per Bothner  <bothner@pbothner.com>
271
272         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
273         to cpp_push_buffer.
274         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
275         by return_at_eof check.  Always call _cpp_pop_buffer at end.
276
277 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
278
279         PR target/11805
280         * config/h8300/h8300.md (two anonymous patterns): Remove.
281
282 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
283
284         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
285         * config/mips/mips.c (function_arg_pass_by_reference): Never return
286         true for n32 & n64.
287
288 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
289
290         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
291         and similarly in (A | C) == D where C & ~D != 0.
292
293 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
294
295         PR 8180
296         * configure.in: When testing with_libs and with_headers, treat
297         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
298         * configure: Regenerate.
299
300 2003-08-20  Peter Barada <peter@baradas.org>
301
302         * longlong.h (umul_ppmm): Add ColdFire support.
303
304 2003-08-20  Peter Barada <peter@baradas.org>
305             Bernardo Innocenti  <bernie@develer.com>
306
307         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
308         * config/m68k/m68k.h: Likewise.
309         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
310         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
311         * config/m68k/linux.h: Likewise.
312         * config/m68k/m68k.c: Likewise.
313         * config/m68k/m68k.md: Likewise.
314         * config/m68k/m68kelf.h: Likewise.
315         * config/m68k/netbsd-elf.h: Likewise.
316         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
317
318 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
319
320         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
321         * config/m68k/m68k.md: Likewise.
322
323 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
324
325         PR java/11996
326         Revert this change:
327         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
328         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
329         types with precisions other than those given by native machine
330         modes.
331
332 2003-08-20  Gunther Nikl  <gni@gecko.de>
333
334         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
335         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
336         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
337         * config/m68k/m68k.md (anonymous define_insn): Likewise
338         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
339         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
340         code selected by NO_ASM_FMOVECR
341
342 2003-08-20  Gunther Nikl  <gni@gecko.de>
343
344         * config/m68k/m68k.c (output_move_const_into_data_reg,
345         output_move_himode): unify MOTOROLA/MIT handling of moveq
346         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
347         Likewise
348
349 2003-08-20  Gunther Nikl  <gni@gecko.de>
350
351         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
352         label name
353         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
354         HOST_WIDE_INT_PRINT_DEC with %wd
355
356 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
357
358         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
359         redefine warning.
360
361 2003-08-20  Roger Sayle  <roger@eyesopen.com>
362
363         PR middle-end/11984
364         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
365         operands before calling tree_int_cst_lt when performing associative
366         transformations.
367
368 2003-08-20  Jason Merrill  <jason@redhat.com>
369
370         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
371         (EXPR_CHECK): Don't check for 'r' or 's' if we're
372         checking IS_EXPR_CODE_CLASS.
373         * calls.c (calls_function_1): Likewise.
374         * fold-const.c (fold): Likewise.
375         * tree.c (iterative_hash_expr): Likewise.
376         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
377
378 2003-08-20  Gunther Nikl  <gni@gecko.de>
379
380         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
381         depending on MOTOROLA_BSR
382         * config/m68k/m68k.md (anonymous define_insn): Likewise
383
384 2003-08-20  Jason Merrill  <jason@redhat.com>
385
386         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
387         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
388         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
389         * dojump.c (do_jump): Likewise.
390         * fold-const.c (operand_equal_p, fold): Likewise.
391         (tree_expr_nonnegative_p): Likewise.
392
393         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
394         TYPE_USER_ALIGN for FIELD_DECLs.
395
396         * attribs.c (decl_attributes): Rebuild the function pointer type after
397         changing the target type.
398         * tree.c (get_qualified_type): Also check that the attributes match.
399
400 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
401
402         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
403         * objc/config-lang.in (stagestuff): ... to here.
404
405 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
406
407         PR c++/11946
408         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
409         NOP_EXPR) when necessary.
410         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
411         types with precisions other than those given by native machine
412         modes.
413
414 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
415
416         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
417         because some macro is defined.
418
419         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
420         options.
421         * config/i386/darwin.h (ASM_SPEC): New.
422         (SUBTARGET_EXTRA_SPECS): New.
423         * config/rs6000/darwin.h (ASM_SPEC): New.
424         (SUBTARGET_EXTRA_SPECS): New.
425         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
426         a cross-compiler between two different processors on Darwin.
427         * configure: Regenerate.
428
429 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
430
431         * builtins.c: Fix comment typos.
432         * c-common.c: Likewise.
433         * c-decl.c: Likewise.
434         * c-pretty-print.c: Likewise.
435         * cfgbuild.c: Likewise.
436         * cfglayout.c: Likewise.
437         * cfgloopanal.c: Likewise.
438         * cgraphunit.c: Likewise.
439         * cppfiles.c: Likewise.
440         * dwarfout.c: Likewise.
441         * expr.c: Likewise.
442         * fold-const.c: Likewise.
443         * gcse.c: Likewise.
444         * ggc-page.c: Likewise.
445         * haifa-sched.c: Likewise.
446         * pretty-print.c: Likewise.
447         * tree.c: Likewise.
448         * tree.h: Likewise.
449         * value-prof.c: Likewise.
450
451 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
452
453         * c-decl.c: Follow spelling conventions.
454         * cppfiles.c: Likewise.
455
456 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
457
458         * c-common.c: Fix comment formatting.
459         * c-common.h: Likewise.
460         * c-decl.c: Likewise.
461         * cppinit.c: Likewise.
462         * cpplib.h: Likewise.
463         * emit-rtl.c: Likewise.
464         * input.h: Likewise.
465         * line-map.h: Likewise.
466         * opts.c: Likewise.
467         * opts.h: Likewise.
468         * simplify-rtx.c: Likewise.
469
470 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
471
472         * unwind-c.c: Add libgcc-style exception.
473         * unwind-dw2.c: Likewise.
474         * unwind-pe.h: Likewise.
475         * unwind-sjlj.c: Likewise.
476         * unwind.inc: Likewise.
477
478 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
479
480         PR c/5582 PR c++/10538
481         * langhooks-def.h (lhd_decl_uninit): Declare.
482         (LANG_HOOKS_DECL_UNINIT): New macro.
483         (LANG_HOOKS_INITIALIZER): Adjust.
484         * langhooks.h (struct lang_hooks): Add new field
485         decl_uninit.
486         * langhooks.c (lhd_decl_uninit): Define.
487         * c-common.c (c_decl_uninit_1): New function.
488         (c_decl_uninit): New function.
489         (warn_init_self): Define.
490         * c-common.h (c_decl_uninit): Declare.
491         (warn_init_self): Declare.
492         * c.opt: Introduce -Winit-self.
493         * c-opts.c (c_common_handle_options): Set warn_init_self.
494         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
495         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
496         * function.c (uninitialized_vars_warning): Call the language hook.
497         * doc/invoke.texi: Document -Winit-self.
498
499 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
500
501         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
502         to use better predicates and constraints.  Define new
503         instruction to handle "trap_if" with DI-mode arguments.
504         (conditional_trap): FAIL if trap code is not 0.
505
506 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
507
508         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
509         strstr with $pb to a strcompare with "<pic base>"
510         (ix86_output_addr_diff_elt): Output the real pic base.
511
512 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
513
514         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
515         (LANG_HOOKS_INITIALIZER): Correct.
516         * c-lang.c: Likewise.
517
518 2003-08-19  Jan Hubicka  <jh@suse.cz>
519
520         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
521         (cgraph_varpool_mark_needed_node): Likewise.
522         * cgraph.h (notice_global_symbol): Declare
523         * varasm.c (notice_global_symbol): Break out from ...
524         (assemble_start_function): ... here; update for variables.
525         (assemble_variable): Use notice_global_symbol.
526
527 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
528
529         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
530         expect SFmode and DFmode arguments to be passed in FPRs,
531         regardless of the underlying type.
532
533 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
534
535         PR target/11924
536         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
537         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
538
539 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
540
541         PR c/11207
542         * c-typeck.c (set_init_index): Check for negative index.
543
544 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
545
546         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
547         call0 ABI.
548         * config/xtensa/crtn.asm (_init, _fini): Likewise.
549         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
550         __umodsi3, __modsi3): Likewise.
551         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
552         $(INCLUDES).
553
554 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
555
556         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
557
558 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
559
560         * config/mips/mips.md: Quote C code in braces.  Remove use of
561         fake const0_rtx operands.  Remove double backslashes.  Use \;.
562         Remove workarounds for bogus warnings.
563
564 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
565
566         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
567         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
568         rather than TARGET_MIPS4300.
569         (mulsf3_internal, mulsf3_r4300): Likewise.
570
571 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
572
573         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
574
575 2003-08-17  Roger Sayle  <roger@eyesopen.com>
576
577         * simplify-rtx.c (associative_constant_p): New function to test
578         whether an RTX expression is an immediate constant.
579         (simplify_associative_operation): New function to perform some
580         reassociation optimizations of associative binary expressions.
581         (simplify_binary_operation): Use simplify_associative_operation
582         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
583         Floating point expressions are only reassociated when unsafe
584         math optimizations are permitted.
585
586 2003-08-17  Andreas Jaeger  <aj@suse.de>
587
588         * config/alpha/alpha.md: Remove usage of PARAMS.
589
590         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
591         * config/i386/i386-interix.h: Likewise.
592         * config/i386/winnt.c: Likewise.
593         * config/i386/cygming.h: Likewise.
594         * config/i386/cygwin2.c: Likewise.
595         * config/darwin.c: Likewise.
596         * config/darwin-c.c: Likewise.
597         * config/darwin-protos.h: Likewise.
598         * config/darwin.h: Likewise.
599         * config/s390/s390-protos.h: Likewise.
600         * config/s390/s390.c: Likewise.
601         * config/ia64/ia64.c: Likewse
602         * config/ia64/ia64-protos.h: Likewise.
603         * config/ia64/ia64-c.c: Likewise.
604
605 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
606
607         * config/sparc/sparc.c: Convert to ISO C.
608
609         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
610         * config/sparc/sparc.c: Likewise.
611
612 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
613
614         PR c++/11512
615         * stmt.c (expand_expr_stmt_value): Don't warn about any void
616         typed expression.
617
618 2003-08-16  Jan Hubicka  <jh@suse.cz>
619
620         * i386.c (ix86_fntype_regparm): Rename from ...
621         (ix86_function_regparm): ... this one; add fastcall and local
622         functions.
623         (ix86_function_ok_for_sibcall): Update.
624         (ix86_return_pops_args): Likewise.
625         (init_cumulative_args): Likewise.
626         (x86_can_output_mi_thunk): Likewise.
627         (function_arg): Fix formating.
628         (x86_this_parameter): Fix fastcall.
629         (x86_output_mi_thunk): Likewise.
630
631         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
632         body as reachable; mark nested functions as needed too.
633         (dump_cgraph): Do not output global.calls.
634         * cgraph.h (cgraph_global_info): Kill.
635         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
636         (record_call_1): Speedup.
637         (cgraph_analyze_function): Break out from ...; compute inlining
638         parameters.
639         (cgraph_finalize_compilation_unit): ... here.
640         (cgraph_mark_inline): Kill computation of calls.
641         (cgraph_decide_inlining): Do not compute most of initial values.
642
643 2003-08-14  Roger Sayle  <roger@eyesopen.com>
644
645         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
646         to negate if either operand is easy to negate, if we don't care
647         about sign-dependent rounding.
648         (negate_expr): Make the logic to negate a REAL_CST explicit.
649         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
650         that's easy to negate, if we don't honor sign-dependent rounding.
651         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
652         negate, and the symmetric A * -B as -A * B if A is easy to negate.
653         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
654         -C/D if B and C are cheap to negate.  Add an explicit rule to
655         optimize X/-1.0 as -X when we don't care about signaling NaNs.
656
657 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
658
659         * Makefile.in (tm_file): Rename tm_include_list.
660         (tm_p_file): Rename tm_p_include_list.
661         (build_xm_file): Rename build_xm_include_list.
662         (host_xm_file): Rename host_xm_include_list.
663         (xm_file): Rename xm_include_list.
664         (xm_file_list): Add to be substituted.
665         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
666         Update to match.
667         (bt-load.o): Add missing dependency on $(TM_H).
668         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
669         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
670         build_xm_file, generate both *_file_list and *_include_list
671         values from it.  (xm_file_list was formerly not being generated.)
672         In *_include_list, prefix the names of all headers found in
673         $(srcdir)/config with config/.  In each loop, consider only
674         the special case files that can actually appear in that list.
675         AC_SUBST all *_file_list and all *_include_list variables; do
676         not AC_SUBST the plain *_file variables.
677         * configure: Regenerate.
678
679 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
680
681         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
682
683 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
684
685         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
686         direct calls.
687         (attr_length_call): Include it here.  Improve length estimate for
688         local calls.
689         (output_call): Use targetm.binds_local_p.
690
691 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
692
693         * builtins.c (CASE_MATHFN): New helper macro.
694         (mathfn_built_in): Simplify and sort.
695
696         * protoize.c (substr): Delete, callers changed to `strstr'.
697
698 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
699
700         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
701         * config/iq2000/xm-iq2000.h: Delete file.
702
703 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
704
705         * gengtype.c (walk_type): Process a subobject before processing
706         the pointer that points to the subobject.
707
708 2003-08-13  Per Bothner  <pbothner@apple.com>
709
710         * regclass.c (init_reg_modes):  Make non-static.
711         Rename to init_reg_modes_once per new naming convention.
712         (init_regs):  Don't call init_reg_modes here.
713         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
714         * rtl.h (init_reg_modes_once):  New declaration.
715         * toplev.c (backend_init):  Call init_regs after init_emit_once.
716
717 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
718
719         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
720         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
721
722 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
723
724         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
725         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
726
727 2003-08-13  Dale Johannesen  <dalej@apple.com>
728
729         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
730         handling of decrement-and-branch farther than 32 bits.
731
732 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
733
734         * configure.in (make_compare_target): Move test to ...
735         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
736         * configure: Regenerate.
737
738 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
739
740         * config/mips/iris6.h: Convert to C90 prototypes.
741         * config/mips/irix6-libc-compat.c: Likewise.
742         * config/mips/mips-protos.h: Likewise.
743         * config/mips/mips.c: Likewise.
744
745 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
746
747         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
748         for selected machines.  Comment heavily.
749         fixinc/fixincl.x: Rebuild.
750         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
751
752 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
753
754         * config/mips/mips.h: Tweak various comments.
755         * config/mips/mips.c: Likewise.
756
757 2003-08-11  James E Wilson  <wilson@tuliptree.org>
758
759         PR optimization/11319
760         PR target/10021
761         * alias.c (find_base_value, case REG): Return 0 not src if no base
762         found.
763
764 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
765
766         * gcse.c (gmalloc): Fix last change.
767
768 2003-08-11  Roger Sayle  <roger@eyesopen.com>
769
770         * simplify-rtx.c (simplify_binary_operation): Replace calls to
771         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
772         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
773         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
774
775 2003-08-11  Roger Sayle  <roger@eyesopen.com>
776
777         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
778         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
779         typecode for an ABS_EXPR.
780
781         * doc/c-tree.texi: Document ABS_EXPR.
782
783 2003-08-11  Roger Sayle  <roger@eyesopen.com>
784
785         * fold-const.c (fold): Optimize any associative floating point
786         operator with -funsafe-math-optimizations, not just MULT_EXPR.
787
788 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
789
790         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
791         information in SHmedia case too.
792         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
793         Likewise.
794         (__set_fpscr): Use an access via GOT for PIC case.
795
796 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
797
798         * configure.in (intermodule): Make switch test more portable.
799         * configure: Regenerate.
800
801 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
802
803         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
804         (restrap): Likewise.
805
806 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
807
808         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
809         (grealloc): Size argument is a size_t.
810         (gcalloc): New function.  Use throughout in lieu of
811         gmalloc/memset.
812
813         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
814         xmalloc/memset.
815         * config/ia64/ia64.c (ia64_reorg): Likewise.
816         * conflict.c (conflict_graph_new): Likewise.
817         * fixinc/fixincl.c (run_compiles): Likewise.
818         * genattrtab.c (optimize_attrs): Likewise.
819         * genrecog.c (new_decision): Likewise.
820         * haifa-sched.c (schedule_block): Likewise.
821         * hashtable.c (ht_create): Likewise.
822
823 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
824
825         * config/xtensa/lib2funcs.S: Fix whitespace.
826         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
827         syntax where appropriate.  Remove unnecessary backslash escapes.
828         Reformat comments and fix some code formatting.
829         (extendqisi2): Rearrange conditional.
830         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
831         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
832         of fatal_insn.
833
834 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
835
836         * config/mips/mips.c: Various formatting fixes.
837         (override_options): Resync -mtune handling with gas.
838         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
839         * config/mips/mips.h: More formatting fixes.
840         (mips_abi): Move declaration.
841         * config/mips/mips.md (exception_receiver): Add mode to
842         unspec_volatile.
843
844 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
845
846         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
847         evsplatfi here.
848         (bdesc_1arg): Remove evsplati and evsplatfi.
849
850 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
851
852         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
853         into account.
854
855 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
856
857         * builtins.c (expand_builtin_strcat): Optimize constant strings.
858
859 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
860
861         * pretty-print.c (pp_base_indent): Rename from pp_indent.
862         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
863         (struct c_pretty_print_info): Add more fields.
864         (pp_c_left_paren): Move to c-pretty-print.c.
865         (pp_c_right_paren): Likewise.
866         (pp_c_left_brace): Likewise.
867         (pp_c_right_brace): Likewise.
868         (pp_c_left_bracket): Likewise.
869         (pp_c_right_bracket): Likewise.
870         (pp_c_declarator): Declare.
871         (pp_c_direct_declarator): Likewise.
872         (pp_c_specifier_qualifier_list): Likewise.
873         (pp_c_type_id): Likewise.
874         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
875         (pp_c_type_qualifier_list): New.
876         (pp_c_pointer): Likewise.
877         (pp_c_parameter_type_list): Likewise.
878         (pp_c_function_definition): Likewise.
879         (pp_c_id_expression): Likewise.
880         (pp_c_simple_type_specifier): Tidy.
881         (pp_c_unary_expression): Likewise.
882         (pp_c_expression): Likewise.
883         (pp_c_pretty_printer_init): Likewise.
884         (pp_c_specifier_qualifier_list): Rework..
885         (pp_c_abstract_declarator): Likewise.
886         (pp_c_postfix_expression): Likewise.
887         (pp_c_primary_expression): Likewise.
888         (pp_c_cast_expression): Likewise.
889         (pp_c_direct_abstract_declarator): Likewise.
890         (pp_c_storage_class_specifier): Likewise.
891         (pp_c_function_specifier): Likewise.
892         (pp_c_declaration_specifiers): Likewise.
893         (pp_c_direct_declarator): Likewise.
894         (pp_c_declarator): Likewise.
895         (pp_c_declaration): Likewise.
896         (pp_c_statement): Likewise.
897         (pp_c_integer_constant): Rename from pp_c_integer_literal.
898         (pp_c_character_constant): Rename from pp_c_character_literal.
899         (pp_c_bool_constant): Rename from pp_c_bool_literal.
900         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
901         (pp_c_floating_constant): Rename from pp_c_real_literal.
902         (pp_c_constant): Rename from pp_c_literal.
903         * c-lang.c: Include diagnostic.h and c-pretty-print.h
904         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
905         (c_initialize_diagnostics): New.
906         * Makefile.in (c-lang.o): Update dependency.
907
908 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
909
910         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
911
912 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
913
914         * config/mips/mips.c (mips_no_mips16_string): Remove.
915         (override_options): Don't handle -mips16 as part of -mipsN.
916         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
917         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
918         (TARGET_OPTIONS): Remove -mno-mips16.
919
920 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
921
922         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
923         (coprocessor2_operand): Likewise.
924         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
925         (lookup_name): Remove declaration.
926         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
927         (mips16, mips_abicalls): Remove.
928         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
929         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
930         (coprocessor_operand, coprocessor2_operand): Remove.
931         (override_options): Don't set mips16 or mips_abicalls.
932         (print_operand): Don't expect SIGN_EXTEND operands.
933         (mips_secondary_reload_class): Likewise.
934         (mips_output_conditional_branch): Remove disabled long-branch code.
935         * config/mips/mips.h (call_used_regs): Remove declaration.
936         (may_call_alloca): Likewise.
937         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
938         (mips_abicalls, mips16): Remove declarations.
939         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
940         (CC1_SPEC): Remove outdated comment.
941         (MIPS_VERSION, MACHINE_TYPE): Remove.
942         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
943         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
944         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
945         (PUSH_ROUNDING): Likewise.
946         (ASSEMBLER_SCRATCH_REGNUM): Remove.
947         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
948         and mips16 with TARGET_MIPS16.
949
950 2003-08-09  Per Bothner  <pbothner@apple.com>
951
952         * cppinit.c (cpp_read_main_file):  Split out source-independent
953         initialization to separate function ...
954         (cpp_post_options):  New function.
955         * cppfiles.c (cpp_stack_file):  Rename public name to ...
956         (_cpp_stack_file):  New internal function name.
957         * cpplib.h:  Update accordingly.
958         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
959         (cpp_read_main_file):  Don't initialize line here.
960         * c-opts.c (c_common_post_options):  Call cpp_post_options.
961         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
962         * fix-header.c (read_scan_file):  Call cpp_post_options.
963
964 2003-08-09  Per Bothner  <per@bothner.com>
965
966         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
967
968 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
969
970         * pa.c (pa_asm_output_mi_thunk): Fix typo.
971
972 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
973
974         PR preprocessor/11839
975         * cppfiles.c (open_file): Handle ENOTDIR.
976
977 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
978
979         PR target/11699
980         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
981
982 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
983
984         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
985         source/destination is not a register operand.
986
987 2003-08-08  Richard Henderson  <rth@redhat.com>
988
989         PR target/11535
990         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
991         RETURN_ADDRESS_POINTER_REGNUM.
992         (ia64_expand_prologue): Don't frob it.
993         (ia64_output_function_epilogue): Likewise.
994         (ia64_return_addr_rtx): New.
995         (ia64_split_return_addr_rtx): New.
996         * config/ia64/ia64-protos.h: Update.
997         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
998         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
999         (GENERAL_REGNO_P): Don't check it.
1000         (AR_*_REGNUM): Renumber.
1001         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
1002         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
1003         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
1004         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
1005         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
1006         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
1007         (movdi_ret_addr): New.
1008
1009 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
1010
1011         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
1012
1013 2003-08-08  Roger Sayle  <roger@eyesopen.com>
1014
1015         * tree.h (get_identifier) Define a macro form of get_identifier
1016         that calls get_identifier_with_length when the string is constant.
1017         (get_identifier_with_length): Change type of second argument to
1018         size_t in prototype.
1019         * stringpool.c (get_identifier): Undefine the macro before giving
1020         the function definition.
1021         (get_identifier_with_length): Change  type of second argument to
1022         size_t in function definition.
1023         * hashtable.c (calc_hash): Change type of second argument to size_t.
1024         (ht_lookup): Change type of third argument to size_t.  Reorganize
1025         to speed-up the cases where the hash table slot is empty, or the
1026         first probe matches (i.e. there isn't a collision).
1027         * hashtable.h (ht_lookup): Adjust function prototype.
1028
1029 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
1030
1031         PR target/9697
1032         PR target/11777
1033         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
1034
1035 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
1036
1037         * common.opt: Add debug switches.
1038         * flags.h (use_gnu_debug_info_extensions): Boolify.
1039         * opts.c (write_symbols, debug_info_level,
1040         use_gnu_debug_info_extensions): Move from toplev.c.
1041         (set_debug_level): New.
1042         (common_handle_options): Handle debug switches.
1043         (print_help): Display target options directly.
1044         * toplev.c (debug_hooks): Don't initialize.
1045         (write_symbols, debug_info_level,
1046         use_gnu_debug_info_extensions): Move to opts.c.
1047         (debug_args, display_help, decode_g_option): Remove.
1048         (process_options): Set no debug if level zero here,
1049         and no-debug-hooks.  Error here if impossible debug format selected.
1050         * toplev.h (display_help, decode_g_option): Remove.
1051
1052 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
1053
1054         * tree.c (get_file_function_name_long): Fix size of alloca() area.
1055
1056 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
1057
1058         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
1059         and gcc_cv_prog_cmp_skip.
1060         * configure: Regenerate.
1061
1062 2003-08-08  Stan Cox  <scox@redhat.com>
1063
1064         * config/iq2000: New port.
1065         * config.gcc (iq2000-*-elf): Added.
1066         * doc/install.texi (Specific):  Add iq2000 description.
1067
1068 2003-08-08  Andreas Schwab  <schwab@suse.de>
1069
1070         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
1071         and insert missing empty argument.
1072         * configure: Regenerate.
1073
1074 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1075
1076         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
1077         (attr_length_millicode_call): Likewise.
1078         (attr_length_call): Likewise.  Revise some maximum insn lengths.
1079         (attr_length_indirect_call): Likewise.
1080         (output_call): Fix thinko that added extra nop.
1081         * pa.h (IN_NAMED_SECTION_P): Define.
1082
1083         PR c++/11712
1084         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
1085         __STDC_EXT__ when using C++ dialect.
1086
1087 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
1088
1089         * sh.c (calc_live_regs): If the return address pointer is live,
1090         force pr live.
1091         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
1092         for saves / restores.
1093         (sh_expand_epilogue): If sh_media_register_for_return returns a
1094         register number, flag the instructions that restores PR_MEDIA_REG
1095         as possibly dead.
1096         Remove dead update of offset.
1097         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
1098         we can use the result of get_hard_reg_initial_val.
1099         * sh.md (UNSPEC_RA): New constant.
1100         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
1101         (load_ra).  Handle UNSPEC_RA.
1102         (sibcall_media): Use PR_MEDIA_REG.
1103
1104         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
1105         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
1106         needs saving on SHmedia.
1107
1108 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
1109
1110         * config/s390/s390.md: Replace all occurrences of \\t with \t.
1111
1112 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
1113
1114         * local-alloc.c (combine_regs): Fix comment typo.
1115
1116 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
1117
1118         * c-decl.c (builtin_decls): Replace with first_builtin_decl
1119         and last_builtin_decl.
1120         (c_init_decl_processing): Initialize both.
1121         (c_reset_state): Iterate from first_builtin_decl to
1122         last_builtin_decl inclusive to reintroduce builtins.
1123
1124 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
1125
1126         * doc/extend.texi (Function Attributes): Document the IA-64 version
1127         of the "model" attribute.
1128
1129         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
1130         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
1131         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
1132
1133         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
1134         (ia64_encode_section_info): Likewise.
1135         (ia64_attribute_table): Add "model" attribute.
1136         (TARGET_ENCODE_SECTION_INFO): Define.
1137         (small_addr_symbolic_operand): New function.
1138         (got_symbolic_operand): Return 0 for a symbolref to an object
1139         in the small address area.
1140         (enum ia64_addr_area): New type.
1141         (small_ident1): New variable.
1142         (small_ident2): Likewise.
1143         (init_idents): New function.
1144         (ia64_get_addr_area): Likewise.
1145         (ia64_encode_addr_area): Likewise.
1146         (ia64_encode_section_info): Likewise.
1147         (ia64_expand_load_address): For symbolic references to objects in
1148         the small-address-area, load the address via gen_rtx_SET() (which,
1149         eventually, will expand into "addl").
1150
1151 2003-08-06  Per Bothner  <pbothner@apple.com>
1152
1153         * line-map.h (fileline):  New typedef.
1154         (struct line_map, linemap_add, linemap_lookup):  Use it.
1155         * input.h (struct location_s):  Comment notes that long-term we want
1156         to replace it by fileline.
1157
1158 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
1159
1160         Fix SHcompact exception handling:
1161         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
1162         by the prologue, return a MEM with return_address_pointer_rtx
1163         as address.
1164         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
1165         (RETURN_ADDR_OFFSET): Don't define.
1166         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
1167         registers that are visible in compact mode.  Show that SHmedia
1168         registers still exist in compact mode, even if there are not
1169         readily accessible.
1170         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
1171         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
1172         and DW_EH_PE_pcrel for pic data.
1173         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
1174         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
1175         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
1176         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
1177         * sh.md (movsi_media-1): New splitter.
1178
1179 2003-08-06  Graeme Peterson <gp@qnx.com>
1180
1181         * config/i386/nto.h: New.
1182         * config/i386/t-nto: New.
1183         * config.gcc (i[34567]86-*-nto-qnx*): New.
1184
1185 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
1186
1187         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
1188
1189 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1190
1191         * calls.c (load_register_parameters): Arrange for call_fusage to
1192         report the whole register as used when shifting to the msb.
1193
1194 2003-08-05  Roger Sayle  <roger@eyesopen.com>
1195
1196         * builtins.c (expand_builtin): When not optimizing, call the library
1197         function for all builtins that have library functions (except alloca).
1198
1199 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
1200
1201         * c.opt: Introduce -fworking-directory.
1202         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
1203         * c-common.h (flag_working_directory): Declare.
1204         * c-common.c (flag_working_directory): Define.
1205         * c-opts.c (c_common_handle_options): Set it.
1206         (sanitize_cpp_opts): Set...
1207         * cpplib.h (struct cpp_options): ... working_directory option.
1208         (struct cpp_callbacks): Add dir_change.
1209         * cppinit.c (read_original_filename): Call...
1210         (read_original_directory): New.  Look for # 1 "directory//"
1211         and process it.
1212         (cpp_read_main_file): Call dir_change callback if working_directory
1213         option is set.
1214         * gcc.c (cpp_unique_options): Pass -g*.
1215         * c-lex.c (cb_dir_change): New.
1216         (init_c_lex): Set dir_change callback.
1217         * toplev.c (src_pwd): New static variable.
1218         (set_src_pwd, get_src_pwd): New functions.
1219         * toplev.h (get_src_pwd, set_src_pwd): Declare.
1220         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
1221         * dwarf2out.c (gen_compile_unit_die): Likewise.
1222         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
1223
1224 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1225
1226         * pretty-print.h (pp_set_line_maximum_length): Make macro.
1227         (pp_set_prefix): Likewise.
1228         (pp_destroy_prefix): Likewise.
1229         (pp_remaining_character_count_for_line): Likewise.
1230         (pp_clear_output_area): Likewise.
1231         (pp_formatted_text): Likewise.
1232         (pp_last_position_in_text): Likewise.
1233         (pp_emit_prefix): Likewise.
1234         (pp_append_text): Likewise.
1235         (pp_flush): Likewise.
1236         (pp_format_text): Likewise.
1237         (pp_format_verbatim): Likewise.
1238         (pp_tree_identifier): Tidy.
1239         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
1240         (pp_base_format_verbatim): Rename from pp_format_verbatim.
1241         (pp_base_flush): Rename from pp_flush.
1242         (pp_base_set_line_maximum_length): Rename from
1243         pp_set_line_maximum_length.
1244         (pp_base_clear_output_area): Rename from pp_clear_output_area.
1245         (pp_base_set_prefix): Rename from pp_set_prefix.
1246         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
1247         (pp_base_emit_prefix): Rename from pp_emit_prefix.
1248         (pp_base_append_text): Rename from pp_append_text.
1249         (pp_base_formatted_text): Rename from pp_formatted_text.
1250         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
1251         (pp_base_remaining_character_count_for_line): Rename from
1252         pp_remaining_character_count_for_line.
1253         * diagnostic.h (diagnostic_format_decoder): Tidy.
1254         (diagnostic_flush_buffer): Likewise.
1255         * c-pretty-print.h: (pp_c_string_literal): Declare.
1256         (pp_c_real_literal): Likewise.
1257         (pp_c_integer_literal): Likewise.
1258         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
1259         pp_identifier.
1260         (pp_c_character_literal): Tidy.
1261         (pp_c_string_literal): Make public.
1262         (pp_c_bool_literal): Likewise.
1263         (pp_c_integer_literal): Likewise.
1264         (pp_c_real_literal): Likewise.
1265
1266         * Makefile.in (C_PRETTY_PRINT_H): New variable.
1267         (c-pretty-print.o): Update dependence.
1268
1269 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
1270
1271         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
1272         ".set nomacro" state.
1273         (fix_truncsfsi2_macro): Likewise.
1274
1275 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
1276
1277         * tree.h (DID_INLINE_FUNC): Remove macro.
1278         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
1279         add tree check for FUNCTION_DECL.
1280         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
1281         (struct tree_decl): Rename inlined_function_flag to
1282         declared_inline_flag.
1283         * c-common.h (c_lang_decl): Remove.
1284         (DECL_ESTIMATED_INSNS): Remove.
1285         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
1286         (DECL_DECLARED_INLINE_P): Remove.
1287         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
1288         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
1289         (finish_function): Make uninlinable a bool.  Fixup call to
1290         tree_inlinable_function_p() and fix some code style issues.
1291         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
1292         * cgraph.c (dump_cgraph): Likewise.
1293         * cgraphunit.c (cgraph_decide_inlining): Likewise
1294         (cgraph_finalize_compilation_unit): Likewise.
1295         Also update call to tree_inlinable_function_p().
1296         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
1297         look at DECL_DECLARED_INLINE and reverse logic.
1298         * print-tree.c (print_node): Likewise.
1299         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
1300         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
1301         prototype.
1302         * tree-inline.c (inlinable_function_p): Split up in this function to
1303         check for basic inlining inhibiting conditions, and new
1304         limits_allow_inlining() function.  Warn if inlining is impossible
1305         because the inline candidate calls alloca or uses sjlj exceptions.
1306         (limits_allow_inlining): this new function to check if the inlining
1307         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
1308         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
1309         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
1310         Update prototypes.
1311         (tree_inlinable_function_p): Make a bool.  Update call to
1312         inlinable_function_p
1313         (expand_call_inline): Use limits_allow_inlining() when not in
1314         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
1315         instead see if the function was declared `inline'.
1316
1317 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
1318
1319         * gcse.c (try_replace_reg): Fix updating of note.
1320
1321 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1322
1323         PR middle-end/11771
1324         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
1325         logic in negate_expr, i.e. we don't invert (A-B) for floating
1326         point types unless flag_unsafe_math_optimizations.
1327
1328 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1329
1330         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
1331         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
1332         for floating point expressions with -ffast-math.
1333         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
1334         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
1335
1336 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1337
1338         * c-common.c (flag_noniso_default_format_attributes): Delete.
1339         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
1340         (c_attrs_initialized): Delete.
1341         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
1342         always call c_init_attributes.
1343         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
1344         set c_attrs_initialized when done.
1345         (c_common_insert_default_attributes): Delete.
1346         * c-common.h (flag_noniso_default_format_attributes): Delete.
1347         (c_coomon_insert_default_attributes): Delete prototype.
1348         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
1349         flag_noniso_default_format_attributes.
1350
1351         * c-decl.c (c_insert_default_attributes): Delete.
1352         * c-tree.h (c_insert_default_attributes): Delete prototype.
1353
1354         * attribs.c (decl_attributes): Don't call insert_default_attributes
1355         langhook.  Update function description comment.
1356         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
1357         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
1358         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
1359         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
1360
1361         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
1362         define.
1363
1364 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
1365
1366         * config/mips/mips.c (override_options): Disable -G on targets that
1367         have no .section support.
1368         (mips_select_section): Use default_select_section for such targets.
1369
1370 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1371
1372         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
1373         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
1374         * fixinc/fixincl.x: Rebuild.
1375         * fixinc/tests/base/regexp.h: New test.
1376
1377 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
1378
1379         * c-ppoutput.c (cb_line_change): Don't skip line changing while
1380         parsing macro arguments in the top-level context.
1381
1382 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
1383
1384         * config.in: Remove HAVE_LSTAT.
1385         * configure, configure.in: Don't test for lstat.
1386
1387 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1388
1389         * opts.c (decode_options): Do language-specific initialization for
1390         the global diagnostic context.
1391         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
1392         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
1393         (LANG_HOOKS_INITIALIZER): Adjust.
1394         * langhooks.h (struct lang_hooks): Add new field
1395         initialize_diagnostics.
1396         * langhooks.c (lhd_initialize_diagnostics): Define.
1397
1398 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1399
1400         * pretty-print.h:   Adjust macro definitions.
1401         * pretty-print.c (pp_newline): Rename to pp_base_newline.
1402         (pp_character): Rename to pp_base_character.
1403         (pp_string): Rename to pp_base_string.
1404         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
1405         (pp_newline):  Likewise.  Adjust.
1406         (pp_c_char): Adjust.
1407
1408 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1409
1410         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
1411         BUILT_IN_LLABS): Move to miscellaneous section.
1412
1413 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1414
1415         PR preprocessor/11534
1416         * cppexp.c (parse_defined): Warn only if -pedantic.
1417
1418 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1419
1420         * cppfiles.c (stack_file): Use file path.
1421
1422 2003-08-02  Roger Sayle  <roger@eyesopen.com>
1423
1424         * builtin-types.def (BT_SSIZE): New primitive type.
1425         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
1426         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
1427         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
1428         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
1429         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
1430         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
1431         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
1432         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
1433         few functions that define default attributes using it.
1434         * c-common.c (c_common_insert_default_attributes): Do nothing.
1435
1436         * doc/extend.texi: Document these "new" builtins.
1437
1438 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1439
1440         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
1441         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
1442         when -mieee-fp set and -shared not set.
1443         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
1444
1445 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1446
1447         * cppfiles.c (struct _cpp_file): Rename once_only_next to
1448         next_file.  Remove import and pragma_once, add once_only.
1449         (find_file): Add new file structures to the all_files list.
1450         (should_stack_file): Mark #import-ed files once-only, and
1451         don't stack them if the file has already been stacked.
1452         (_cp_mark_file_once_only): Simplify.
1453         * cpphash.h (struct cpp_reader): Rename once_only_files
1454         to all_files.  Rename saw_pragma_once to seen_once_only.
1455         (_cpp_mark_file_once_only): Update prototype.
1456         * cpplib.c (do_pragma_once): Update.
1457
1458 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1459
1460         * cppfiles.c (ENOTDIR): Remove.
1461         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
1462         other than ENOENT here.
1463         (once_only_file_p): Rename should_stack_file.
1464         (find_file, open_file_failed, read_file_guts): Report errors
1465         with full path name.
1466         (read_file): Move pch handling to should_stack_file.
1467         (should_stack_file): Handle PCH and once-only issues, and
1468         reading the file.
1469         (stack_file): Don't do file reads.
1470
1471 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1472
1473         * libgcov.c (gcov_exit): Cleanup and fix.
1474         * profile.c (compute_value_histograms): Don't try to read profiles
1475         that are not present.
1476
1477 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1478
1479         * builtins.def: Categorize.
1480
1481         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1482         Mind fp rounding.
1483         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
1484
1485 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
1486
1487         * config.gcc: Enable posix threads by default on darwin.
1488
1489 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
1490
1491         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
1492         even if nehedges1 is 0.
1493
1494 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1495
1496         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
1497         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
1498         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
1499         and defintions.
1500
1501         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
1502         * fixinc/fixincl.x: Regenerate.
1503         * fixinc/tests/base/math.h: Regenerate to match test_text change.
1504
1505 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1506
1507         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
1508
1509 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1510
1511         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
1512         for accesses to exc_ptr.
1513
1514 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
1515
1516         * doc/sourcebuild.texi (Front End Directory): Don't make references
1517         to libsubdir, it's not part of the interface to frontends.
1518         * doc/install.texi (Configuration): Help users read faster by saying
1519         that GCC's configure options are the standard autoconf ones.
1520         Mention --libdir.  Update the default rules for finding the
1521         assembler.  Don't use libsubdir since we haven't said what it means.
1522         (Specific): In the Solaris 7 notes, update the place to put the
1523         assembler.
1524         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
1525         * doc/cpp.texi (Search Path): Actually, the search path
1526         depends on libdir, which can relocate with cpp.
1527         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
1528         now a private interface between the Makefile and the driver.
1529
1530 2003-08-01  Richard Henderson  <rth@redhat.com>
1531
1532         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
1533
1534         * varasm.c (lookup_constant_def): New function.
1535         * rtl.h (lookup_constant_def): Declare it.
1536         * dwarf2out.c (loc_descriptor_from_tree): Use it.
1537         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
1538
1539 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
1540
1541         * c-decl.c (gettags, pushdecl_function_level): Delete.
1542         (last_function_parm_vars): Rename last_function_parm_others.
1543         (current_function_parm_vars): Rename current_function_parm_others.
1544         (struct c_scope): Rewrite comment explaining this data structure.
1545         Add names_last, blocks_last, parms_last fields.  Rename
1546         incomplete_list to incomplete.
1547         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
1548         (poplevel): Ignore second argument.  No need to nreverse
1549         anything.  Restructure such that each list is processed
1550         exactly once.  Use 'const location_t *locus' syntactic sugar
1551         variable where useful.  Issue unused variable warnings
1552         ourselves, do not rely on function.c.
1553         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
1554         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
1555         (implicitly_declare): decl cannot be error_mark_node.
1556         (undeclared_variable): Manipulate scope structure directly.
1557         (c_make_fname_decl): Likewise.
1558         (getdecls, c_init_decl_processing): Fix comment.
1559         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
1560         for 'last' variable.
1561         (grokparms): No need to nreverse parms list.
1562         (store_parm_decls_newstyle): Set up the parms_last and
1563         names_last fields of the new scope too.
1564         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
1565         on parms to begin with; check this under ENABLE_CHECKING.  Set
1566         up parms_last.
1567         (check_for_loop_decls): Refer directly to current_scope->tags.
1568         Use consistent quote style in diagnostics.
1569         (c_write_global_declarations): The names list is not backward.
1570
1571         * c-common.h: Don't prototype gettags.
1572         * c-parse.in: Call poplevel with second argument 0 always.
1573
1574 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1575
1576         * builtins.def: Resort builtins.
1577
1578 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1579
1580         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
1581         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
1582         Prepend "__builtin_" onto NAME with string concatenation.  Remove
1583         explicit "__builtin_" from each macro call.
1584
1585         Reformat entire file.
1586
1587 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1588
1589         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
1590         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
1591
1592 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1593
1594         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
1595         CCL1, or CCL2 modes with floating point operations.
1596
1597         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
1598         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
1599         "*subdf3_cconly"): New insns.
1600         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
1601
1602 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
1603
1604         * Makefile.in: Refine dependencies.
1605         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
1606         * c.opt: Update help for -Wimport.
1607         * cppfiles.c: Include hashtab.h.  Update comments.
1608         (stack_file): Read the file before updating dependencies.
1609         (once_only_file_p): Be smarter about marking once-only files.
1610         (_cpp_mark_file_once_only): Correct the check for existence on
1611         the list.
1612         (open_file_failed): Use name not path, which is NULL.
1613         * cpphash.h: Don't include hashtab.h.
1614         (struct _cpp_file): Remove.
1615         (struct cpp_reader): Update.
1616         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
1617         * cpplib.h (struct cpp_options): Remove warn_import.
1618         (cpp_simplify_path): Remove.
1619
1620 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
1621
1622         PR c++/11295
1623         * doc/extend.texi (Statement Expressions): Document C++ semantics.
1624
1625 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
1626
1627         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
1628
1629 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1630
1631         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
1632         throughout.
1633         * builtins.def: Likewise.
1634
1635 2003-07-31  Jason Merrill  <jason@redhat.com>
1636
1637         * Makefile.in (bubblestrap): Don't require a previous full
1638         bootstrap.
1639
1640         * expr.c (mostly_zeros_p): No longer static.
1641         * tree.h: Declare it.
1642         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
1643         unless we need to do substitutions.
1644
1645 2003-07-31  Roger Sayle  <roger@eyesopen.com>
1646
1647         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
1648         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
1649         as pow(x,2.0) when the latter will be expanded back into x*x.
1650         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
1651         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
1652         pow can never set errno when used with an integer exponent.
1653         Always use expand_powi when exponent is -1, 0, 1 or 2.
1654         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
1655         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
1656         the pow forms of these expressions.
1657
1658 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
1659
1660         * Makefile.in (libexecdir): New.
1661         (libsubdir): Use gcc instead of gcc-lib.
1662         (libexecsubdir): New.
1663         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
1664         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
1665         gcc-lib.
1666         (installdirs): Make libexecsubdir.
1667         (install-common): Put executables in libexecsubdir.
1668         (itoolsdir): Use libexecsubdir.
1669         (itoolsdatadir): New.
1670         (install-mkheaders): Separate data files and executables.
1671         (install-collect2): Put executables in libexecsubdir.
1672         (uninstall): Remove libexecsubdir.
1673         * mkheaders.in: Update for new arrangement of files.
1674         (libexecdir): New.
1675         (libexecsubdir): New.
1676         (itoolsdir): Use libexecsubdir.
1677         (itoolsdatadir): New.
1678         * gcc.c (gcc_libexec_prefix): New.
1679         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
1680         (standard_exec_prefix_1): Use libexec.
1681         (standard_exec_prefix_2): New.
1682         (standard_libexec_prefix): New.
1683         (process_command): Update for new arrangement of files.  Compute
1684         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
1685
1686 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1687
1688         * inclhack.def (stdio_va_list): Avoid bogus replacement which
1689         triggers on Interix.
1690         * fixincl.x: Regenerate.
1691
1692 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
1693
1694         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
1695         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
1696
1697 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1698
1699         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
1700
1701 2003-07-31  Per Bothner  <pbothner@apple.com>
1702
1703         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
1704         (add_input_filename):  New function.
1705         (handle_options):  Call add_input_filename directly instead of
1706         with a lang hook.
1707         * opts.h (in_fnames, num_in_fnames):  Moved here.
1708         (add_input_filename):  Declare.
1709         * c-decl.c:  Need to #include opts.h.
1710         * Makefile.in (c-decl.o):  Also depends on opts.h.
1711         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
1712         (c_common_handle_filename):  Replaced by add_input_filename.
1713         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
1714         Remove.
1715         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
1716         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1717         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
1718         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1719
1720 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1721
1722         * combine.c (try_combine): Set JUMP_LABEL for newly created
1723         unconditional jump.
1724
1725 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1726
1727         * fold-const.c (fold): Fold some comparisons of bit operations.
1728
1729 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
1730
1731         * cgraph.c (create_edge): Fix typo.
1732         * i386.c (pic_symbolic_operand): Reorder tests.
1733
1734 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
1735
1736         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
1737         more fully.
1738         (Gcov Data Files): Update.
1739
1740 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1741
1742         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
1743         default.
1744
1745         * gthr-posix.c: New file.
1746         * gthr-posix.h: Define _REENTRANT if missing.
1747         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
1748
1749         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
1750         by gthr-posix.o.
1751         * config/alpha/t-osf-pthread: New file.
1752
1753         * fixinc/inclhack.def (alpha_pthread): New fix.
1754         * fixinc/fixincl.x: Regenerate.
1755         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
1756
1757         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
1758         warning.
1759         Fixes PR bootstrap/9330.
1760
1761 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1762
1763         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
1764         without GNU ld.
1765         Update comment.
1766         * configure: Regenerate.
1767
1768 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
1769
1770         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
1771         setter.
1772
1773 2003-07-30  Roger Sayle  <roger@eyesopen.com>
1774
1775         * builtins.def: Alphabetize.
1776
1777 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1778
1779         * doc/c-tree.texi: Normalize spellings of "lowercase" and
1780         "uppercase".
1781         * doc/cpp.texi: Likewise.
1782         * doc/md.texi: Likewise.
1783         * doc/rtl.texi: Likewise.
1784         * doc/tm.texi: Likewise.
1785
1786 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1787
1788         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
1789         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
1790         of cc1obj.
1791
1792 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
1793
1794         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
1795         macros before defining them.
1796
1797 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1798
1799         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
1800         UNSPECV_BLOCKAGE): New constants.
1801         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
1802         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
1803         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
1804         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
1805
1806         (all insns and expanders): Write output control string as brace block
1807         where appropriate.  Remove \-escapes for doublequote characters.
1808
1809 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
1810
1811         * gcse.c (insert_store): Fix typo in previous patch.
1812
1813 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
1814
1815         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
1816
1817 2003-07-30  Andi Kleen  <ak@muc.de>
1818
1819         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
1820
1821 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1822
1823         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
1824         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
1825         GCOV_N_VALUE_COUNTERS): New.
1826         * profile.c (compute_value_histograms): New static function.
1827         (branch_prob): Read back the value histograms.
1828         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
1829         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
1830         * value-prof.c: Add comment on reading the profile.
1831         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
1832         * doc/invoke.texi (-fprofile-values): Document behavior with
1833         -fbranch-probabilities.
1834
1835 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
1836
1837         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
1838
1839 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
1840
1841         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
1842         symbolically.
1843
1844 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
1845
1846         * gcse.c (insert_store): Ignore fake edges.
1847
1848         * c-common.c (flag_vtable_gc): Kill.
1849         * c-common.g (flag_vtable_gc): Kill.
1850         * c-opts (c_common_handle_option): Kill.
1851         * c.opt (fvtable-gc): Kill.
1852         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
1853         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1854         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1855
1856         * invoke.texi (-ftable-gc): Kill documentation.
1857
1858         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
1859         just because function body is missing.
1860
1861         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
1862
1863 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
1864
1865         * unwind-sjlj.c: Fix typo in file description.
1866
1867 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1868
1869         * calls.c (load_register_parameters): When shifting reg sized values
1870         to the msb, move the value to a reg first.
1871
1872 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1873
1874         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
1875         * line-map.h (linemap_add): Update comments.
1876         * line-map.c (linemap_add): Update comments, interpret zero-length
1877         filename as "<stdin>".
1878
1879 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1880
1881         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
1882
1883 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
1884
1885         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
1886         New static variables.
1887         (struct c_scope): Add parms and warned_forward_parm_decls
1888         fields; remove parm_order.
1889         (storedecls, storetags): Delete.
1890         (poplevel): Also clear bindings on the parms chain.
1891         (pushdecl): Handle forward declarations of parameters, and
1892         chain PARM_DECLs on the parms list, not the names list.
1893         (lookup_name_current_level): Check for PARM_DECLs on the parms
1894         list too.
1895         (push_parm_decl): Don't update parm_order.
1896         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
1897         warning, only once per parameter list, and set TREE_ASM_WRITTEN
1898         on the decls here.  Then move the forward decls to the names list.
1899         (grokparms): Set last_function_parm_vars.
1900         (get_parm_info): Don't use gettags or getdecls.  No need to
1901         extract non-parms from the parms list, or reorganize the parms
1902         list.  Feed nonparms back in the TREE_TYPE of the list node
1903         returned.  Issue only one error per parameter list for "void"
1904         appearing more than once in said parameter list.  Collapse
1905         parmlist_tags_warning into this function to avoid double scan
1906         of tags list.
1907         (start_function): Set current_function_parm_vars.
1908         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
1909         directly.  Get non-parms from current_function_parm_vars; no
1910         need to extract them from the parms chain.  Properly bind tags
1911         in the new scope.
1912         (store_parm_decls_oldstyle): No need to extract non-parameters
1913         from the parms chain, nor to store them back afterward.  Move
1914         declaration to top of function, restructure code reordering
1915         DECL_ARGUMENTS.
1916         (store_parm_decls): No need to save and restore warn_shadow.
1917         * c-parse.in: Don't call parmlist_tags_warning nor
1918         clear_parm_order.  Call mark_forward_parm_decls when forward
1919         parm decls are encountered.
1920         * c-tree.h: Prototype mark_forward_parm_decls; not
1921         clear_parm_order or parmlist_tags_warning.
1922
1923 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1924
1925         * c-common.c (allow_pch): Remove.
1926         * c-common.h (allow_pch): Remove.
1927         (c_common_no_more_pch): Declare.
1928         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
1929         * c-pch.c: Include hosthooks.h.
1930         (c_common_valid_pch): Don't check allow_pch.
1931         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
1932         (c_common_no_more_pch): New.
1933         * ggc-common.c: Include hosthooks.h.
1934         (gt_pch_save): Call gt_pch_get_address.
1935         (gt_pch_restore): Call gt_pch_use_address.
1936         * hooks.c (hook_voidp_size_t_null): New.
1937         (hook_bool_voidp_size_t_false): New.
1938         * hooks.h (hook_voidp_size_t_null): New.
1939         (hook_bool_voidp_size_t_false): New.
1940         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
1941         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
1942         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
1943         HOST_HOOKS_GT_PCH_USE_ADDRESS.
1944         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
1945         gt_pch_use_address.
1946         * doc/hostconfig.texi (Host Common): Document
1947         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
1948         * Makefile.in (c-pch.o): Depend on hosthooks.h.
1949         (ggc-common.o): Likewise.
1950
1951         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
1952         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
1953         (pch_address_space): New.
1954         (darwin_rs6000_gt_pch_get_address): New.
1955         (darwin_rs6000_gt_pch_use_address): New.
1956
1957 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
1958
1959         PR preprocessor/11569
1960         PR preprocessor/11649
1961         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
1962         * cppfiles.c: Completely rewritten.
1963         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
1964         struct cpp_path is now struct cpp_dir.
1965         (remove_duplicates): Don't simplify path names.
1966         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
1967         cpp_stack_file.
1968         * cpphash.h: Include hashtab.h.
1969         (_cpp_file): Declare.
1970         (struct cpp_buffer): struct include_file is now struct _cpp_file,
1971         and struct cpp_path is now struct cpp_dir.  Rename members.
1972         (struct cpp_reader): Similarly.  New members once_only_files,
1973         file_hash, file_hash_entries, quote_ignores_source_dir,
1974         no_search_path, saw_pragma_once.  Remove all_include_files and
1975         max_include_len.  Make some members bool.
1976         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
1977         (_cpp_stack_file): Renamed from _cpp_read_file.
1978         (_cpp_stack_include): Renamed from _cpp_execute_include.
1979         (_cpp_init_files): Renamed from _cpp_init_includes.
1980         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
1981         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
1982         (cpp_read_next_file): Rename and move to cppfiles.c.
1983         (cpp_read_main_file): Update.
1984         * cpplib.c (run_directive): Update for renamed members.
1985         (do_include_common, _cpp_pop_buffer): Update.
1986         (do_import): Undeprecate #import.
1987         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
1988         * cpplib.h: Remove file_name_map_list.
1989         (cpp_options): Remove map_list.
1990         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
1991         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
1992
1993 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1994
1995         * Makefile.in:  Make stamp-objdir safe for parallel builds.
1996
1997 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1998
1999         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
2000         (info):  Depend on stmp-docobjdir.
2001
2002 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2003
2004         * configure: Regenerate.
2005
2006 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
2007
2008         PR C++/11131
2009         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
2010         in !unit-at-a-time mode.
2011
2012 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
2013
2014         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
2015         main function.
2016
2017 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
2018
2019         PR c++/11667
2020         * c-common.c (shorten_compare): Take into account differences
2021         between C and C++ representation for enumeration types.
2022         * tree.h (set_min_and_max_values_for_integral_type): Declare.
2023         * stor-layout.c (set_min_and_max_values_for_integral_type): New
2024         function, broken out from ...
2025         (fixup_signed_type): ... here and ...
2026         (fixup_unsigned_type): ... here.
2027
2028 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
2029
2030         * c-decl.c: Update commentary, adjust blank lines throughout.
2031         (struct c_scope): Fix indentation.  Reorder members so
2032         outer-context pointers come first, booleans last.
2033         (duplicate_decls, define_label): Use a 'locus' variable for
2034         diagnostic locations in a few more places.
2035         (warn_if_shadowing): Un-split a conditional that fits on one line.
2036         (c_init_decl_processing): No need to clear current_scope and
2037         current_function_scope.
2038         (start_decl): Merge if/else if statements with same action.
2039         (push_parm_decl): Rename old_immediate_size_expand to use
2040         save_foo convention; save/restore around entire function.
2041         (grokdeclarator): Remove unnecessary braces.
2042
2043 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
2044             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
2045
2046         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
2047         when warn_declaration_after_statement.  Call pedwarn_c90, not
2048         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
2049         * c-common.c (warn_declaration_after_statement): Define.
2050         * c-common.h (warn_declaration_after_statement): Declare.
2051         * c.opt (Wdeclaration-after-statement): New.
2052         * c-errors.c (pedwarn_c90): New function.
2053         * c-opts.c (c_common_handle_option) <case
2054         OPT_Wdeclaration_after_statement>: New.
2055         * c-tree.h (pedwarn_c90): Declare.
2056         * doc/invoke.texi (Option Summary): Document
2057         -Wdeclaration-after-statement.
2058         (Warning Options): Ditto.
2059
2060 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
2061
2062         * i386.md (memory attribute) Avoid accessing uninitialized memory
2063         for ishift1 type instructions.
2064
2065 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
2066
2067         * configure.in (--enable-checking): Add fold category.
2068         (ENABLE_FOLD_CHECKING): Define if requested.
2069         * configure: Rebuilt.
2070         * config.in: Rebuilt.
2071         * doc/install.texi: Document it.
2072         * fold-const.c: Include md5.h.
2073         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
2074         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
2075         print_fold_checksum): New functions.
2076
2077         * fold-const.c (fold): Never modify argument passed to fold, instead
2078         change a copy and return it.
2079         * convert.c (convert_to_integer): Likewise.
2080
2081 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
2082
2083         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
2084         cleanup of junk after #else and #endif directives.  Collapse repeated
2085         clauses into for statment.
2086
2087         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
2088
2089 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
2090
2091         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
2092         (keep_next_if_subblocks): Rename next_is_function_body.
2093         (pushlevel): Adjust commentary.  Always set ->keep on the
2094         outermost level of a function.  Don't set ->keep_if_subblocks.
2095         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
2096         (store_parm_decls): Adjust to match.
2097         (finish_function): Adjust to match.
2098         Call poplevel with all three arguments zero.
2099
2100         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
2101         New functions split out of store_parm_decls.
2102         Avoid unnecessary work. Use local variables consistently.
2103         (store_parm_decls): Likewise.
2104
2105         (finish_function): No need to set functionbody flag on call to
2106         poplevel.
2107         (struct language_function): Remove scope field.
2108         (c_push_function_context, c_pop_function_context): No need to
2109         save and restore current_scope.
2110
2111 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
2112
2113         * doc/extend.texi (Deprecated Features): Implicit typename is
2114         gone. Default args on types is going.
2115
2116 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
2117
2118         * Makefile.in (ifcvt.o): Depend on target.h
2119         * ifcvt.c (target.h): Include.
2120         (if_convert): Don't call mark_loop_exit_edges if we can't
2121         modify jumps.
2122
2123 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2124
2125         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
2126
2127 2003-07-26  Richard Henderson  <rth@redhat.com>
2128
2129         PR inline-asm/11676
2130         * cse.c (count_reg_usage): Handle asm_operands properly.
2131
2132 2003-07-26  Roger Sayle  <roger@eyesopen.com>
2133
2134         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
2135         (DEF_EXT_FALLBACK_BUILTIN): Delete.
2136         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
2137         the regular DEF_EXT_LIB_BUILTIN macro.
2138         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
2139         the regular DEF_LIB_BUILTIN macro.
2140         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
2141         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
2142         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
2143         DEF_EXT_LIB_BUILTIN macro.
2144
2145         * c-decl.c (duplicate_decls): Remove code to handle builtin
2146         functions prototyped without an argument list.
2147
2148 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
2149
2150         * config/i386/winnt.c: Revert 2003-07-08 change.
2151         (i386_pe_section_type_flags): Remove error_with_decl here too.
2152
2153 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2154
2155         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
2156         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
2157         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
2158         (v850_handle_data_area_attribute): Likewise.
2159
2160 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
2161
2162         * varasm.c (output_constant_def_contents): Use
2163         ASM_DECLARE_CONSTANT_NAME if defined.
2164         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
2165         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
2166         objects get at least one byte to prevent assembler problems.
2167         (ASM_DECLARE_CONSTANT_NAME): New.
2168
2169         * Makefile.in (libbackend.o): Remove options_.h.
2170         (mostlyclean): Likewise.
2171
2172         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
2173         insert a label at the end of an function under Mach-O.
2174
2175         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
2176
2177 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
2178
2179         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
2180         equality.
2181         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
2182
2183         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
2184
2185 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2186
2187         * doc/passes.texi (Passes): Mention pretty-printing and
2188         diagnostic files.
2189
2190 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
2191
2192         * doc/extend.texi (Function Attributes): GNU C++ does now allow
2193         unused parameter decls.
2194         (Attribute Syntax): GNU C++ does not allow label attributes to be
2195         after the ':'.
2196
2197 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2198
2199         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
2200         (objc_declare_class): Likewise.
2201         (error_with_ivar): Likewise.
2202         (start_class): Likewise.
2203         (warn_with_method): Likewise.
2204
2205 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2206
2207         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
2208         from GCC.
2209         * calls.c (try_to_integrate): Don't use xxx_with_decl.
2210         (expand_call): Likewise.
2211         * dwarfout.c (output_reg_number): Likewise.
2212         * expr.c (expand_expr): Likewise.
2213         * function.c (assign_temp): Likewise.
2214         (uninitialized_vars_warning): Likewise.
2215         (setjmp_args_warning): Likewise.
2216         (expand_function_end): Likewise.
2217         * stmt.c (fixup_gotos): Likewise.
2218         (warn_about_unused_variables): Likewise.
2219         (expand_end_bindings): Likewise.
2220         * stor-layout.c (layout_decl): Likewise.
2221         (place_field): Likewise.
2222         * toplev.c (check_global_declarations): Likewise.
2223         (rest_of_handle_inlining): Likewise.
2224         (default_tree_printer): New function.
2225         (general_init): Initialize diagnostic machinery before routing
2226         signals to the ICE machinery.  Set default tree printer.
2227         * toplev.h (pedwarn_with_decl): Remove declaration.
2228         (warning_with_decl): Likewise.
2229         (error_with_decl): Likewise.
2230         (pedwarn): Remove attribute for the time being.
2231         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
2232         * varasm.c (named_section): Likewise.
2233         (make_decl_rtl): Likewise.
2234         (assemble_variable): Likewise.
2235         (merge_weak): Likewise.
2236         (declare_weak): Likewise.
2237
2238         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
2239         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
2240         (format_with_decl): Remove.
2241         (diagnostic_for_decl): Likewise.
2242         (pedwarn_with_decl): Likewise.
2243         (warning_with_decl): Likewise.
2244         (error_with_decl): Likewise.
2245         (diagnostic_initialize): Adjust.
2246         (diagnostic_count_diagnostic): Likewise.
2247         (announce_function): Likewise.
2248         (lhd_print_error_function): Likewise.
2249         (diagnostic_report_current_module): Likewise.
2250         (default_diagnostic_starter): Likewise.
2251         (diagnostic_report_diagnostic): Likewise.
2252         (default_diagnostic_finalizer): Likewise.
2253         (verbatim): Likewise.
2254         (error): Likewise.
2255         (warning): Likewise.
2256         * opts.c (common_handle_option): Likewise.
2257         * pretty-print.c: New file.
2258         * c-pretty-print.h (pp_base): Override.
2259         * c-pretty-print.c: Adjust use of macros throughout.
2260         (pp_buffer): New macro.
2261         (pp_newline): Likewise.
2262         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
2263         * Makefile.in (DIAGNOSTIC_H): New variable.
2264         (c-errors.o): Use it.
2265         (c-objc-common.o): Likewise.
2266         (c-common.o): Likewise.
2267         (c-opts.o): Likewise.
2268         (c-format.o): Likewise.
2269         (diagnostic.o): Likewise.
2270         (opts.o): Likewise.
2271         (toplev.o): Likewise.
2272         (rtl-error.o): Likewise.
2273         (dwarf2out.o): Likewise.
2274         (jump.o): Likewise.
2275         (pretty-print.o): New rule.
2276
2277 2003-07-24  Roger Sayle  <roger@eyesopen.com>
2278
2279         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
2280         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
2281         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
2282         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
2283         (DEF_FRONT_END_LIB_BUILTIN): Delete.
2284         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
2285         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
2286
2287         * builtins.c (build_string_literal): New function to construct
2288         a char* pointer to a string literal.
2289         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
2290         "rtx target" to be consistent with other expand_builtin_* functions.
2291         Change 3rd argument from "int unlocked" to "bool unlocked".
2292         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
2293         c-common.c to avoid front-end dependencies.  Optimize printf("")
2294         as a no-op when the result isn't required.  Handle embedded NULs
2295         in format string.
2296         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
2297         from c-common.c to avoid front-end dependencies.  Likewise, optimize
2298         fprintf(fp,"") as a no-op when the result isn't required, evaluating
2299         fp for side-effects.  Handle embedded NULs in format string.
2300         (expand_builtin_sprintf): Fix typo.
2301         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
2302         optimizing.  Adjust calls of expand_builtin_fputs to match the API
2303         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
2304         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
2305         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
2306
2307         * c-common.c (is_valid_printf_arglist): Delete.
2308         (c_expand_builtin): Delete.
2309         (c_expand_builtin_printf): Moved to builtins.c. Delete.
2310         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
2311         (c_expand_expr): No longer treat CALL_EXPRs specially.
2312         (CALLED_AS_BUILT_IN): Delete.
2313
2314 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2315
2316         PR optimization/11631
2317         * gcse.c (store_motion): Connect infinite loops to exit.
2318
2319 2003-07-24  Jason Merrill  <jason@redhat.com>
2320
2321         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
2322         (boolean_true_node, boolean_false_node): Likewise.
2323         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
2324         * tree.c (build_common_tree_nodes): Init boolean_type_node.
2325         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
2326         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
2327         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
2328         (truthvalue_true_node): Renamed from boolean_true_node.
2329         (truthvalue_false_node): Renamed from boolean_false_node.
2330         * c-decl.c: Just set truthvalue_* to integer_*.
2331         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
2332
2333 2003-07-24  Roger Sayle  <roger@eyesopen.com>
2334
2335         * c-decl.c (match_builtin_function_types): New subroutine of
2336         duplicate_decls to test whether a redeclaration of a builtin
2337         function is suitably close, i.e. the return type and all of
2338         the argument types have the same modes as the builtin expects.
2339         (duplicate_decls): Fuzzy type matching for builtin functions
2340         moved to match_builtin_function_types.
2341
2342 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2343
2344         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
2345         flag correctly.
2346
2347 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
2348
2349         * c-decl.c: Search-and-replace change 'binding level' to
2350         'scope' in commentary.
2351         (struct binding_level): Now struct c_scope.
2352         (current_binding_level): Now current_scope.
2353         (free_binding_level): Now scope_freelist.
2354         (current_function_level): Now current_function_scope.
2355         (global_binding_level): Now global_scope.
2356         (make_binding_level): Now make_scope.
2357         (pop_binding_level): Now pop_scope.
2358
2359 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2360
2361         * configure.in (libgcc_visibility): Add missing whitespace.
2362
2363 2003-07-24  Richard Henderson  <rth@redhat.com>
2364
2365         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
2366         __gcc_personality_v0.
2367
2368 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2369
2370         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
2371
2372 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
2373
2374         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
2375         documentation missed from my 2003-07-09 patch.
2376
2377 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2378
2379         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
2380         it's not provided.
2381         * configure: Rebuild.
2382
2383 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
2384
2385         PR c/10602
2386         * c-typeck.c (type_lists_compatible_p): Do not compare
2387         arguments if one of them is an error_mark_node
2388
2389 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
2390
2391         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
2392         if current_function_calls_eh_return.
2393
2394 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2395
2396         * doc/c-tree.texi (OFFSET_TYPE): Update description.
2397
2398 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
2399
2400         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
2401         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2402         __umodsi3, __modsi3): Increase frame size to 32.
2403
2404 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
2405
2406         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
2407         prototype.
2408
2409 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2410
2411         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
2412
2413         PR optimization/10679
2414         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
2415
2416 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2417
2418         PR target/11607 and PR target/11516
2419         * pa.md (extzv, extv, insv): Revert latter half of last patch.
2420
2421 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
2422
2423         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
2424         * varasam.c (output_constant): Likewise.
2425
2426 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * alias.c: Fix comment formatting.
2429         * c-common.c: Likewise.
2430         * c-decl.c: Likewise.
2431         * c-opts.c: Likewise.
2432         * combine.c: Likewise.
2433         * cpplib.c: Likewise.
2434         * diagnostic.c: Likewise.
2435         * dojump.c: Likewise.
2436         * final.c: Likewise.
2437         * fold-const.c: Likewise.
2438         * gcc.c: Likewise.
2439         * gcse.c: Likewise.
2440         * ggc-page.c: Likewise.
2441         * jump.c: Likewise.
2442         * loop.c: Likewise.
2443         * mips-tfile.c: Likewise.
2444         * recog.c: Likewise.
2445         * regclass.c: Likewise.
2446         * regmove.c: Likewise.
2447         * tree.c: Likewise.
2448         * tree.h: Likewise.
2449
2450 2003-07-22  Per Bothner  <pbothner@apple.com>
2451
2452         * line-map.c (add_line_map):  Handle invalid LEAVE request.
2453         Fixes PR preprocessor/11361.
2454
2455 2003-07-22  Per Bothner  <pbothner@apple.com>
2456
2457         * diagnostic.c.(diagnostic_report_current_module):  Update to match
2458         2003-06-05 changes to push_srcloc and pop_srcloc.
2459
2460 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
2461
2462         * doc/trouble.texi: Better document two-stage name lookup.
2463
2464 2003-07-22  Eric Christopher <echristo@redhat.com>
2465
2466         * config/s390.c (s390_valid_pointer_mode): New.
2467         (TARGET_VALID_POINTER_MODE): Use.
2468         (s390_emit_prologue): Add tpf profiling hooks.
2469         (s390_emit_epilogue): Ditto.
2470         * config/s390.h (MASK_TPF): New.
2471         (TARGET_TPF): Use.
2472         (POINTERS_EXTEND_UNSIGNED): Define.
2473         * config/s390.md (ptr_extend): New pattern.
2474
2475 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
2476
2477         * hashtable.c (approx_sqrt): Make static.
2478         * hashtable.h: Don't prototype approx_sqrt.
2479         * line-map.c (init_line_maps): Rename linemap_init.
2480         (free_line_maps): Rename linemap_free.
2481         (add_line_map): Rename linemap_add.
2482         (lookup_line): Rename linemap_lookup.
2483         (print_containing_files): Rename linemap_print_containing_files.
2484         * linemap.h: Update to match.
2485
2486         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
2487         linemap routines to use new names.
2488
2489 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
2490
2491         * c-common.c (handle_packed_attribute): Don't pack a struct via a
2492         typedef. Propagate packedness from a main variant.
2493
2494 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
2495
2496         * Makefile.in (install-common): Add dependency on installdirs.
2497
2498 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
2499
2500         * c-common.c (c_common_type_for_mode): Return integer types for
2501         pointer modes.
2502
2503 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
2504
2505         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
2506         (finish_decl): Call maybe_apply_pragma_weak here.
2507         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
2508         TREE_PUBLIC and TREE_STATIC are decided.
2509         (start_function): Move call to maybe_apply_pragma_weak.  Check that
2510         DECL_ASSEMBLER_NAME isn't set too early.
2511
2512         * cpplex.c (_cpp_process_line_notes): Mention option name in
2513         trigraphs warning.
2514
2515 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2516
2517         * combine.c (if_then_else_cond): Simplify the comparison of
2518         rtx against -1, 0, and 1.
2519         * loop.c (check_dbra_loop): Likewise.
2520         * optabs.c (emit_conditional_move): Likewise.
2521         (emit_conditional_add): Likewise.
2522         * config/i386/i386.md (*movsi_or): Likewise.
2523         (*movdi_or_rex6): Likewise.
2524
2525 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
2526
2527         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
2528
2529 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
2530
2531         * cppfiles.c (open_file_pch): Don't put unused entries in the
2532         splay tree.  Remove dead code.
2533
2534 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
2535
2536         * c-common.h (num_in_fnames): Declare.
2537         (c_static_assembler_name): Move from here...
2538         * c-tree.h (c_static_assembler_name): ... to here.
2539         * c-opts.c: Don't include langhooks-def.h.
2540         (c_static_assembler_name): Move to c-decl.c.
2541         (num_in_fnames): Make externally visible.
2542         * c-decl.c: Include langhooks-def.h.
2543         (c_static_assembler_name): Move from c-opts.c.
2544         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
2545         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
2546
2547         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
2548         when it's not needed.
2549
2550 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
2551
2552         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
2553         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
2554         (rs6000_emit_prologue): Save FPRs inline if set.
2555
2556 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
2557
2558         * config/ia64/ia64.md (prefetch): Support predicate.
2559
2560 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
2561
2562         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
2563         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
2564         table.
2565
2566 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2567
2568         PR optimization/11536
2569         * unroll.c (loop_iterations): Do not replace a register holding
2570         the final value by its equivalent before the loop if it is not
2571         invariant.
2572
2573 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
2574
2575         * doc/extend.texi: Fixes to spelling, grammar, and diction.
2576
2577 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
2578
2579         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
2580         (V850 Options): Spelling fixes.
2581
2582 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
2583
2584         * doc/invoke.texi: Fixes to style, grammar and diction.
2585
2586 2003-07-20  Roger Sayle  <roger@eyesopen.com>
2587
2588         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
2589         * system.h (SMALL_STACK): Poison obsolete target macro.
2590         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
2591
2592 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
2593
2594         * configure.in:  Cache the results of testing for cmp's capabilities.
2595         * configure:  Regenerate.
2596
2597 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
2598
2599         PR debug/11279
2600         * dwarf2out.c (gen_enumeration_type_die): Remember that
2601         enumerators can be unsigned.
2602
2603 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
2604
2605         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
2606         (push_label_level, pop_label_level): Kill.
2607         (struct binding_level): Rename level_chain to outer.
2608         Add outer_function field.  Change parm_flag, function_body,
2609         keep, keep_if_subblocks to 1-bit bitfields of type bool.
2610         (current_function_level): New variable.
2611         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
2612         (keep_next_level, declare_parm_level, warn_if_shadowing):
2613         Update to match.
2614         (struct language_function): Kill named_labels, shadowed_labels fields.
2615         (c_init_decl_processing, start_function, c_push__function_context)
2616         (c_pop_function_context): No need to muck with named_labels nor
2617         shadowed_labels.
2618
2619         (make_binding_level): No need to clear the structure here.
2620         (pop_binding_level): Always operate on current_binding_level.
2621         Update current_function_level if necessary.
2622         (pushlevel): Don't clear named_labels.  Update current_function_level
2623         if necessary.  Use "true" and "false" where appropriate.
2624         (poplevel): Diagnose labels defined but not used, or vice
2625         versa, and clear out label-meanings leaving scope, while
2626         walking down the decls list, for all binding levels.
2627         Handle LABEL_DECLs appearing in the shadowed list.
2628         pop_binding_level takes no arguments.
2629         (pushdecl_function_level): Use current_function_level.
2630
2631         (make_label, bind_label): New static functions.
2632         (declare_label): New exported function.
2633         (lookup_label, define_label): Rewritten for new data structure.
2634         (shadow_label): Kill.
2635
2636         * c-tree.h: Prototype declare_label; don't prototype
2637         push_label_level, pop_label_level, nor shadow_label.
2638         * c-parse.in: Remove all calls to push_label_level and
2639         pop_label_level.  Use declare_label for __label__ decls.
2640
2641         * doc/extend.texi: Clarify that __label__ can be used to
2642         declare labels with local scope in any nested block, not
2643         just statement expressions.  Cross-reference nested functions
2644         section from local labels section.
2645
2646 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2647
2648         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
2649
2650 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
2651
2652         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
2653
2654 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2655
2656         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
2657         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
2658
2659 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
2660
2661         * config/s390/s390.c (legitimize_pic_address): Access local symbols
2662         relative to the GOT instead of relative to the literal pool base.
2663         (s390_output_symbolic_const): Handle new GOT-relative accesses.
2664         * config/s390/s390.md ("call"): Access local functions and PLT stubs
2665         relative to the GOT instead of relative to the literal pool base.
2666         ("call_value"): Likewise.
2667         ("call_value_tls"): Likewise.
2668
2669         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
2670         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
2671         (s390_chunkify_finish): Likewise.
2672         (s390_chunkify_cancel): Likewise.
2673         (s390_reorg): Adapt caller.
2674         (find_base_register_in_addr,
2675         find_base_register_ref, replace_base_register_ref): Delete.
2676         (find_ltrel_base, replace_ltrel_base): New functions.
2677         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
2678         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
2679         base vs. index register usage.
2680         (struct constant_pool): Remove 'anchor'.
2681         (s390_add_anchor): Delete.
2682         (s390_dump_pool): Remove anchor handling.
2683         * config/s390/s390.md ("reload_anchor"): Remove.
2684
2685         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
2686         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
2687         (s390_emit_prologue): Use it.
2688         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
2689         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
2690         hard-code register 14.
2691         * config/s390/s390-protos.h (s390_load_got): Declare.
2692
2693         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
2694         Support TImode constants.
2695         * config/s390/s390.md ("consttable_ti"): New.
2696         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
2697
2698         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
2699         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
2700         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
2701         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
2702         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
2703         New symbolic constants.
2704         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2705         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
2706         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
2707         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
2708         symbolic UNSPEC values.
2709         * config/s390/s390.c (larl_operand, s390_short_displacement,
2710         bras_sym_operand, s390_cannot_force_const_mem,
2711         s390_delegitimize_address, s390_decompose_address,
2712         legitimize_pic_address, s390_output_symbolic_const,
2713         s390_function_profiler): Use symbolic UNSPEC values.
2714
2715 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2716
2717         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
2718         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
2719         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
2720         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
2721         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
2722         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
2723         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
2724         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
2725         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
2726         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
2727         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
2728         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
2729         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
2730         postreload.c prefix.c print-tree.c protoize.c ra-build.c
2731         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
2732         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
2733         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
2734         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
2735         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
2736         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
2737         casts.
2738
2739 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2740
2741         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
2742         * toplev.h (warning): Remove attribute.
2743
2744 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2745
2746         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
2747         (pop_label_level): Likewise.
2748         (duplicate_decls): Likewise.
2749         (implicitly_declare): Likewise.
2750         (shadow_label): Likewise.
2751         (start_decl): Likewise.
2752         (finish_decl): Likewise.
2753         (grokdeclarator): Likewise.
2754         (get_parm_info): Likewise.
2755         (detect_field_duplicates): Likewise.
2756         (finish_struct): Likewise.
2757         (start_function): Likewise.
2758         (store_parm_decls): Likewise.
2759         (finish_function): Likewise.
2760         (c_expand_body_1): Likewise.
2761         (check_for_loop_decls): Likewise.
2762         (merge_translation_unit_decls): Likewise.
2763
2764 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
2765
2766         * common.opt:  Document --param.
2767         * opts.c (columns, undocumented_msg): New.
2768         (print_help): Get number of columns from environment.  Print
2769         --param help.  Tweak newline handling.
2770         (print_param_help): New.
2771         (print_filtered_help): Better handling of duplicates.  Complain
2772         about undocumented switches.
2773         (print_switch): New.
2774         (wrap_help): Improve wrapping, use COLUMNS.
2775         * opts.sh: Ignore comments in records.
2776         * params.def: Fix typos and remove trailing periods.
2777         * toplev.c (display_help): Don't dump --param help.
2778         * doc/sourcebuild.texi: Update.
2779
2780 2003-07-18  Richard Henderson  <rth@redhat.com>
2781
2782         PR target/11556
2783         * optabs.c (prepare_operand): Fail gracefully instead of abort
2784         if the predicate doesn't satisfy.
2785         (gen_cond_trap): Allow prepare_operand to fail.
2786
2787 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2788
2789         * c-common.c: Don't undefine GCC_DIAG_STYLE.
2790         (fname_decl): Don't use xxx_with_decl.
2791         (c_add_case_label): Likewise.
2792         (handle_section_attribute): Likewise.
2793         (handle_alias_attribute): Likewise.
2794         (handle_no_instrument_function_attribute): Likewise.
2795         (handle_no_limit_stack_attribute): Likewise.
2796         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
2797         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
2798
2799 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2800
2801         * Makefile.in (ifcvt.o): Add cfgloop.h.
2802         * basic-block.h (EDGE_LOOP_EXIT): New flag.
2803         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
2804         * ifcvt.c: Include cfgloop.h.
2805         (mark_loop_exit_edges): New static function.
2806         (if_convert): Call it.
2807         (find_if_header): Ignore branches out of loops.
2808
2809 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
2810
2811         * combine.c (simplify_comparison): Don't share rtx when converting
2812         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
2813
2814 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
2815
2816         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
2817         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2818         (MUST_PASS_IN_STACK): Define.
2819         (BLOCK_REG_PADDING): Define.
2820
2821 2003-07-18  Richard Henderson  <rth@redhat.com>
2822
2823         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
2824         to skip the addr_vec.
2825
2826 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
2827
2828         * combine.c (combinable_i3pat): Don't forbid occurrences of
2829         i2dest or i1dest in inner_dest if inner_dest is a mem.
2830
2831 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
2832
2833         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
2834
2835 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
2836
2837         PR target/11087
2838         * loop.c (basic_induction_var): Check if convert_modes emitted any
2839         instructions. Remove them and return 0 if so.
2840
2841 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2842
2843         PR optimization/11083
2844         * toplev.c (rest_of_handle_addresof): Rename into
2845         rest_of_handle_addressof.  Delete unreachable blocks
2846         if dead edges were purged after the addressof pass.
2847
2848 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
2849
2850         * Makefile.in, configure, configure.in: Remove handling of
2851         lang-options.h and options_.h.
2852         * toplev.c (struct lang_opt, documented_lang_options): Remove.
2853         (display_help): Don't use documented_lang_options.
2854
2855 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2856
2857         * c-decl.c (pushdecl_function_level): Make static, return nothing.
2858         (kept_level_p): Fold into poplevel.
2859         (undeclared_variable): Moved here from c-typeck.c.  Export.
2860         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
2861         (undeclared_variable): Prototype here.  Don't prototype
2862         kept_level_p nor pushdecl_function_level.
2863         * c-parse.in: Change first argument to poplevel from
2864         "kept_level_p()" to "KEEP_MAYBE".
2865         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
2866
2867 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2868
2869         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
2870         commutative operands instead of modifying the RTL in-place.
2871
2872 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
2873
2874         PR optimization/11557
2875         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
2876         unless we know which function is being called.
2877
2878 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2879
2880         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
2881         whether to reorder the operands of a commutative binary operator.
2882
2883 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2884
2885         * fold-const.c (const_binop): Avoid performing the FP operation at
2886         compile-time, if either operand is NaN and we honor signaling NaNs,
2887         or if we're dividing by zero and either flag_trapping_math is set
2888         or the desired mode doesn't support infinities.
2889         (fold_initializer): New function to fold an expression ignoring any
2890         potential run-time exceptions or traps.
2891         * tree.h (fold_initializer): Prototype here.
2892         * c-typeck.c (build_binary_op): Move to the end of the file so
2893         that intializer_stack is in scope.  If constructing an initializer,
2894         i.e. when initializer_stack is not NULL, use fold_initializer to
2895         fold expressions.
2896         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
2897         performing FP operations at compile-time, if they would raise an
2898         exception at run-time.
2899
2900 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
2901
2902         PR 11498
2903         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
2904         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
2905         (GTFILES): Add langhooks.c.
2906         (gt-langhooks.h): New.
2907         * c-common.h (c_static_assembler_name): Prototype.
2908         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2909         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2910         * c-opts.c: Include langhooks-def.h.
2911         (c_static_assembler_name): New.
2912         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
2913         (var_labelno): New.
2914         (lhd_set_decl_assembler_name): Give static objects with context
2915         unique names.
2916         * varasm.c (var_labelno): Delete.
2917         (make_decl_rtl): Don't change the assembler name once it's set.
2918
2919         * c-opts.c (this_input_filename): New.
2920         (finish_options): Take new parameter, name of file being compiled.
2921         Update callers.  Set this_input_filename.
2922         (push_command_line_include): Use this_input_filename not
2923         main_input_filename.
2924
2925 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2926
2927         * Makefile.in: Depend .pot generation on options.c.
2928         * po/exgettext: Add an extra_files variable containing additional
2929         files to scan.
2930
2931 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2932
2933         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
2934         c_write_global_declarations.
2935
2936         * c-decl.c: Fix typos in several comments.  Remove all
2937         #if 0 blocks; reindent as needed.  Remove unused argument
2938         to declare_parm_level; all callers changed.
2939         * c-parse.in: Update calls to declare_parm_level.  Avoid
2940         issuing a double warning in some circumstances.
2941         * c-typeck.c: Update calls to declare_parm_level.
2942         * c-tree.h: Update prototype of declare_parm_level.
2943
2944         * c-pragma.c (apply_pragma_weak): Don't complain about a
2945         redundant #pragma weak.
2946
2947         * objc/objc-act.c (forward_declare_categories,
2948         build_selector_reference_decl, build_class_reference_decl,
2949         build_objc_string_decl, synth_forward_declarations,
2950         build_protocol_reference): Set TREE_PUBLIC on synthetic
2951         forward decl to 0, consistent with eventual definition.
2952         Correct comments to match.
2953
2954         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
2955         in regexp that don't form a range expression.
2956         * fixinc/fixincl.def: Regenerate.
2957
2958 2003-07-17  Richard Henderson  <rth@redhat.com>
2959
2960         PR target/10907
2961         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
2962         even with !TARGET_CONST_GP.
2963         (ia64_function_ok_for_sibcall): Reject non-local functions.
2964
2965 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
2966
2967         * c-common.c (c_estimate_num_insns_1): Don't handle
2968         METHOD_CALL_EXPR.
2969         * expr.c (safe_from_p): Likewise.
2970         * gengtype.c (adjust_field_tree_exp): Likewise.
2971         * stmt.c (warn_if_unused_value): Likewise
2972         * tree.c (first_rtl_op): Likewise.
2973         * tree.def: Don't define METHOD_CALL_EXPR.
2974         * java/lang.c (java_estimate_num_insns_1): Don't handle
2975         METHOD_CALL_EXPR.
2976
2977 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2978
2979         PR other/11466
2980         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
2981         and its restrictions for the SPARC64 port.
2982         Move the entry of "-mimpure-text" before that of "-mv8".
2983
2984 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
2985             Phil Edwards <phil@jaj.com>
2986
2987         * doc/install.texi (*-*-solaris2*): Document the step-by-step
2988         procedure to bootstrap and install.
2989         Document the preference for the legacy Sun tools in /usr/bin
2990         over the POSIX tools in /usr/xpg4/bin for the build process.
2991
2992 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2993
2994         * c.opt: Document Uncodumented; use it.  Document ObjC options.
2995         * opts.c (print_filtered_help): Skip undocumented switches.
2996         * opts.h (CL_UNDOCUMENTED): New.
2997         * opts.sh: Handle Undocumented.
2998         * toplev.c (documented_lang_options): Prevent its becoming empty.
2999 objc:
3000         * lang-options.h: Remove.
3001
3002 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
3003
3004         * loop.c (check_ext_dependent_givs): Pass const struct loop *
3005         instead of struct loop_info * as argument.  Accept BIVs with
3006         increment +/- 1 provided there is a friendly exit test against
3007         a loop-invariant value.
3008         (strength_reduce): Adapt call to check_ext_dependent_givs.
3009
3010 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
3011             Con Bradley <con.bradley@superh.com>
3012
3013         * sh-protos.h (sh_get_pr_initial_val): Declare.
3014         * sh.c (regno_reg_class): Make its elements type enum reg_class.
3015         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
3016         and live_regs_mask arguments.  Changed all callers.
3017         (save_schedule_s): New structure.
3018         (save_schedule): New typedef.
3019         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
3020         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
3021         In interrupts handlers, also save registers that are usually
3022         partially saved, and make sure there is at least one general purpose
3023         register saved if a target register needs saving.
3024         Add casts in comparisons to avoid warnings.
3025         (sh_media_register_for_return): return -1 for interrupt handlers.
3026         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
3027         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
3028         registers used are available.
3029         Set RTX_FRAME_RELATED_P where appropriate.
3030         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
3031         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
3032         (initial_elimination_offset): Likewise.
3033         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
3034         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
3035         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
3036         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
3037         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
3038         and for target registers.
3039         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
3040         (regno_reg_class): Make its elements type enum reg_class.
3041         (CONSTRAINT_LEN): Don't use isdigit.
3042         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
3043         (FUNCTION_ARG): Add parentheses to avoid warnings.
3044         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
3045         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
3046         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
3047         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
3048         * sh.md (xordi3+1): Remove unused variable regno.
3049         (return_media): Check that tr0 is available before using it.
3050
3051 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
3052
3053         * c.opt: Document more options.
3054
3055 2003-07-16  Roger Sayle  <roger@eyesopen.com>
3056
3057         * combine.c (subst): Also handle (subreg (const_double ...)) case
3058         if created by a substitution, by using the original inner mode.
3059
3060 2003-07-16  Roger Sayle  <roger@eyesopen.com>
3061
3062         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
3063         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
3064         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
3065
3066 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
3067
3068         * doc/install.texi (--without-headers): New.
3069
3070         Partial Fix PR/10129
3071         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
3072         (machopic_output_function_base_name): New; print the true pic label.
3073         (machopic_classify_ident): Pic Base is always a defined data.
3074         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
3075         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
3076
3077         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
3078         if they are not floating point registers.
3079
3080         PR c/10962
3081         * ggc.h: Add header guards.
3082         * c-decl.c (finish_struct): Sort fields if
3083         number greater than 15 and there are no
3084         anonymous structs/unions.
3085         * c-common.h: Include ggc.h.
3086         (sorted_fields_type): New struct.
3087         (field_decl_cmp): New prototype.
3088         (resort_sorted_fields): New prototype.
3089         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
3090         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
3091         as s, removing other fields.
3092         * c-typeck.c (lookup_field): Use s in lang_type.
3093         These were mostly moved from cp/class.c:
3094         * c-common.c (field_decl_cmp): New static function.
3095         (field_decl_cmp): New function.
3096         (resort_sorted_fields): New function.
3097
3098 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
3099
3100         * config/darwin.c (machopic_select_section): Use decl_readonly_section
3101         to do most of the work.
3102
3103 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
3104
3105         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
3106         * config/mmix/mmix.c: Convert functions to ISO C90.
3107         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
3108         formatting.
3109         (mmix_get_hard_reg_initial_val): Tweak section head comment.
3110
3111 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
3112
3113         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
3114
3115 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
3116
3117         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
3118         (uw_update_context_1): Use it.
3119         * config/rs6000/rs6000.c (insn_after_throw): Remove.
3120         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
3121         in parent frame if _Unwind_* called directly instead of through
3122         .plt.
3123         (rs6000_emit_eh_toc_restore): Remove.
3124         (rs6000_emit_prologue): Update stack pointer before doing any saving
3125         if current_function_calls_eh_return.  Generate unwind info for $r2.
3126         (rs6000_emit_epilogue): Restore stack pointer after doing all
3127         restoring if current_function_calls_eh_return.  Restore $r2.
3128         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
3129         * config/rs6000/rs6000.md (eh_return): Remove call to
3130         rs6000_emit_eh_toc_restore.
3131         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
3132         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
3133
3134 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
3135
3136         * expr.c (emit_block_move): Don't move anything if size is const 0.
3137         (clear_storage): Test against const0_rtx instead of comparing INTVAL
3138         against 0.
3139
3140 2003-07-15  David S. Miller  <davem@redhat.com>
3141
3142         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
3143         emit nop if the last real insn is CALL_INSN.
3144
3145 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
3146
3147         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
3148         as "nul".
3149         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
3150
3151 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
3152
3153         * config/i386/winnt.c (associated_type): Artificial methods are not
3154         affected by the import/export status of their class unless they are
3155         COMDAT.
3156         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
3157
3158         * config/i386/winnt.c: Fix GCC copyright comment.
3159
3160 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3161
3162         PR c++/11531
3163         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
3164         not recursing on hard error.
3165         (diagnostic_for_decl): Likewise.
3166         * diagnostic.def: Rearrange.
3167
3168 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
3169
3170         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
3171         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
3172
3173 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
3174             Richard Henderson  <rth@redhat.com>
3175
3176         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
3177         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
3178         (_Unwind_SetGR): Likewise.
3179         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
3180         (Unwind_SpTmp): New typedef.
3181         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
3182         (uw_update_context): Use _Unwind_GetPtr.
3183         (init_dwarf_reg_size_table): Move above uw_init_context_1.
3184         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
3185         Use _Unwind_SetSpColumn.
3186         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
3187         Use _Unwind_GetPtr.
3188
3189 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
3190
3191         * c.opt: Document more options.
3192         * toplev.c (documented_lang_options): Remove all local help strings.
3193
3194 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
3195
3196         PR debug/11473
3197         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
3198         base classes.
3199
3200 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
3201
3202         PR target/10795
3203         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
3204         swap comparison operands if doing so would generate an
3205         unrecognizable insn.
3206
3207 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
3208
3209         PR optimization/11320
3210         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
3211         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
3212         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
3213         current_sched_info->compute_jump_reg_dependencies. Record which
3214         registers are used and which registers are set by the jump.
3215         Clear deps->reg_conditional_sets after a barrier.
3216         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
3217         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
3218         (init_deps): Initialize reg_conditional_sets.
3219         (free_deps): Clear reg_conditional_sets.
3220         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
3221         Mark registers live on entry of the fallthrough block and conditionally
3222         set as set by the jump. Mark registers live on entry of non-fallthrough
3223         blocks as used by the jump.
3224         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
3225         Mark new parameters as unused.
3226
3227 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3228
3229         * doc/invoke.texi: Resync MIPS -march documentation.
3230
3231 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3232
3233         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
3234         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
3235         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
3236         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
3237         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
3238         (mips_issue_rate): Handle PROCESSOR_R9000.
3239         (mips_use_dfa_pipeline_interface): Likewise.
3240         * config/mips/9000.md: New file.
3241         * config/mips/mips.md: Include it.
3242         (define_attr cpu): Add r9000.
3243         (mulsi3_mult3): Use "mul" for rm9000 code.
3244
3245 2003-07-15  Stan Cox  <scox@redhat.com>
3246
3247         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
3248         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
3249         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
3250         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
3251         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
3252         (mips_issue_rate): Handle PROCESSOR_R7000.
3253         (mips_use_dfa_pipeline_interface): Likewise.
3254         * config/mips/7000.md: New file.
3255         * config/mips/mips.md: Include it.
3256         (define_attr cpu): Add r7000.
3257         (mulsi3_mult3): Use "mul" for rm7000 code.
3258
3259 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3260
3261         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
3262         the conditional move patterns.
3263         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
3264         Check for condmove type.
3265         (ir_vr54_arith): Add move type.
3266         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
3267         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
3268
3269 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
3270
3271         * c-opts.c (print_help): Remove.
3272         (c_common_handle_option): Don't handle --help.
3273         * c.opt: Document some options.
3274         (--help): Remove.
3275         * opts.c (print_filtered_help): New.
3276         (print_help): Use it.
3277
3278 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
3279
3280         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
3281         * tree.c: (build_common_tree_nodes_2): Likewise.
3282         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
3283         (V4DF_type_node): New.
3284
3285         * c-opts.c (push_command_line_include): Don't free deferred_opts,
3286         we'll need it.
3287         (finish_options): Reset init_cursor.
3288
3289 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
3290
3291         * expr.c (expand_assignment): Remove an unused argument
3292         SUGGEST_REG.
3293         * expr.h: Update the prototype.
3294         * function.c: Update the callers.
3295         * stmt.c: Likewise.
3296
3297 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
3298
3299         PR debug/11098
3300         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
3301         as DECL_ABSTRACT.
3302
3303 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3304
3305         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
3306         with __cplusplus, not "we must use the C++ compiler's type"
3307         * fixinc/inclhack.def (void_null): Note that Interix needs this.
3308         * fixinc/fixincl.x: Regenerate.
3309
3310 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
3311
3312         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
3313         and unseen_objects from the global data before calling
3314         __deregister_frame_info_bases.
3315         (examine_objects): Insert objects into the seen_objects list,
3316         not unseen_objects.
3317         (_Unwind_Find_FDE): Always unlock the global object lists, even if
3318         we couldn't allocate a data structure to put in it.
3319
3320         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
3321         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
3322         (SET_TYPE_PROTOCOL_LIST): New.
3323         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
3324         (get_object_reference): Likewise.
3325
3326 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
3327
3328         * cfglayout.c (locator_file): Break out from ....
3329         (insn_file): ... here.
3330         (locator_line): Break out from ....
3331         (insn_line): ... here.
3332         * rtl.h (locator_file, locator_line): Declare.
3333         (final_start_function): Set proper line/file info.
3334
3335 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3336
3337         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
3338         handled by pp_c_cast_expression.
3339
3340 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3341
3342         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
3343         allocate 32768 bytes of stack.  Use addition rather than subtraction
3344         when a single insn is enough.
3345         * config/mips/mips.md: Remove insns and splitters for subtracting
3346         constants.
3347         (subsi3): Only accept register operands.
3348         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
3349         (subdi3_internal_3, subsi3_internal_2): Likewise.
3350         (casesi): Use expand_binop to subtract the lower bound.
3351
3352 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3353
3354         * config/mips/mips.c (mips_in_small_data_p): Don't handle
3355         TARGET_MIPS16 specially.
3356
3357 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3358
3359         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
3360         mips_output_aligned_bss.
3361         * config/mips/linux.h: Likewise.
3362         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
3363         * config/mips/mips.c (mips_output_aligned_bss): New function.
3364
3365         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
3366         * config/mips/elf64.h: Likewise.
3367
3368         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
3369         mips_declare_object_name.
3370         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
3371         * config/mips/elf64.h: As for elf.h.
3372         * config/mips/iris6.h: Likewise.
3373         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
3374         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
3375         do...while (0) block.
3376         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
3377         (mips_finish_declare_object): Declare.
3378         * config/mips/mips.c (mips_declare_object_name): New function.
3379         (mips_finish_declare_object): New function.
3380
3381         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
3382         * config/mips/linux.h: Likewise.
3383
3384         * config/mips/mips.c (inside_function): Delete.
3385         (file_in_function_warning, ignore_line_number): Delete.
3386         (mips_output_filename): Don't warn about changing filenames within
3387         a function.
3388         (mips_output_lineno): Update accordingly.
3389         (mips_output_function_prologue): Don't reset the deleted variables.
3390         * config/mips/mips.h (inside_function): Delete.
3391         (file_in_function_warning, ignore_line_number): Delete.
3392
3393         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
3394         * config/mips/elf64.h: Likewise.
3395         * config/mips/openbsd.h: Likewise.
3396         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
3397         * config/mips/linux.h: Likewise.
3398         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
3399         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
3400
3401         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
3402         to the list of include files when using gas.
3403         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
3404         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
3405         * config/mips/elf64.h: Likewise.
3406         * config/mips/iris5.h: Likewise.
3407         * config/mips/linux.h: Likewise.
3408         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
3409         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3410         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
3411         * config/mips/sdb.h: ...this new file.
3412
3413 2003-07-14  Douglas Rupp  <rupp@gnat.com>
3414
3415         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
3416         argument to getcwd; use fixed buffer instead.
3417
3418 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3419
3420         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
3421         * fixinc/fixinc.wrap: Delete.
3422
3423 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3424
3425         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
3426         don't have 2.
3427
3428 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3429
3430         * ggc-page.c (struct globals): Add new fields to keep track of the
3431         total allocated memory and overhead.
3432         (ggc_print_statistics): Print them.
3433         (ggc_alloc): Keep track of the total allocated memory and the
3434         overhead.
3435
3436         * tree.c (dump_tree_statistics): Increase spacing.
3437         (enum tree_node_kind): Move to ...
3438         * tree.h (enum tree_node_kind): ... here.
3439         (tree_node_counts, tree_node_sizes): Declare.
3440
3441 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
3442
3443         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
3444
3445 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3446
3447         PR optimization/11440
3448         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
3449         SIGN_EXTRACT SETs.
3450
3451 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
3452
3453         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
3454         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
3455         (emit_group_load, emit_group_store): Adjust declarations.
3456         Remove most occurrences of #ifdef TREE_CODE.
3457         * expr.c (emit_group_load): Add "type" param, and use
3458         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
3459         aligned accesses if !SLOW_UNALIGNED_ACCESS.
3460         (emit_group_store): Likewise.
3461         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
3462         emit_group_load and emit_group_store calls.
3463         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
3464         BLOCK_REG_PADDING to determine whether we need endian_correction.
3465         (load_register_parameters): Localize vars.  Handle shifting of
3466         small values to the correct end of regs.  Adjust emit_group_load
3467         call.
3468         (expand_call, emit_library_call_value_1): Adjust emit_group_load
3469         and emit_group_store calls.
3470         * function.c (assign_parms): Set mem alignment for stack slots.
3471         Adjust emit_group_store call.  Store values at the "wrong" end
3472         of regs to the stack.  Use BLOCK_REG_PADDING.
3473         (locate_and_pad_parm): Save where_pad.
3474         (expand_function_end): Adjust emit_group_load call.
3475         * stmt.c (expand_value_return): Adjust emit_group_load call.
3476         * Makefile.in (calls.o): Depend on $(OPTABS_H).
3477         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
3478         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
3479         (MUST_PASS_IN_STACK): Define.
3480         (BLOCK_REG_PADDING): Define.
3481         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
3482         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
3483         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
3484         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
3485         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
3486
3487 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
3488
3489         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
3490
3491 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3492
3493         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
3494         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
3495
3496 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3497
3498         PR other/11123
3499         * toplev.c: Don't cut off option names.
3500
3501 2003-07-13  Andreas Jaeger  <aj@suse.de>
3502
3503         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
3504         to integer of different size.
3505
3506 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
3507
3508         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
3509         to (eq (and X 1) 0).
3510
3511 2003-07-13  Andreas Jaeger  <aj@suse.de>
3512
3513         * config.gcc: Add pmmintrin.h for x86_64-*-*.
3514
3515 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3516
3517         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
3518         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
3519         list.  Move these all together down by cpplib.
3520
3521         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
3522         definition of CPPCHAR_SIGNED_T.
3523
3524         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
3525         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
3526         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
3527
3528         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
3529         * cppinit.c (cpp_create_reader): Likewise.
3530
3531         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
3532         * cpptrad.c: Likewise.  All callers changed.
3533         * cpplib.c: All callers changed.
3534         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
3535         * hashtable.h: Define GTY(x) to nothing here too.
3536
3537 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3538
3539         * stor-layout.c (compute_record_mode): Remove very obsolete test
3540         that forces BLKmode for records with fields crossing word boundary.
3541
3542 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3543
3544         * Makefile.in: Remove orphan reference to acconfig.h.
3545
3546 2003-07-13  Andreas Jaeger  <aj@suse.de>
3547
3548         * cgraphunit.c: Convert prototypes to ISO C90.
3549
3550 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3551
3552         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
3553         (for OpenBSD).
3554         * fixinc/fixincl.x: Rebuild.
3555
3556 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3557
3558         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
3559         i?86-*-*.  Use correct name of cache variable.
3560         * configure: Regenerate.
3561
3562 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3563
3564         * config/alpha/alpha.c: Fix comment typos.
3565         * config/alpha/alpha.md: Likewise.
3566         * config/arm/arm.c: Likewise.
3567         * config/arm/arm.md: Likewise.
3568         * config/arm/lib1funcs.asm: Likewise.
3569         * config/avr/avr.md: Likewise.
3570         * config/arm/README-interworking: Fix typos.
3571
3572 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3573
3574         * c-format.c: Fix comment formatting.
3575         * c-typeck.c: Likewise.
3576         * coverage.c: Likewise.
3577         * cppcharset.c: Likewise.
3578         * cpplib.c: Likewise.
3579         * dbxout.c: Likewise.
3580         * gcov-io.h: Likewise.
3581         * toplev.c: Likewise.
3582
3583 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3584
3585         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
3586         fix.
3587
3588 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3589
3590         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
3591         uses three-argument AC_DEFINE so no acconfig.h entries are
3592         needed.
3593         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
3594         which contains the GAS version number as a scaled integer.
3595         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
3596         ability to check for ELF assembler.
3597         (gcc_GAS_CHECK_FEATURE): New macro.
3598         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
3599         assembler feature checks using gcc_GAS_CHECK_FEATURE.
3600         Use three-argument AC_DEFINE everywhere.
3601         * acconfig.h: Deleted.
3602         * config.in, configure: Regenerate.
3603
3604 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3605
3606         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
3607         (on OpenBSD).
3608         * fixinc/fixincl.x: Regenerate.
3609
3610         * fixinc/inclhack.def (gnu_types): Improve comment.
3611
3612 2003-07-12  Andreas Jaeger  <aj@suse.de>
3613
3614         * fp-test.c (main): Use ISO C90 prototype.
3615
3616         * version.c: Remove unneded include of ansidecl.h.
3617
3618         * cgraph.h: Convert prototypes to ISO C90.
3619         * cgraph.c: Likewise.
3620         * fix-header.c: Likewise.
3621         * ra.h: Likewise.
3622         * protoize.c: Likewise.
3623
3624 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
3625
3626         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
3627         warning.
3628
3629 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
3630                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3631
3632         * cgraph.c (cgraph_max_uid): New global variable.
3633         (cgraph_node): Set uid field.
3634         (create_edge): Keep inline flags consistent.
3635         (dump_cgraph): Dump more info.
3636         * cgraph.h (struct cgraph_local_info): Remove inline_many and
3637         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
3638         (struct cgraph_global_info): Add insns, calls, cloned_times,
3639         will_be_output.
3640         (struct cgraph_node): Add uid.
3641         (struct cgraph_edge): Add inline_call.
3642         (cgraph_max_uid, cgraph_inline_p): Declare.
3643         * cgraph.c: Include params.h and fibheap.h
3644         (cgraph_mark_functions_to_inline_once): Kill.
3645         (INSNS_PER_CALL): New constant.
3646         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
3647         static variables.
3648         (cgraph_finalize_function): Do not analyze inlining.
3649         (cgraph_finalize_compilation_unit): Set inlining attributes.
3650         (cgraph_mark_functions_to_output): More consistency checks.
3651         (cgraph_optimize_function): Set current_function_decl to NULL.
3652         (cgraph_expand_function): Use new inline flags.
3653         (cgraph_postorder): Expand from cgraph_expand_functions.
3654         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
3655         (cgraph_inlined_into, cgraph_inlined_callees,
3656         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
3657         cgraph_mark_inline, cgraph_check_inline_limits,
3658         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
3659         cgraph_decide_inlining, cgraph_inline_p): New functions.
3660         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
3661         PARAM_INLINE_UNIT_GROWTH): New parameters.
3662         * tree-inline.c (struct inline_data): New field current_decl.
3663         (expand_call_inline): Avoid forward declarations; use
3664         inlinable_function_p.
3665         (optimize_inline_calls): Set id.current_decl.
3666
3667 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
3668
3669         * configure.in: Remove wrongly added definition of
3670         local_prefix.
3671         * configure: Regenerate.
3672
3673 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
3674
3675         * rtl.def (NOTE): Do not use padding.
3676
3677 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
3678
3679         * doc/install.tex: Update required binutils for i?86-*-linux*
3680
3681 2003-07-11  Richard Henderson  <rth@redhat.com>
3682
3683         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
3684
3685 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
3686
3687         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
3688         TRANSLATION_UNIT_DECL as top_level.
3689
3690 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
3691
3692         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
3693         then fall back to cmpstrM.
3694         * builtins.c (expand_builtin_memcmp): Likewise.
3695         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
3696         (s390_expand_cmpmem): ... this.
3697         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
3698         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
3699         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
3700         to s390_expand_cmpmem.
3701         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
3702         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
3703         to cmpmem*.
3704         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
3705         cmpstr* patterns.
3706         * doc/md.texi (cmpstrM): Describe as String compare insn, not
3707         Block compare insn.
3708         (cmpmemM): Add.
3709
3710 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
3711
3712         * config/i386/freebsd.h (SET_ASM_OP): Remove.
3713         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
3714         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
3715          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
3716
3717 2003-07-11  Richard Henderson  <rth@redhat.com>
3718
3719         * function.c (assign_parms): Don't recombine complex args if
3720         fnargs is unchanged from orig_fnargs.
3721         (split_complex_args): Return args without complex before copying.
3722         Re-layout the modified parameters.
3723
3724 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
3725
3726         * regclass.c (choose_hard_reg_mode): Add third argument.
3727         Changed all callers.
3728         * rtl.h (choose_hard_reg_mode): Update declaration.
3729         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
3730         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
3731
3732 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
3733
3734         * c-decl.c (finish_decl): Handle 'used' here...
3735         * cgraphunit.c (cgraph_finalize_function): ... and here ...
3736         * c-common.c: (handle_used_attribute): ... not here.
3737
3738         * configure.in (onstep): Support --enable-intermodule.
3739         * Makefile.in (OBJS-common): New.
3740         (OBJS-md): New.
3741         (OBJS-archive): New.
3742         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
3743         (OBJS-onestep): New.
3744         (libbackend.a): Support @onestep@.
3745         (libbackend.o): New.
3746         * configure: Regenerate.
3747
3748         * c-common.h (c_reset_state): New prototype.
3749         (c_parse_file): New prototype.
3750         (finish_file): Move prototype from c-tree.h.
3751         * c-decl.c: Include <hashtab.h>.
3752         (builtin_decls): New.
3753         (current_file_decl): New.
3754         (duplicate_decls): Add extra parameter. Change all callers.  Don't
3755         output duplicate common symbols.
3756         (link_hash_hash): New.
3757         (link_hash_eq): New.
3758         (poplevel): Handle popping of the top level.
3759         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
3760         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
3761         (pushdecl_top_level): Likewise.
3762         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
3763         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
3764         (finish_decl): Handle TRANSLATION_UNIT_DECL.
3765         (merge_translation_unit_decls): New.
3766         (c_write_global_declarations): New.
3767         (c_reset_state): New.
3768         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
3769         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
3770         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
3771         TRANSLATION_UNIT_DECL.
3772         (c_objc_common_finish_file): Call merge_translation_unit_decls.
3773         * c-opts.c (in_fnames): Rename from in_fname.
3774         (c_common_decode_option): Handle multiple input filenames.
3775         (c_common_post_options): Likewise.
3776         (c_common_parse_file): Likewise; also, call c_parse_file rather than
3777         yyparse.
3778         * c-parse.in: Move cleanup code to c_parse_file.
3779         (free_parser_stacks): Move contents to c_parse_file.
3780         (c_parse_file): New.
3781         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
3782         for integer types.
3783         (C_DECL_FILE_SCOPE): New.
3784         (finish_file): Move prototype to c-common.h.
3785         (merge_translation_unit_decls): New prototype.
3786         (comptypes): Add extra parameter to prototype.
3787         (c_write_global_declarations): New prototype.
3788         * c-typeck.c (tagged_types_tu_compatible_p): New.
3789         (function_types_compatible_p): Add extra parameter, change all callers.
3790         (type_lists_compatible_p): Likewise.
3791         (comptypes): Likewise.
3792         (struct tagged_tu_seen): New.
3793         (tagged_tu_seen_base): New.
3794         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
3795         (c_mark_addressable): Remove #if 0 code.
3796         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
3797         comment explaining why it shouldn't have to.
3798         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
3799         options.
3800         * cppinit.c (cpp_read_next_file): New.
3801         (cpp_read_main_file): Use it.
3802         * cpplib.c (undefine_macros): New.
3803         (cpp_undef_all): New.
3804         * cpplib.h (cpp_read_next_file): Prototype.
3805         (cpp_undef_all): Prototype.
3806         * langhooks-def.h (write_global_declarations): Remove prototype.
3807         * toplev.h (write_global_declarations): Add prototype.
3808         * tree.c (decl_type_context): Use switch statement, handle
3809         TRANSLATION_UNIT_DECL.
3810         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
3811         (TRANSLATION_UNIT_DECL): New kind of tree.
3812         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
3813         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
3814         * doc/invoke.texi: Make attempt to document new functionality.
3815
3816         2003-05-19  Per Bothner <bothner@apple.com>
3817
3818         * gcc.c (combine_inputs): New.
3819         (process_command): Set combine_inputs.
3820         (do_spec_1): Handle combine_inputs.
3821         (main): Likewise.
3822
3823 2003-07-10  James E Wilson  <wilson@tuliptree.org>
3824
3825         PR optimization/9745
3826         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
3827         loop_insn_emit_before.
3828         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
3829
3830 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3831
3832         * cppcharset.c: Fix comment.
3833         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
3834         (EILSEQ): #define to EINVAL if not already defined.
3835         (convert_using_iconv): #if out when !HAVE_ICONV.
3836         (init_iconv_desc): Handle !HAVE_ICONV here...
3837         (cpp_init_iconv): ...not here.
3838
3839 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
3840
3841         * common.opt: More --help messages.
3842         * opts.c (print_help): Use puts().
3843         * toplev.c (f_options): Remove help text.
3844         (display_help): Don't dump f_options.
3845
3846 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
3847
3848         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
3849         Move i?86-*-interix* to the don't-fix list.
3850         * fixinc/fixinc.interix: Delete with extreme prejudice.
3851
3852 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
3853
3854         PR bootstrap/10758
3855         * doc/install.texi: Document requirements for ia64-*-hpux* target.
3856
3857 2003-07-10  Roger Sayle  <roger@eyesopen.com>
3858
3859         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
3860
3861 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3862
3863         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
3864         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
3865         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
3866         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
3867         convert_no_conversion, convert_using_iconv): New functions.
3868         (APPLY_CONVERSION): New macro.
3869         (struct conversion, conversion_tab): New data structure.
3870         (init_iconv_desc): Check conversion_tab for a custom conversion
3871         primitive before trying to use iconv.
3872         (convert_cset): Deleted.
3873         (cpp_init_iconv): Use UTF- terminology, not UCS-.
3874         (_cpp_destroy_iconv): Update to match.
3875         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
3876         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
3877         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
3878         (_cpp_interpret_string_notranslate): New function, moved here
3879         from cpplib.c.
3880
3881         * cpphash.h (convert_f, struct cset_converter): New types.
3882         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
3883         are now struct cset_converter, not bare iconv_t.
3884         Update prototypes.
3885         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
3886         all callers changed.
3887
3888 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
3889
3890         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
3891         to opts.sh command line.
3892         * opts.sh: Write to temporary files with a move-if-change at the end.
3893
3894 2003-07-10  Denis Chertykov  <denisc@overta.ru>
3895             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3896
3897         * combine.c (gen_binary): Handle the CLOBBER rtx and
3898         don't build a binary operation with it.
3899
3900 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3901
3902         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
3903         store_killed_after, store_killed_before): Keep track of the correct
3904         dependency function to use.
3905
3906 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
3907         * toplev.c (do_compile): Don't try to open dump files before
3908         lang_dependent_init initializes dump_base_name.
3909
3910 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3911
3912         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
3913         Use ARRAY_SIZE.
3914         * config/frv/frv.c (frv_expand_builtin): Likewise.
3915         * config/sh/sh.c (sh_media_init_builtins): Likewise.
3916
3917 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
3918
3919         PR c++/10032
3920         * doc/invoke.texi (C++ Dialect Options): Change documentation of
3921         -fpermissive.
3922
3923 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
3924
3925         * tm.texi (RETURN_ADDR_OFFSET): Document.
3926
3927 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
3928
3929         * gcov-io.h: Update documentation.
3930         (GCOV_UNSIGNED2STRING): New.
3931         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3932         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3933         GCOV_TAG_SUMMARY_LENGTH): Adjust.
3934         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
3935         GCOV_TAG_COUNTER_NUM): New.
3936         (GCOV_BLOCK_SIZE): Number of words.
3937         (gcov_var): Adjust buffer type.
3938         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
3939         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
3940         count, not byte count.
3941         (gcov_open): Adjust overread init.
3942         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
3943         gcov_write_string, gcov_write_tag, gcov_write_length,
3944         gcov_write_tag_length): Adjust.
3945         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
3946         (gcov_sync, gcov_seek): Adjust.
3947         * gcov-dump.c (print_usage): Show gcc version only.
3948         (dump_file): Use GCOV_UNSIGNED2STRING.
3949         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
3950         * gcov.c (print_version): Show gcc version only.
3951         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
3952         GCOV_TAG_*_NUM macros.
3953         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
3954         GCOV_TAG_COUNTER_LENGTH.
3955         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
3956         Use GCOV_TAG_COUNTER_NUM.
3957         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
3958         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
3959
3960 2003-07-10  Andreas Schwab  <schwab@suse.de>
3961
3962         * gcov-dump.c (dump_file): Fix missing address operator.
3963
3964 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3965
3966         PR c/11449
3967         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
3968         of HOST_WIDE_INT.
3969         (fold_single_bit_test): If sign_bit_p() fails, assume that the
3970         bit being tested is not a sign bit.
3971
3972 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3973
3974         * config/h8300/h8300.md (a peephole2): New.
3975
3976 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
3977
3978         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
3979         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
3980         from ld-linux.so.2 to ld.so.1.
3981         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
3982         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
3983         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
3984         nor -Wl,-rpath-link.
3985         (LIB_SPEC): Add -rpath-link if !static.
3986         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
3987         * config/mn10300/mn10300.c (mn10300_protect_label): New
3988         variable.
3989         * config/mn10300/linux.h (PRINT_OPERAND,
3990         PRINT_OPERAND_ADDRESS): Set it during their execution.
3991         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
3992         mn10300_protect_label is set.
3993         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
3994         -Wl,-rpath-link.
3995         (LIB_SPEC, STARTFILE_SPEC): Define.
3996         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3997         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
3998         FLOAT_BIT_ORDER_MISMATCH.
3999         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
4000         * config.gcc (am33_2.0-*-linux*): Added.
4001         * config/mn10300/linux.h: New.
4002         * config/mn10300/t-linux: New.
4003
4004 2003-07-10  Andreas Jaeger  <aj@suse.de>
4005
4006         * fold-const.c: Properly wrap prototypes.
4007
4008 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
4009
4010         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
4011         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
4012         Moved from...
4013         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
4014         * config/mn10300/mn10300.h: GTY-declare it.
4015         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
4016         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
4017         prototype.  Use incoming RTL argument.
4018         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4019         * config/mn10300/mn10300.md (int_label): Move C statements...
4020         (GOTaddr2picreg): ... here.
4021         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
4022         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
4023         * config/mn10300/mn10300.c (mn10300_encode_section_info):
4024         ... here.  New function.
4025         (TARGET_ENCODE_SECTION_INFO): Define to it.
4026         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
4027         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
4028         pattern name.
4029         (mn10300_loadPC): Define as insn splittable after reload.
4030         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
4031         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
4032         be defined in .rodata even in PIC, now that the assembler
4033         supports that.
4034         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
4035         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
4036         symbol take an underscore prefix.
4037         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4038         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
4039         legitimize_pic_address): Declare.
4040         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
4041         the PIC register as fixed.
4042         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
4043         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
4044         PIC.
4045         (LEGITIMATE_PIC_OPERAND_P): Define.
4046         (PIC_OFFSET_TABLE_REGNUM): Define.
4047         (GOT_SYMBOL_NAME): Define.
4048         (SYMBOLIC_CONST_P): Define.
4049         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
4050         symbols.
4051         (MN10300_GLOBAL_P): Test it.
4052         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
4053         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
4054         * config/mn10300/mn10300.c (print_operand): Handle unspec.
4055         (expand_prologue): Set PIC register.
4056         (call_address_operand): Don't match SYMBOL_REFs in PIC.
4057         (legitimize_address): Call legitimize_pic_address.
4058         (legitimize_pic_address): New fn.
4059         (legitimate_pic_operand_p): New fn.
4060         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
4061         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
4062         UNSPEC_PLT): New constants.
4063         (pop_pic_reg): New insn.
4064         (movsi): Adjust non-PIC addresses.
4065         (builtin_setjmp_receiver): Restore the PIC register.
4066         (casesi): New insn.
4067         (call): Adjust non-PIC addresses.
4068         (int_label, GOTaddr2picreg): New expands.
4069         (am33_loadPC): New insn.
4070         (mn10300_loadPC): New expand.
4071         (call_next_insn): New insn.
4072         (add_GOT_to_pic_reg): New expand.
4073         (symGOT2reg, symGOT2reg_i): New expands.
4074         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
4075         (sym2PIC, sym2PLT): New expands.
4076
4077 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
4078
4079         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
4080         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
4081         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
4082         to flag_unsafe_math_optimizations.
4083         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4084         * config/mn10300/mn10300.c (expand_prologue): Mark
4085         FP-register-saving insns as frame-related.
4086         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
4087         * config/mn10300/mn10300.c
4088         (mn10300_get_live_callee_saved_regs): Don't search past
4089         LAST_EXTENDED_REGNUM.
4090         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
4091         * config/mn10300/mn10300.md: Remove excessive line breaks from
4092         `@' output patterns that were accounted as additional
4093         alternatives.
4094         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
4095         Re-introduce changes accidentally removed in Richard Sandiford's
4096         2000-12-05's patch.
4097         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
4098         Re-instate am33-2 lost in merge from net GCC.
4099         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
4100         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
4101         floating-point registers.
4102         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
4103         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
4104         pessimizations that had gone in on 2000-05-08.
4105         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
4106         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
4107         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
4108         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
4109         operand 0.
4110         * (movhi): Likewise.
4111         * (movsi): Likewise.
4112         * (movsf): Likewise.
4113         * (movdi): Likewise.
4114         * (movdf): Likewise.
4115         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
4116         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
4117         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
4118         (expand_prologue, expand_epilogue): Save and restore FP regs.
4119         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
4120         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
4121         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
4122         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
4123         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
4124         Do not clobber cc0.
4125         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
4126         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
4127         Discourage the two-argument, longer opcodes.
4128         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
4129         ones.
4130         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
4131         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
4132         * config/mn10300/mn10300.md (cmpsf): New pattern.
4133         (branch): Test mdep.fpCC and output fbCC.
4134         * config/mn10300/mn10300.c (print_operand): Output conditions.
4135         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
4136         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
4137         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
4138         mulsf3, divsf3): Use the `F' constraint for FP values.
4139         * config/mn10300/mn10300.c (const_1f_operand): New function.
4140         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
4141         * config/mn10300/mn10300.md (sqrtsf2): New expand.
4142         (rsqrtsf2): New insn.
4143         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
4144         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
4145         previous check-in.
4146         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
4147         * config/mn10300/mn10300.md (abssf2, negdf2): On
4148         TARGET_AM33_2, expand to...
4149         (abssf2_am33_2, negdf2_am33_2): New insns.
4150         (addsf3, subsf3, mulsf3, divsf3): Likewise.
4151         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
4152         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
4153         movdi, movdf): Added FP regs.
4154         * invoke.texi (-mam33-2, -mno-am33-2): Document.
4155         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
4156         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
4157         New macros.
4158         (REGNO_AM33_2_FP_P): Renamed to...
4159         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
4160         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
4161         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
4162         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
4163         regs from GENERAL_REGS.
4164         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
4165         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
4166         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
4167         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
4168         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
4169         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
4170         as FP_REGS.
4171         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
4172         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
4173         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
4174         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
4175         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
4176         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
4177         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
4178         AM33/2.0 floating-point registers.
4179         (CONDITIONAL_REGISTER_USAGE): Adjust.
4180         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
4181         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
4182         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
4183         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
4184         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
4185         (MULTILIB_DIRNAMES): Likewise.
4186         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
4187         `__AM33_2__' when `-mam33-2' is given.
4188         (TARGET_AM33_2): Define.
4189         (TARGET_SWITCHES): Adjust.
4190         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
4191         when appropriate.
4192
4193 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
4194
4195         * doc/install.texi: Add missing @.
4196
4197 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
4198
4199         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
4200
4201 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
4202
4203         PR/11144
4204         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
4205
4206 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
4207
4208         PR bootstrap/11043
4209         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
4210         "x-crtfini.o" with "crtinit.o", "crtfini.o".
4211
4212         * fixinc/inclhack.def (limits_ifndefs): Add select test.
4213         * fixinc/fixincl.x: Rebuild.
4214
4215         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
4216         * fixinc/fixincl.x: Rebuild.
4217
4218 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
4219
4220         * doc/install.texi (Configuration): Document the valgrind option
4221         to --enable-checking.
4222
4223 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
4224
4225         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
4226
4227 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4228
4229         * c-lex.c (cb_ident): Cast cstr.text to const char *.
4230
4231 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
4232
4233         * gcov-io.h: Update documentation.
4234         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
4235         GCOV_NOTE_MAGIC.
4236         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
4237         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
4238         (struct gcov_var): Change buffer's type. Add endian flag.
4239         (gcov_open): Remove mode in libgcov.
4240         (gcov_magic): Prototype.
4241         * gcov-io.c (from_file): New.
4242         (gcov_open): Clear endian flag.
4243         (gcov_magic): New.
4244         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
4245         pointers.
4246         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
4247         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
4248         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
4249         * gcov-iov.c (main): Correct cast.
4250         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
4251         conversion.
4252         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
4253         (coverage_init): Use GCOV_NOTE_SUFFIX.
4254         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
4255         Rename to gcov_version, and return flag.
4256         (gcov_exit): Use gcov_version.
4257         (__gcov_init): Use gcov_version.
4258         * Makefile.in (coverageexts): Update.
4259         * gcov.c (print_version): Remove endianness conversion.
4260         (create_file_names): Use GCOV_NOTE_SUFFIX.
4261         (read_graph_file): Use gcov_magic.
4262         (read_count_file): Likewise.
4263         * gcov-dump.c (dump_file): Remove endianness conversion, use
4264         gcov_magic.
4265
4266 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
4267
4268         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
4269         coverage is on.
4270         * configure: Regenerated.
4271         * Makefile.in (ALL_CFLAGS): Correct its comment.
4272
4273 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
4274
4275         * fold-const.c (make_range): Do not access operand 1 for a
4276         zero-operand operator.
4277
4278 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
4279
4280         * toplev.c (warn_dummy, W_options): Die.
4281         (display_help): Don't print W_options.
4282         * common.opt: Add W_options help from toplev.c.
4283
4284 2003-07-09  Andreas Jaeger  <aj@suse.de>
4285
4286         * opts.c (wrap_help): Only pass int arguments as arguments to
4287         printf's '*' modifier.  Change argument of function.
4288
4289 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
4290
4291         * doc/invoke.texi: Fix misspelling of "@item".
4292
4293 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
4294
4295         * config/i386/i386.md: Remove an old comment about
4296         NOTICE_UPDATE_CC.
4297
4298 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
4299
4300         * cgraph.c (cgraph_node_name): New function.
4301         (dump_cgraph): Use it.
4302         * cgraph.h (cgraph_dump_file): Declare.
4303         (cgraph_node_name): Declare.
4304         * cgraphunit.c: Include timevar.h
4305         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
4306         (cgraph_optimize_function): Use TV_INTEGRATION.
4307         (cgraph_mark_local_functions): reorganize dumps.
4308         (cgraph_mark_functions_to_inline_once): Likewise.
4309         (cgraph_optimize): Likewise; use timevar.
4310         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
4311         * toplev.c (dump_file_index): Add DFI_cgraph.
4312         (dump_file_info): Likewise.
4313         (cgraph_dump_file): New global variable.
4314         (do_compile): Open and close cgraph dump.
4315         * invoke.texi (-d): Document new flag; renumber.
4316
4317 2003-07-08  Roger Sayle  <roger@eyesopen.com>
4318
4319         PR c/11370
4320         * calls.c (emit_call_1): Don't bother popping the arguments off of
4321         the stack after a noreturn function call;  The adjustment is dead.
4322         (expand_call): Likewise.
4323
4324 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
4325
4326         * expr.c (MOVE_MAX_PIECES): Move from here...
4327         * defaults.h (MOVE_MAX_PIECES): ... to here.
4328
4329 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
4330
4331         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
4332
4333 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4334
4335         * genattr.c (internal_dfa_insn_code): Don't prototype.
4336         * genattrtab.c (attr_desc): Add `static_p' field.
4337         (expand_units): Make blockage range and ready cost functions
4338         static.
4339         (write_attr_get): Don't add extern prototypes in C file.  Mark
4340         static functions as appropriate.
4341         (find_attr, make_internal_attr): Initialize static_p.
4342         * genattrtab.h (ATTR_STATIC): New macro.
4343         * genautomata.c (output_internal_reset_func): Mark output function
4344         as inline.
4345         (make_internal_dfa_insn_code_attr): Mark output function as static.
4346
4347 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4348
4349         * genattrtab.h: Add new macros for attr `special' flags.
4350         * genattrtab.c (attr_desc): Reorder/resize fields better.
4351         Use attr `special' macros in all calls to make_internal_attr.
4352         * genautomata.c: Likewise.
4353
4354 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
4355
4356         * c-common.c (c_estimate_num_insns_1): New static function.
4357         (c_estimate_num_insns): New global function.
4358         * c-common.h (DECL_NUM_STMTS): Rename to...
4359         (DECL_ESTIMATED_INSNS): ... this.
4360         (c_estimate_num_insns): Declare.
4361         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
4362         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
4363         * c-semantics.c (add_stmt): Do not account statements.
4364         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
4365         New.
4366         * langhooks.h (lang_hooks_for_tree_inlining): Add
4367         estimate_num_insns
4368         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
4369         to 100.
4370         (max-inline-insns): set to 300.
4371         (min-inline-insns): set to 10.
4372         * tree-inline.c (struct inline_data): Rename inlined_stmts to
4373         inlined-insns.
4374         (INSNS_PER_STMT): Kill.
4375         (inlinable_function_p): Compute and store body size.
4376         (expand_call_inline): Likewise.
4377         (optimize_inline_calls): Likewise.
4378
4379 2003-07-08  James E Wilson  <wilson@tuliptree.org>
4380
4381         PR target/10021
4382         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
4383         loop over new variable t2 instead of t.
4384
4385 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
4386
4387         PR bootstrap/11455
4388         * config/i386/winnt.c: Replace use of error(), warning() with
4389         error_with_decl(), warning_with_decl(),  throughout.
4390
4391 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
4392
4393         * opts.c (wrap_help): Use unsigned int, not size_t.
4394
4395 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
4396
4397         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
4398         as .file/.loc directives are incompatible with linker relaxation.
4399
4400 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
4401
4402         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
4403         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
4404         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
4405         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
4406         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
4407         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
4408         Escape { and } characters which are not part of range expressions.
4409         * fixinc/fixincl.x: Regenerate.
4410         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
4411
4412 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
4413
4414         PR c/1687
4415         * tree-inline.c (find_alloca_call): Use
4416         walk_tree_without_duplicates, instead of walk_tree.
4417         (find_builtin_longjmp_call): Likewise.
4418         * c-objc-common.c (c_cannot_inline_fn): Likewise.
4419         * c-semantics.c (find_reachable_label): Likewise.
4420
4421 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
4422
4423         PR c/11420
4424         * config/i386/i386.c (ix86_check_movabs): New function.
4425         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
4426         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
4427         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
4428
4429 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
4430
4431         * Makefile.in (install-po): Cope with empty CATALOGS.
4432
4433 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
4434
4435         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4436         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
4437         (SECTION_FUNCTION_TEMPLATE): Delete.
4438         * config/mips/elf.h: As for elf64.h.
4439         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
4440         * config/mips/linux.h: As for elf.h
4441         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4442         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
4443         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
4444         of in_sdata from current_section_name and current_section_flags.
4445         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
4446         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
4447         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
4448         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
4449         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
4450         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
4451         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
4452         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
4453         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
4454         (override_options): Remove setting of MASK_GPOPT.
4455         (mips_output_external): Use mips_in_small_data_p to check whether a
4456         symbol needs an .extern directive.  Don't emit such directives for
4457         TARGET_EXPLICIT_RELOCS.
4458         (mips_declare_object): Update accordingly.
4459         (mips_select_rtx_section): Call named_section rather than
4460         SMALL_DATA_SECTION.
4461         (mips_select_section): Use default_elf_section_section for everything
4462         except .text string constants.
4463         (mips_in_small_data_p): New function.
4464         (mips_encode_section_info): Remove small data handling.
4465         (mips_unique_section): Delete.
4466         (iris6_section_type_flags): New function.
4467         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
4468
4469 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4470
4471         PR Target/11453
4472         * pa.md: Disparage all mtsar constraints.
4473         (extzv, extv, insv): Don't fail on length of {32|64}.
4474
4475 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
4476
4477         * system.h: Poison MAP_CHARACTER.
4478         * config/i370/i370-protos.h (mvs_map_char): Delete.
4479         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
4480         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
4481         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
4482
4483 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
4484
4485         * toplev.c (randomize): Correct call to time().
4486
4487 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
4488
4489         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
4490         REG_EQUIV notes as well.
4491
4492 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
4493
4494         * doc/md.texi: Fix the description of addmodecc.
4495
4496 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
4497
4498         * Makefile.in (top_builddir): Set to "..", not ".".
4499         (INTLLIBS, INTLDEPS): Delete.
4500         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
4501         (LIBDEPS): Add $(LIBICONV_DEP).
4502         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
4503         (INCLUDES): Replace -I../intl with @INCINTL@.
4504         ($(top_builddir)/intl/libintl.a): Delete rule.
4505         (stage2-start, stage3-start, stage4-start, stageprofile-start,
4506         stagefeedback-start): Use $$ for variable to be evaluated by
4507         shell, not make.
4508         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
4509         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
4510         * aclocal.m4: sinclude ../config/progtest.m4.  Add
4511         contents of lcmessage.m4 from gettext distro.
4512         * configure.in: Check for wchar.h and setlocale.  Set
4513         LIBICONV_DEP to the empty string and substitute it.
4514         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
4515         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
4516         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
4517         in $LIBINTL, to avoid linking it twice.
4518         * configure, config.in: Regenerate.
4519
4520 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4521
4522         * fixinc/mkfixinc.sh: Remove winnt support.
4523         * fixinc/fixinc.winnt: Delete with extreme prejudice.
4524
4525 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
4526
4527         * Makefile.in: Update.
4528         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
4529         * c.opt: Update documentation.
4530         * common.opt: Add some help text.
4531         * opts.c: Include intl.h.
4532         (wrap_help, print_help): New.
4533         (find_opt, handle_option, common_handle_option): opt_text now
4534         contains the '-'.  Use print_help to output help.
4535         * opts.h (struct cl_option): New member "help".
4536         * opts.sh: Update to handle help text output and to prepend
4537         options with '-'.
4538         * toplev.c (display_help): Remove some help text.
4539
4540 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
4541             Fariborz Jahanian  <fjahanian@apple.com>
4542
4543         * configure.in: Test for PowerPC mfcr field support in assembler.
4544         * config.in, configure: Regenderated.
4545
4546         * config/rs6000/power4.md: Add mfcrf reservation.
4547         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
4548         * config/rs6000/rs6000.c (mfcr_operation): Define.
4549         (print_operand): Add 'Q' case for mfcrf.
4550         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
4551         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
4552         (movcc_internal1): Emit optional field operand for mfcr and set
4553         "type" attribute appropriately.
4554         (mfcr SCC): Likewise.
4555         (movesi_from_cr_one): New.
4556
4557 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4558
4559         * config/i386/i386.md: Correct check-in of incorrect version.
4560
4561 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4562
4563         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
4564         adjacent stdio calls.
4565         * c-decl.c (c_print_identifier): Likewise.
4566         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
4567         * print-rtl.c (print_rtx): Likewise.
4568         * print-tree.c (print_node_brief, print_node): Likewise.
4569         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
4570
4571         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
4572         * config.in, configure: Regenerated.
4573
4574 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4575
4576         PR target/10979
4577         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
4578         Changed to define_expand patterns that copy operand[1] to prevent
4579         it from being clobbered before emitting an atan2?f3_1 insn.
4580         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
4581         patterns that actually specify the behaviour of x87's FPATAN.
4582
4583 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
4584
4585         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
4586         clearing of SYMBOL_FLAG_LOCAL bit.
4587         If vcall_offset fits into signed 16-bit immediate, use
4588         one instruction for both addition and load.
4589
4590 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
4591
4592         * opts.c (common_handle_option): Correct handling of the
4593         -falign- switches that do and don't take an argument.
4594
4595 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4596
4597         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
4598         today.
4599         (pushhi1_h8300hs): Likewise.
4600
4601 2003-07-07  Andreas Jaeger  <aj@suse.de>
4602
4603         * genextract.c: Convert remaining prototypes to ISO C90.
4604
4605         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
4606         * fold-const.c (fold_single_bit_test): Likewise.
4607         * diagnostic.c (default_diagnostic_finalizer): Likewise.
4608         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
4609
4610         * gengtype.c (write_array): Generate ISO C90 prototypes.
4611
4612         * genflags.c (gen_proto): Generate ISO C90 prototypes.
4613
4614 2003-07-07  Roger Sayle  <roger@eyesopen.com>
4615
4616         PR optimization/11059
4617         * expr.c (can_store_by_pieces): Return true if length is zero.
4618         (store_by_pieces): If length is zero and endp is two, abort,
4619         othwerise, if length is zero and endp is not two, return "to".
4620         (clear_by_pieces): Do nothing if length is zero.
4621         (clear_storage): Do nothing if length is zero.
4622         (store_constructor): Simplify code when size is zero, or the
4623         target has already been cleared.  This avoids emitting a
4624         blockage instruction when initializing empty structures.
4625
4626 2003-07-07  Andreas Jaeger  <aj@suse.de>
4627
4628         * mips-tfile.c: Convert prototypes to ISO C90.
4629         * mips-tdump.c: Convert prototypes to ISO C90.
4630
4631 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
4632
4633         * rtl.h (emit_line_note): Take a location_t.
4634         (emit_line_note_force): Remove.
4635         (set_file_and_line_for_statement): Take a location_t.
4636         * tree.g (emit_line_note): Take a location_t.
4637         * emit-rtl.c (emit_line_note): Take a location_t.
4638         (emit_line_note_force): Remove.
4639         * function.c (init_function_start): Adjust emit_line_note call.
4640         (expand_function_end): Use force_next_line_note, not
4641         emit_line_note_force.
4642         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
4643         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
4644         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
4645         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
4646         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
4647         genrtl_continue_stmt, genrtl_switch_stmt,
4648         genrtl_asm_stmt): Likewise.
4649         * expr.c (expand_expr): Likewise.
4650         * integrate.c (expand_inline_function): Likewise.
4651         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
4652         (expand_decl_init): Adjust emit_line_note call.
4653
4654 2003-07-07  Dale Johannesen  <dalej@apple.com>
4655
4656         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
4657
4658 2003-07-07  Andreas Jaeger  <aj@suse.de>
4659
4660         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
4661         * config/i386/i386.c: Likewise.
4662
4663 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4664
4665         * config/h8300/h8300.md: Use gen_int_mode instead of
4666         GEN_INT (trunc_int_for_mode (...)).
4667
4668 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
4669
4670         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
4671         2 bytes and then subtract 2 from the stack pointer.
4672         (pushhi1_h8300hs): Likewise.
4673
4674 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
4675
4676         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
4677         -frandom-seed.
4678         * configure: Regenerated.
4679         * Makefile.in: Remove extraneous comment.
4680         * toplev.c (randomize): Protect against potential multiple calls.
4681         * doc/invoke.texi (-frandom-seed): Document use for in coverage
4682         files.
4683
4684 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4685             Eric Botcazou  <ebotcazou@libertysurf.fr>
4686
4687         PR optimization/11198
4688         * alias.c (objects_must_conflict_p): Return 1 if the types have
4689         the same alias set, not if the alias sets only conflict.
4690
4691 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
4692
4693         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
4694         (convert_cset): Change inbuf to type ICONV_CONST char.
4695         * Makefile.in (LIBS): Add LIBICONV.
4696
4697         * doc/invoke.texi (-falign-functions): Document that
4698         when n is zero then a machine-dependent default is used.
4699         (-falign-labels): Document that when n is zero then a
4700         machine-dependent default is used and that -falign-labels =1
4701         is equivalent to -fno-align-labels.
4702         (-falign-loops): Likewise.
4703         (-falign-jumps): Likewise.
4704
4705 2003-07-06  Art Haas  <ahaas@airmail.net>
4706
4707         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
4708         initializer syntax.
4709
4710 2003-07-06  James E Wilson  <wilson@tuliptree.org>
4711
4712         PR optimization/9812
4713         * rtl.h (mem_for_const_double): Delete prototype.
4714         * varasm.c (mem_for_const_double): Delete function.
4715         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
4716         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
4717         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
4718         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
4719         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
4720         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
4721         comment about confused support for XFmode constants.
4722
4723 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
4724
4725         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
4726
4727 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
4728
4729         * config/h8300/h8300.c: Fix comment typos.
4730         * config/h8300/h8300.md: Likewise.
4731         * config/i386/athlon.md: Likewise.
4732         * config/i386/i386.c: Likewise.
4733         * config/i386/pentium.md: Likewise.
4734         * config/ia64/ia64.c: Likewise.
4735         * config/ia64/itanium1.md: Likewise.
4736         * config/ia64/itanium2.md: Likewise.
4737         * config/m32r/m32r.md: Likewise.
4738         * config/m68hc11/m68hc11.c: Likewise.
4739         * config/mcore/mcore.c: Likewise.
4740         * config/mips/sr71k.md: Likewise.
4741         * config/mips/t-iris5-as: Likewise.
4742         * config/mmix/mmix.h: Likewise.
4743         * config/ns32k/ns32k.h: Likewise.
4744         * config/ns32k/NOTES: Fix a typo.
4745
4746 2003-07-06  Andreas Jaeger  <aj@suse.de>
4747
4748         * stmt.c: Convert remaining prototypes to ISO C90.
4749         * cfglayout.c: Likewise.
4750         * dbxout.c: Likewise.
4751         * gcc.c: Likewise.
4752         * genemit.c: Likewise.
4753
4754         * basic-block.h: Convert prototypes to ISO C90.
4755         * c-parse.in: Likewise.
4756         * c-pragma.h: Likewise.
4757         * c-typeck.c: Likewise.
4758         * cfghooks.h: Likewise.
4759         * cfgloopanal.c: Likewise.
4760         * dbxout.h: Likewise.
4761         * debug.h: Likewise.
4762         * dwarf2asm.h: Likewise.
4763         * gcov.c: Likewise.
4764         * gengtype-lex.l: Likewise.
4765         * sched-int.h: Likewise.
4766         * timevar.c: Likewise.
4767
4768 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
4769
4770         * c-common.h (c_comon_handle_filename,
4771         c_common_missing_arguement): New.
4772         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
4773         LANG_HOOKS_MISSING_ARGUMENT): New.
4774         * c-opts.c (missing_arg): Rename c_common_missing_argument,
4775         update to be an appropriate langhook.
4776         (c_common_handle_option): Don't handle filenames.
4777         (c_common_handle_filename): New.
4778         * hooks.c (hook_void_constcharptr,
4779         hook_bool_constcharptr_size_t_false): New.
4780         * hooks.h (hook_void_constcharptr,
4781         hook_bool_constcharptr_size_t_false): New.
4782         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
4783         LANG_HOOKS_MISSING_ARGUMENT): New.
4784         (LANG_HOOKS_INITIALIZER): Update.
4785         * langhooks.h (struct lang_hooks): Add handle_filename and
4786         missing_argument.
4787         * opts.c (handle_option): Don't handle filenames here, but ...
4788         (handle_options): ... here.
4789         (common_handle_option): Don't handle missing arguments here.
4790         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
4791         LANG_HOOKS_MISSING_ARGUMENT): New.
4792
4793 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
4794
4795         * Makfile.in: Remove traces of mbchar.
4796         * c-parse.in (MULTIBYTE_CHARS): Remove.
4797         * config.in (MULTIBYTE_CHARS): Remove.
4798         * configure: Remove --enable-mbchar.
4799         * configure.in: Remove --enable-mbchar.
4800         * mbchar.c, mbchar.h: Remove.
4801         * system.h: Poison MULTIBYTE_CHARS.
4802         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
4803         * config/linux.h (MULTIBYTE_CHARS): Remove.
4804         * config/svr4.h (MULTIBYTE_CHARS): Remove.
4805         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
4806
4807 2003-07-06  Andreas Jaeger  <aj@suse.de>
4808
4809         * varray.c (varray_check_failed): Fix typo.
4810
4811         * unroll.c: Convert prototypes to ISO C90.
4812         * varasm.c: Likewise.
4813         * varray.c: Likewise.
4814         * varray.h: Likewise.
4815         * vmsdbgout.c: Likewise.
4816         * xcoffout.c: Likewise.
4817         * xcoffout.h: Likewise.
4818
4819 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4820
4821         * gcov-io.h: Add a local time stamp.
4822         (struct gcov_info): Add stamp field.
4823         (gcov_truncate): New.
4824         * coverage.c (read_counts_file): Skip the stamp.
4825         (coverage_begin_output): Write the stamp.
4826         (build_gcov_info): Declare and init the stamp.
4827         (coverage_finish): Only unlink data file, if stamp is zero.
4828         * gcov-dump.c (dump_file): Dump the stamp.
4829         * gcov.c (bbg_stamp): New.
4830         (release_structures): Clear bbg_stamp.
4831         (read_graph_file): Read stamp.
4832         (read_count_file): Check stamp.
4833         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
4834
4835 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4836
4837         * tree.h (default_flag_random_seed): Remove.
4838         * toplev.h (local_tick): Declare.
4839         * tree.c (flag_random_seed, default_flag_random_seed): Move to
4840         toplev.c.
4841         (append_random_chars): Don't call default_flag_random_seed.
4842         * toplev.c (flag_random_seed): Define here. Set local_tick.
4843         (local_tick): Define.
4844         (randomize): New, moved from tree.c.
4845         (print_switch_values): Adjust.
4846         (toplev_main): Call randomize.
4847
4848 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
4849
4850         * tree.h (crc32_string): Declare.
4851         * tree.c (append_random_chars): Remove.
4852         (crc32_string): New.
4853         (get_file_function_name_long): Use crc32_string here.
4854
4855 2003-07-06  Andreas Jaeger  <aj@suse.de>
4856
4857         * gcc.c: Convert prototypes to ISO C90.
4858         * gcc.h: Likewise.
4859         * gcov-dump.c: Likewise.
4860         * gcov-iov.c: Likewise.
4861         * gcse.c: Likewise.
4862         * genattrtab.h: Likewise.
4863         * ggc.h: Likewise.
4864         * global.c: Likewise.
4865         * graph.c: Likewise.
4866         * graph.h: Likewise.
4867         * hosthooks.h: Likewise.
4868         * hooks.h: Likewise.
4869         * hooks.c: Likewise.
4870         * hashtable.h: Likewise.
4871         * hashtable.c: Likewise.
4872         * haifa-sched.c: Likewise.
4873         * integrate.h: Likewise.
4874         * integrate.c: Likewise.
4875         * input.h: Likewise.
4876         * ifcvt.c: Likewise.
4877         * jump.c: Likewise.
4878         * langhooks-def.h: Likewise.  Add extern to prototypes.
4879         * langhooks.c: Likewise.
4880         * langhooks.h: Likewise.
4881         * lcm.c: Likewise.
4882         * local-alloc.c: Likewise.
4883         * loop-init.c: Likewise.
4884         * loop-unroll.c: Likewise.
4885         * loop-unswitch.c: Likewise.
4886         * loop.c: Likewise.
4887         * loop.h: Likewise. Add extern to prototypes.
4888         * machmode.h: Likewise.
4889         * main.c: Likewise.
4890         * mbchar.c: Likewise.
4891         * mbchar.h: Likewise.
4892         * mkdeps.c: Likewise.
4893         * mkdeps.h: Likewise.
4894         * optabs.c: Likewise.
4895         * optabs.h: Likewise.
4896         * output.h: Likewise.
4897         * gccspec.c: Likwise.
4898         * postreload.c: Likewise.
4899         * prefix.c: Likewise.
4900         * prefix.h: Likewise.
4901         * print-rtl.c: Likewise.
4902         * print-tree.c: Likewise.
4903         * profile.c: Likewise.
4904         * read-rtl.c: Likewise.
4905         * real.c: Likewise.
4906         * real.h: Likewise.
4907         * recog.c: Likewise.
4908         * recog.h: Likewise.
4909         * reg-stack.c: Likewise.
4910         * regclass.c: Likewise.
4911         * regmove.c: Likewise.
4912         * regrename.c: Likewise.
4913         * regs.h: Likewise.
4914         * reload.c: Likewise.
4915         * reload.h: Likewise.
4916         * reload1.c: Likewise.
4917         * reorg.c: Likewise.
4918         * resource.c: Likewise.
4919         * resource.h: Likewise.
4920         * rtl-error.c: Likewise.
4921         * rtl.c: Likewise.
4922         * rtl.h: Likewise.
4923         * rtlanal.c: Likewise.
4924         * sbitmap.c: Likewise.
4925         * sbitmap.h: Likewise.
4926         * scan-decls.c: Likewise.
4927         * scan.c: Likewise.
4928         * sched-deps.c: Likewise.
4929         * sched-ebb.c: Likewise.
4930         * sched-int.h: Likewise.
4931         * sched-rgn.c: Likewise.
4932         * sched-vis.c: Likewise.
4933         * sibcall.c: Likewise.
4934         * simplify-rtx.c: Likewise.
4935         * sreal.c: Likewise.
4936         * sreal.h: Likewise.
4937         * ssa-ccp.c: Likewise.
4938         * ssa-dce.c: Likewise.
4939         * ssa.c: Likewise.
4940         * ssa.h: Likewise.
4941         * stack.h: Likewise.
4942         * stmt.c: Likewise.
4943         * stor-layout.c: Likewise.
4944         * stringpool.c: Likewise.
4945         * target.h: Likewise.
4946         * timevar.c: Likewise.
4947         * timevar.h: Likewise.
4948         * tlink.c: Likewise.
4949         * tracer.c: Likewise.
4950         * tree-inline.c: Likewise.
4951         * tree-inline.h: Likewise.
4952         * tree.c: Likewise.
4953         * tree.h: Likewise.
4954
4955 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4956
4957         * combine.c (nonzero_bits1): Fix a warning.
4958
4959 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4960
4961         * config/h8300/h8300.c (compute_mov_length): Correct the
4962         length of loading CONST0_RTX (SFmode).
4963
4964 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
4965
4966         * toplev.c (output_clean_symbol_name): Remove.
4967         * toplev.h (output_clean_symbol_name): Remove.
4968         * config/alpha/alpha.c (unicosmk_output_module_name): Use
4969         lbasename & clean_symbol_name.
4970
4971 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4972
4973         * ggc.h: Follow spelling conventions.
4974         * config/i386/i386.c: Likewise.
4975         * config/i386/winnt.c: Likewise.
4976         * config/rs6000/rs6000.c: Likewise.
4977
4978 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
4979
4980         * bt-load.c: Fix comment typos.
4981         * c-incpath.c: Likewise.
4982         * cfg.c: Likewise.
4983         * cfgcleanup.c: Likewise.
4984         * cfgloop.h: Likewise.
4985         * cfgloopmanip.c: Likewise.
4986         * cfgrtl.c: Likewise.
4987         * diagnostic.h: Likewise.
4988         * dwarfout.c: Likewise.
4989         * emit-rtl.c: Likewise.
4990         * et-forest.c: Likewise.
4991         * et-forest.h: Likewise.
4992         * expr.c: Likewise.
4993         * gcse.c: Likewise.
4994         * genattr.c: Likewise.
4995         * jump.c: Likewise.
4996         * langhooks.h: Likewise.
4997         * local-alloc.c: Likewise.
4998         * loop-unroll.c: Likewise.
4999         * loop-unswitch.c: Likewise.
5000         * ra-build.c: Likewise.
5001         * regclass.c: Likewise.
5002         * regmove.c: Likewise.
5003         * rtl.def: Likewise.
5004         * rtlanal.c: Likewise.
5005         * sched-ebb.c: Likewise.
5006         * sched-rgn.c: Likewise.
5007         * simplify-rtx.c: Likewise.
5008         * ssa.c: Likewise.
5009         * tracer.c: Likewise.
5010         * tree.c: Likewise.
5011
5012 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
5013
5014         * cppcharset.c: Use the correct return type for the fallback iconv
5015         macro.
5016
5017 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5018
5019         Blame to Jan Hubicka  <jh@suse.cz>
5020         * cfglayout.c (record_effective_endpoints): Split insns before
5021         first basic block correctly.
5022
5023 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5024
5025         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
5026         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
5027         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
5028
5029 2003-07-05  Andreas Jaeger  <aj@suse.de>
5030
5031         * genattrtab.c (write_attr_get): Revert part of last patch to
5032         always write out a prototype.
5033
5034         * genemit.c (gen_split): Readd lost unused attributes in last
5035         patch.
5036
5037 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5038
5039         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
5040         different from header.
5041
5042 2003-07-05  Andreas Schwab  <schwab@suse.de>
5043
5044         * config/m68k/m68k.c: Remove code protected by CRDS.
5045         * config/m68k/m68k.md: Likewise.
5046
5047 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
5048
5049         PR driver/11417
5050         * c-opts.c (permit_fortran_options): New.
5051         (c_common_init_options): Accept fortran front end options if
5052         it looks like we might be preprocessing Fortran.
5053         (c_common_handle_option): Don't reject switch if permit_fotran_options.
5054
5055 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5056
5057         * genattr.c (internal_dfa_insn_code): Output prototype.
5058         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
5059         * genautomata.c: Likewise.
5060         * genconditions.c: Likewise.
5061         * genemit.c: Likewise.
5062         * genextract.c: Likewise.
5063         * gengenrtl.c: Likewise.
5064         * gengtype.c: Likewise.
5065         * genopinit.c: Likewise.
5066         * genoutput.c: Likewise.
5067         * genpeep.c: Likewise.
5068         * genrecog.c: Likewise.
5069
5070 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
5071
5072         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
5073         (struct cpp_options): Add narrow_charset, wide_charset,
5074         bytes_big_endian fields.  Remove EBCDIC field.
5075         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
5076
5077         * cpphash.h: Include <iconv.h> if we have it, otherwise
5078         provide a dummy definition of iconv_t.
5079         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
5080         (_cpp_valid_ucn): Update prototype.
5081         (_cpp_destroy_iconv): New prototype.
5082
5083         * doc/cpp.texi: Document character set handling.
5084         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
5085         * doc/extend.texi: Delete entire section on multiline strings.
5086         Rewrite section on __FUNCTION__ etc now that these are
5087         variables in C.
5088
5089         * cppucnid.tab, cppucnid.pl: New files.
5090         * cppucnid.h: New generated file.
5091         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
5092         (iconv_open, iconv, iconv_close): Provide dummy definitions
5093         if !HAVE_ICONV.
5094         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
5095         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
5096         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
5097         cpp_interpret_string, narrow_str_to_charconst,
5098         wide_str_to_charconst): New.
5099         (ucn_valid_in_identifier): Use a binary search through the
5100         ucnranges table defined in cppucnid.h, not a long chain of if
5101         statements.
5102         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
5103         character names are only valid in C++ and C99" to a warning.
5104         Issue the "meaning of \[uU] is different in traditional C"
5105         warning here.  Take care not to let iconv see an invalid UCS
5106         value if we get a malformed UCN.  Issue an error if we don't
5107         have iconv.
5108         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
5109         cpp_interpret_string to do the heavy lifting.
5110
5111         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
5112         narrow_charset, wide_charset fields of options structure.
5113         (cpp_destroy): Call _cpp_destroy_iconv.
5114         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
5115         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
5116         (cpp_interpret_charconst): Moved to cppcharset.c.
5117         * cpplib.c (dequote_string): Delete.
5118         (interpret_string_notranslate): New.
5119         (do_line, do_linemarker): Use interpret_string_notranslate.
5120
5121         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
5122
5123         * c-common.c (fname_string, combine_strings): Delete.
5124         * c-common.h (fname_string, combine_strings): Delete prototypes.
5125         * c-lex.c (ignore_escape_flag): Delete.
5126         (cb_ident): Use cpp_interpret_string, not lex_string.
5127         (get_nonpadding_token): New function.
5128         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
5129         Adjust calls to lex_string.  Don't write *value twice.
5130         (lex_string): Now handles string constant concatenation.
5131         Most of the work handed off to cpp_interpret_string.
5132         Call fix_string_type here.
5133         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
5134         FUNC_NAME, throughout.
5135         (OBJC_STRING): New token type.
5136         (primary:STRING): No need to call fix_string_type here.
5137         (primary:objc_string): Make that OBJC_STRING.
5138         (objc_string nonterminal): Delete.
5139         (yylexname): Delete code to handle fake string constants.
5140         (yylexstring): Delete entirely.
5141         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
5142         to handle CPP_ATSIGN.
5143
5144         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
5145         * c-opts.c (missing_arg, c_common_handle_option): Handle
5146         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
5147         (c_common_init): Set cpp_opts->bytes_big_endian, not
5148         cpp_opts->EBCDIC.  Call cpp_init_iconv.
5149         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
5150         (TARGET_EBCDIC): Delete default definition.
5151
5152         * objc/objc-act.c (build_objc_string_object): No need to
5153         handle string constant concatenation.
5154
5155 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
5156
5157         * doc/install.texi: Fix typos.
5158         * doc/invoke.texi: Likewise.
5159         * doc/tm.texi: Likewise.
5160
5161 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
5162
5163         * config/pa/fptr.c: Fix comment typos.
5164         * config/pa/pa-64.h: Likewise.
5165         * config/pa/pa.c: Likewise.
5166         * config/pa/pa.h: Likewise.
5167         * config/rs6000/603.md: Likewise.
5168         * config/rs6000/7xx.md: Likewise.
5169         * config/rs6000/darwin.h: Likewise.
5170         * config/rs6000/freebsd.h: Likewise.
5171         * config/rs6000/rs6000.c: Likewise.
5172         * config/rs6000/rs6000.md: Likewise.
5173         * config/rs6000/spe.h: Likewise.
5174
5175 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
5176
5177         * config/s390/2064.md: Change GNU CC to GCC.
5178         * config/s390/2084.md: Likewise.
5179         * config/s390/fixdfdi.h: Likewise.
5180         * config/s390/linux.h: Likewise.
5181         * config/s390/s390-modes.def: Likewise.
5182         * config/s390/s390-protos.h: Likewise.
5183         * config/s390/s390.c: Likewise.
5184         * config/s390/s390.h: Likewise.
5185         * config/s390/s390.md: Likewise.
5186         * config/s390/s390x.h: Likewise.
5187
5188 2003-07-04  Jeff Law  <law@redhat.com>
5189
5190         PR c/11428
5191         * expr.c (do_store_flag): Pass in the correct result type
5192         when calling fold_single_bit_test.
5193         * fold-const.c (fold_single_bit_test): Use result_type for the
5194         result when folding a sign bit test.
5195
5196 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
5197
5198         * opts.c (common_handle_options): Negate sense of -falign- switches.
5199
5200 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
5201
5202         * Makefile.in: Replace PWD with PWD_COMMAND.
5203
5204 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5205
5206         * cfgloopanal.c (count_strange_loop_iterations): New static function.
5207         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
5208         Handle strange loops.
5209
5210 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
5211
5212         * install.texi: Even the g77 manpage is derived from
5213         the full g77 manual.
5214
5215 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
5216
5217         * ABOUT-NLS: Delete.
5218         * intl: Delete entire directory.
5219         * aclocal.m4: Include ../config/gettext.m4.  Delete
5220         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
5221         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
5222         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
5223         Remove intl/Makefile from all_outputs.
5224         * configure, config.in: Regenerate.
5225         * Makefile.in: Expunge all references to intl subdirectory.
5226         Add -I../intl to INCLUDES.
5227         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
5228
5229 2003-07-04  Roger Sayle  <roger@eyesopen.com>
5230
5231         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
5232         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
5233
5234 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
5235
5236         PR c++/5287, PR c++/7910, PR c++/11021
5237         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
5238         dllimport attribute if function is defined at declaration, but
5239         report error instead. Likewise for dllimport'd variable
5240         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
5241         declared within functions, Report error if dllimport or dllexport
5242         symbol is not global.
5243         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
5244         if defined after declaration or if inlined. Don't allow definition
5245         of static data members of C++ classes. Don't dllimport virtual
5246         methods.
5247         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
5248         (i386_pe_mark_dllimport): Remove unnecessary checks.
5249         (i386_pe_encode_section_info): Warn if the dllimport attribute
5250         and symbol prefix have been instantiated and then overridden.
5251
5252         * doc/extend.texi: Document dllimport and dllexport attributes.
5253
5254         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
5255
5256 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
5257
5258         * config/kaos.h (CPP_PREDEFINES): Delete.
5259         (TARGET_OS_CPP_BUILTINS): New.
5260
5261 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5262
5263         * c-aux-info.c: Include toplev.h after c-tree.h.
5264         * c-common.c: Likewise.
5265         (GCC_DIAG_STYLE): Undef.
5266         * c-semantics.c (GCC_DIAG_STYLE): Define.
5267         * c-tree.h (GCC_DIAG_STYLE): Likewise.
5268         * diagnostic.h (inform): Move prototype to toplev.h.
5269         * jump.c: Include diagnostic.h before toplev.h.
5270         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
5271         (warning, error, fatal_error, pedwarn, sorry, inform,
5272         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
5273
5274 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5275
5276         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
5277         at all if edge is not specified.
5278         (can_copy_bbs_p, copy_bbs): New.
5279         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
5280         * cfgloop.c (get_loop_body): Comment more precisely.
5281         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
5282         (scale_bbs_frequencies): Fix comment typo.
5283         (can_duplicate_loop_p): Use can_copy_bbs_p.
5284         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
5285
5286 2003-07-03  Devang Patel <dpatel@apple.com>
5287
5288         * c-opts.c (c_common_parse_file): Remove extra
5289         debug_hooks->start_source_file call.
5290
5291 2003-07-03  Roger Sayle  <roger@eyesopen.com>
5292
5293         * real.c (real_trunc, real_floor, real_ceil): New functions
5294         to implement trunc, floor and ceil respectively.
5295         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
5296         * builtins.c (integer_valued_real_p): New function to test if
5297         a floating point expression has an integer valued result.
5298         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
5299         foo(x) where foo is an integer rounding function.  Similarly,
5300         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
5301         (double)(int)x when both foo and bar are integer rounding
5302         functions and we don't need to honor errno.
5303         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
5304         New functions to fold trunc, floor and ceil.
5305         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
5306         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
5307         to fold BUILT_IN_CEIL*.
5308         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
5309         the remaining integer rounding functions.
5310
5311 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5312
5313         * config/sparc/sparc.c (function_arg_partial_nregs): Use
5314         SPARC_INT_ARG_MAX to determine where to split unnamed
5315         complex FP arguments.
5316
5317 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
5318
5319         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
5320         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
5321         (merge_blocks_move_predecessor_nojumps,
5322          merge_blocks_move_successor_nojumps): Use merge_blocks.
5323         (try_optimize_cfg): Use merge_blocks_move.
5324         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
5325         (merge_blocks_nomove): Rename to rtl_merge_blocks.
5326         (cfg_layout_create_basic_block): New.
5327         (rtl_can_merge_blocks): New.
5328         (cfg_layout_split_block): Do not alloc aux by hand.
5329         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
5330         merge_blocks.
5331         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
5332         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
5333         * cfgloopmanip.c (loop_split_edge_with): Likewise.
5334         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
5335
5336         * basic-block.h (basic_block_def): Add field 'rbi'.
5337         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
5338         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
5339         * cfg.c (entry_exit_blocks): Add new field.
5340         * cfglayout.c: Include alloc-pool.h;
5341         (cfg_layout_pool): New.
5342         (record_effective_endpoints, fixup_reorder_chain,
5343         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
5344         of rbi.
5345         (cfg_layout_initialize_rbi): New function.
5346         (cfg_layout_initialize): Use it.
5347         (cfg_layout_finalize): Clear rbi fields.
5348         * cfglayout.h (RBI): Kill.
5349         (cfg_layout_initialize_rbi): Declare.
5350         * cfgloopmanip.c (copy_bbs): Use rbi.
5351         (record_exit_edges): Likewise.
5352         (duplicate_loop_to_header_edge): Likewise.
5353         * cfgrtl.c (cfg_layout_create_basic_block): Use
5354         cfg_layout_initialize_rbi.
5355         (cfg_layout_split_block): Use rbi.
5356         (cfg_layout_delete_block): Likewise.
5357         * loop-init.c (loop_optimizer_finalize): Likewise.
5358         * loop-unswitch.c (unswitch_loop): Likewise.
5359         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
5360
5361         * cfgrtl.c: Update comments.
5362         (try_redirect_by_replacing_jump): New argument.
5363         (redirect_branch_edge): Break out from ...
5364         (rtl_redirect_edge_and_branch): ... this one.
5365         (update_cfg_after_block_merging): Break out from ...
5366         (rtl_merge_blocks): ... this one.
5367         (cfg_layout_split_edge): New.
5368         (cfg_layout_merge_blocks): New.
5369         (cfg_layout_can_merge_blocks_p): New.
5370         (cfg_layout_redirect_edge_and_branch): Reorganize.
5371         (cfg_layout_rtl_cfg_hooks): Fill in.
5372         (cfg_layout_delete_block): Kill barriers.
5373         * cfganal.c (can_fallthru): Deal with exit blocks
5374         * cfglayout.c (cfg_layout_function_header): New function
5375         (record_effective_endpoints): Record function header.
5376         (fixup_reorder_chain): Fixup dead jumptables; place header
5377
5378         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
5379         * bb-reorder.c (cfg_layout_initialize): Update call.
5380         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
5381         edges in cfglayout mode.
5382         * cfglayout.c (cleanup_unconditional_jumps): Kill.
5383         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
5384         * cfglayout.h (cfg_layout_initialize): Update prototype.
5385         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
5386         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
5387         * flow.c (propagate_block): Do not crash when basic block ends
5388         by first insn in the chain.
5389         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
5390         do loop discovery.
5391         * tracer.c (tracer): Update call of cfg_layout_initialize.
5392
5393 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5394
5395         * Makefile.in: Use dependency variables in lieu of explicit
5396         files throughout.
5397
5398 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
5399
5400         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
5401         * tree.h: ...to here.
5402
5403 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
5404
5405         * config/s390/2064.md: Fix comment typos.
5406         * config/s390/2084.md: Likewise.
5407         * config/s390/s390.c: Likewise.
5408         * config/s390/s390.md: Likewise.
5409         * config/sh/sh.c: Likewise.
5410         * config/sh/sh.h: Likewise.
5411         * config/sh/sh.md: Likewise.
5412         * config/sparc/sparc.c: Likewise.
5413         * config/sparc/sparc.h: Likewise.
5414         * config/sparc/sparc.md: Likewise.
5415         * config/stormy16/stormy16.c: Likewise.
5416         * config/stormy16/stormy16.h: Likewise.
5417         * config/stormy16/stormy-abi: Fix a typo.
5418
5419 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
5420
5421         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
5422
5423 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5424
5425         * config/mips/mips.h (save_argv): Delete.
5426
5427 2003-07-03  Roger Sayle  <roger@eyesopen.com>
5428
5429         PR target/10700
5430         * fold-const.c (extract_muldiv_1): There's nothing that can be done
5431         if the expression is a SAVE_EXPR.
5432
5433 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
5434
5435         * config/m32r/m32r.c: Fix comment typos.
5436         * config/m68hc11/m68hc11.c: Likewise.
5437         * config/m68hc11/m68hc11.h: Likewise.
5438         * config/m68k/m68k.c: Likewise.
5439         * config/mcore/mcore.c: Likewise.
5440         * config/mcore/mcore.h: Likewise.
5441         * config/mcore/mcore.md: Likewise.
5442         * config/mips/mips.c: Likewise.
5443         * config/mips/mips.h: Likewise.
5444         * config/mips/mips.md: Likewise.
5445         * config/mips/netbsd.h: Likewise.
5446         * config/mn10300/mn10300.c: Likewise.
5447
5448 2003-07-03  Andreas Schwab  <schwab@suse.de>
5449
5450         * dbxout.c (pending_bincls): Move decl down inside
5451         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
5452
5453 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
5454
5455         * rtl.h (NOTE_DATA): Refer to whole union.
5456         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
5457
5458 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5459
5460         PR optimization/11381
5461         * simplify-rtx.c (simplify_relational_operation): Check that
5462         two equal operands have no side-effects before simplifying
5463         the comparison.
5464
5465 2003-07-02  Jeff Law  <law@redhat.com>
5466
5467         * expr.c (do_store_flag): Remove special case folding for
5468         single bit tests.  Instead call back into the commonized folder
5469         routine.
5470         * fold-const.c (fold_single_bit_test): New function, mostly
5471         extracted from do_store_flag, with an additional case extracted
5472         from fold.
5473         (fold): Call fold_single_bit_test appropriately.
5474         * tree.h (fold_single_bit_test): Prototype.
5475
5476 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
5477
5478         * system.h: Include filenames.h.
5479         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
5480         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
5481         define based on HAVE_DOS_BASED_FILE_SYSTEM.
5482         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
5483         * config/i386/xm-mingw32.h: Don't define
5484         HAVE_DOS_BASED_FILE_SYSTEM,
5485         DIR_SEPARATOR, or DIR_SEPARATOR_2.
5486         * doc/hostconfig.texi: Update to match.
5487
5488         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
5489         config/i386/cygwin.h:
5490         Use IS_ABSOLUTE_PATH throughout.
5491         * gcc.c (DIR_UP): Delete, unused.
5492         * protoize.c (IS_SAME_PATH): Define in terms of
5493         FILENAME_CMP.
5494         (is_abspath): Delete.
5495
5496 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
5497
5498         * config/i386/emmintrin.h: Fix comment typos.
5499         * config/i386/i386.c: Likewise.
5500         * config/i386/i386.h: Likewise.
5501         * config/i386/sco5.h: Likewise.
5502         * config/ia64/ia64.c: Likewise.
5503         * config/ia64/itanium2.md: Likewise.
5504
5505 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
5506
5507         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
5508         DBX_USE_BINCL.
5509         (emit_bincl_stab): Same.
5510         (emit_pending_bincls): Same.
5511
5512 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
5513
5514         * config/h8300/h8300.c (compute_mov_length): Fix the length of
5515         loading CONST0_RTX (SFmode).
5516         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
5517         'G' to CONST0_RTX (SFmode).
5518         * config/h8300/h8300.md (movsf_h8300): Change the first
5519         constraint to 'G'.
5520         (movsf_h8300h): Likewise.
5521
5522 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
5523
5524         * c-common.h (c_common_init_options): New prototype.
5525         * c-opts.c (deferred_size): Remove.
5526         (defer_opt): Array is now pre-allocated.
5527         (c_common_init_options): Pre-allocate deferred_opts.  Make
5528         lang_flags unsigned.
5529         (push_command_line_options): Free deferred_opts.
5530         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
5531         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
5532         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
5533         * langhooks.h (struct lang_hooks): New prototype for init_options.
5534         * main.c (main): Cast argv.
5535         * opts.c (handle_option, handle_options): Update prototypes.
5536         (decode_options): save_argc, save_argv are not global.  Constify.
5537         * opts.h (decode_options): New prototype.
5538         * toplev.c (general_init): New protoype.
5539         (save_argv): Make static.
5540         (save_argc): Remove.
5541         (print_switch_values, general_init): Constify.
5542         (toplev_main): Save argv.
5543         * toplev.h (toplev_main): Update prototype.
5544         (save_argc, save_argv): Remove.
5545
5546 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
5547
5548         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
5549         (emit_bincl_stab): Same.
5550         (emit_pending_bincls): Same.
5551
5552 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
5553
5554         PR c++/11072
5555         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
5556
5557 2003-07-02  Andreas Schwab  <schwab@suse.de>
5558
5559         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
5560
5561 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
5562
5563         PR optimization/11210
5564         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
5565         about the behaviour with regard to bitfields.
5566         * fold-const (decode_field_reference): Record outermost type in
5567         case the expression is a NOP. Strip all NOPs. Set the signedness
5568         to that of the outermost type (if any) when the bitsize is equal
5569         to the size of the type.
5570
5571 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
5572
5573         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
5574         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
5575         (adddi3_internal_3, addsi3_internal_2): Likewise.
5576
5577 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
5578
5579         * config/mips/mips.c (machine_function): Add new fields:
5580         ignore_hazard_length_p and all_noreorder_p.
5581         (mips_flag_delayed_branch): New variable.
5582         (override_options): Treat '/' as an operand punctuation character.
5583         Set up mips_flag_delayed_branch.
5584         (print_operand): Handle '/'.
5585         (mips_output_function_prologue): Put the whole function in
5586         .set noreorder and .set nomacro if all_noreorder_p is true.
5587         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
5588         (mips16_optimize_gp): Remove "first insn" parameter.
5589         (mips16_lay_out_constants): New function, split out from mips_reorg.
5590         (mips_avoid_hazard, mips_avoid_hazards): New functions.
5591         (mips_reorg): For mips16 code, call mips16_lay_out_constant
5592         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
5593         do delayed-branch scheduling followed by hazard detection.
5594         (mips_adjust_insn_length): Only account for hazards if
5595         !ignore_hazard_length_p.
5596         (mips_output_load_label): Add a nop to the o32 sequence if
5597         the target suffers from load delays.
5598         (mips_output_conditional_branch): Add %/ to the end of branches.
5599         (mips_output_division): Fill the branch delay slot with %#.
5600         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
5601         instructions.  End all other %* branches with %/.
5602         (ffssi2, ffsdi2): Fix lengths.
5603         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
5604         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
5605         (fix_truncsfsi2_macro): Likewise.
5606         (mov_lwl): Set hazard to "none".
5607         (ashldi3_internal): Fill the branch delay slot with %#.
5608         (ashrdi3_internal, lshrdi3_internal): Likewise.
5609         (exception_receiver): Explicitly set $28.
5610         (hazard_nop): New pattern.
5611
5612 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
5613
5614         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
5615         before calling tree_inlinable_function_p.
5616
5617 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5618
5619         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
5620         <internal/stdio_core.h> too.
5621         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
5622         <internal/wchar_core.h> too.
5623         Substitute va_list uses in inline definition.
5624         * fixinc/fixincl.x: Regenerate.
5625
5626 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5627
5628         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
5629         Undef before redefinition.
5630         (LABEL_AFTER_LOC): Likewise.
5631         (DEFAULT_SIGNED_CHAR): Likewise.
5632         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
5633         Fix IRIX spelling.
5634
5635         * config/mips/iris3.h: Remove, unused.
5636         * config/mips/iris4.h: Likewise.
5637
5638         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
5639
5640         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
5641         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
5642         target_cpu_default.
5643
5644         * config/mips/iris5.h: Move explicit includes ...
5645         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
5646
5647         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
5648         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
5649         tm_defines.
5650
5651         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
5652         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
5653         target_cpu_default.
5654
5655         * config/mips/iris6.h: Fix IRIX spelling.
5656         (MULTILIB_DEFAULTS): Undef before redefinition.
5657
5658         * config/mips/iris6.h: Move explicit includes ...
5659         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
5660
5661 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
5662
5663         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
5664         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
5665         Use next_needed field instead of aux to maintain the queue.
5666         * cgraph.h (cgraph_node): Add next_needed.
5667         (cgraph_varpool_node): Add next_needed; remove aux.
5668         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
5669
5670 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
5671
5672         * cgraphunit.c (cgraph_finalize_function): Set finalized.
5673         (cgraph_finalize_function): Do not examine inlinablility.
5674         (cgraph_finalize_compilation_unit): Do it here.
5675         * cgraph.h (cgraph_local_info): Add finalized field.
5676
5677 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5678
5679         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
5680         (gt_pch_restore): Likewise.
5681
5682 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5683
5684         * config/alpha/alpha.c: Fix comment typos.
5685         * config/alpha/elf.h: Likewise.
5686         * config/arm/arm.c: Likewise.
5687         * config/arm/arm.h: Likewise.
5688         * config/arm/arm.md: Likewise.
5689         * config/arm/t-arm-coff: Likewise.
5690         * config/arm/t-strongarm-pe: Likewise.
5691         * config/arm/xscale-elf.h: Likewise.
5692         * config/avr/avr.h: Likewise.
5693
5694 2003-07-01  Jeff Law  <law@redhat.com>
5695
5696         * stmt.c (any_pending_cleanups): Remove another redundant test.
5697
5698 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
5699             J"orn Rennecke <joern.rennecke@superh.com>
5700
5701         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
5702         for MEM case.
5703
5704 2003-07-01  Devang Patel  <dpatel@apple.com>
5705
5706         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
5707         (binclstatus): New.
5708         (struct dbx_file): New members - bincl_status, pending_bincl_name and
5709         prev.
5710         (pending_bincls): New.
5711         (dbxout_init): Initialize new dbx_file members.
5712         (dbxout_start_source_file): Same.
5713         (emit_bincl_stab): New function.
5714         (emit_pending_bincls): Same.
5715         (emit_pending_bincls_if_required): Same.
5716         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
5717         processed.
5718         (dbxout_begin_block): Emit pending BINCL stabs.
5719         (dbxout_end_block): Same.
5720         (dbxout_function_decl): Same.
5721         (dbxout_continue): Same.
5722         (dbxout_type): Same.
5723         (dbxout_class_name_qualifiers): Same.
5724         (dbxout_symbol): Same.
5725         (dbxout_symbol_location): Same.
5726         (dbxout_parms): Same.
5727
5728 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5729
5730         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
5731         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
5732
5733 2003-07-01  Andreas Jaeger  <aj@suse.de>
5734
5735         * fold-const.c: Convert prototypes to ISO C90.
5736         * function.c: Likewise.
5737         * function.h: Likewise.
5738
5739 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5740
5741         * doc/contrib.texi: Fix typos.
5742         * doc/invoke.texi: Likewise.
5743         * doc/passes.texi: Likewise.
5744         * doc/sourcebuild.texi: Likewise.
5745         * doc/tm.texi: Likewise.
5746
5747 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
5748
5749         * basic-block.h: Fix comment typos.
5750         * bb-reorder.c: Likewise.
5751         * c-format.c: Likewise.
5752         * cfgcleanup.c: Likewise.
5753         * cfghooks.h: Likewise.
5754         * cfgloop.c: Likewise.
5755         * cfgloopmanip.c: Likewise.
5756         * cfgrtl.c: Likewise.
5757         * cgraph.h: Likewise.
5758         * cgraphunit.c: Likewise.
5759         * combine.c: Likewise.
5760         * convert.c: Likewise.
5761         * dbxout.c: Likewise.
5762         * df.c: Likewise.
5763         * df.h: Likewise.
5764         * diagnostic.c: Likewise.
5765         * dwarf2out.c: Likewise.
5766         * et-forest.h: Likewise.
5767         * flow.c: Likewise.
5768         * fold-const.c: Likewise.
5769         * function.h: Likewise.
5770         * gcov-io.h: Likewise.
5771         * gcov.c: Likewise.
5772         * gcse.c: Likewise.
5773         * genautomata.c: Likewise.
5774         * ggc-common.c: Likewise.
5775         * ggc-page.c: Likewise.
5776         * loop-unroll.c: Likewise.
5777         * loop-unswitch.c: Likewise.
5778         * loop.c: Likewise.
5779         * mips-tfile.c: Likewise.
5780         * optabs.c: Likewise.
5781         * ra-build.c: Likewise.
5782         * ra-colorize.c: Likewise.
5783         * ra-rewrite.c: Likewise.
5784         * ra.h: Likewise.
5785         * regmove.c: Likewise.
5786         * reload.c: Likewise.
5787         * rtlanal.c: Likewise.
5788         * sched-ebb.c: Likewise.
5789         * sched-int.h: Likewise.
5790         * sched-vis.c: Likewise.
5791         * sreal.c: Likewise.
5792         * ssa-ccp.c: Likewise.
5793         * ssa.c: Likewise.
5794         * toplev.c: Likewise.
5795         * tree-inline.c: Likewise.
5796         * value-prof.c: Likewise.
5797         * value-prof.h: Likewise.
5798
5799 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
5800
5801         * rtl.h (emit_line_note_after): Remove.
5802         (emit_note_copy_after, emit_note_copy): New.
5803         * emit-rtl.c (reorder_insns_with_line_notes): Replace
5804         emit_line_note_after with emit_note_copy_after.
5805         (emit_insn_after_with_line_notes): Likewise.
5806         (emit_line_note_after): Kill.
5807         (emit_note_copy_after): New.
5808         (emit_note_copy): New.
5809         * function.c (emit_return_into_block): Use emit_note_copy_after.
5810         (thread_prologue_and_epilogue_insns): Likewise.
5811         * integrate.c (expand_inline_function): Use emit_note_copy.
5812         (copy_insn_list): Likewise.
5813         * unroll.c (copy_loop_body): Likewise.
5814         * cfglayout.c (duplicate_insn_chain): Likewise.
5815
5816 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
5817
5818         * c-tree.h (define_label): Replace filename and lineno arguments
5819         with a location_t.
5820         * c-decl.c (poplevel): Adjust define_label call.
5821         (pop_label_level): Likewise.
5822         (define_label): Replace filename and lineno arguments with a
5823         location_t.
5824         (store_parm_decls): Use DECL_SOURCE_LOCATION.
5825         * c-parse.in (label): Adjust define_label call.
5826
5827 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
5828
5829         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
5830         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
5831         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
5832         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
5833         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
5834
5835 2003-07-01  Andreas Jaeger  <aj@suse.de>
5836
5837         * final.c: Convert prototypes to ISO C90.
5838         * flow.c: Likewise.
5839         * flags.h: Likewise.
5840         * gcov-io.c: Likewise.
5841         * gcov-io.h: Likewise.
5842
5843 See ChangeLog.9 for earlier changes.