OSDN Git Service

754d54a6942ac939a2b3e988310f86296fb2e54a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/i386/i386.c (const_int_1_operand): Simplify an
4         integer comparison.
5
6 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
7
8         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
9         * config/rs6000/ppc64-fp.c: Likewise.
10
11 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
12
13         * cfgcleanup.c: Fix comment typos.
14         * emit-rtl.c: Likewise.
15         * optabs.c: Likewise.
16         * ra-build.c: Likewise.
17         * rtlanal.c: Likewise.
18         * tree.h: Likewise.
19
20 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
21
22         * c-decl.c: Fix comment formatting.
23         * cfgrtl.c: Likewise.
24         * combine.c: Likewise.
25         * convert.c: Likewise.
26         * dominance.c: Likewise.
27         * dwarf2out.c: Likewise.
28         * dwarfout.c: Likewise.
29         * expmed.c: Likewise.
30         * fold-const.c: Likewise.
31         * gcov.c: Likewise.
32         * genattrtab.c: Likewise.
33         * ggc-common.c: Likewise.
34         * mips-tfile.c: Likewise.
35         * regmove.c: Likewise.
36
37 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
38
39         * builtin-attrs.def: Fix comment formatting.
40         * c-pretty-print.c: Likewise.
41         * diagnostic.h: Likewise.
42         * langhooks.h: Likewise.
43         * recog.c: Likewise.
44         * simplify-rtx.c: Likewise.
45         * tree.def: Likewise.
46
47 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
48
49         * config/m68k/m68k-protos.h: Convert to ISO C90.
50         * config/m68k/m68k.c: Likewise.
51
52 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
53             Paul Dale  <pauli@snapgear.com>
54             Peter Barada <peter@baradas.org>
55
56         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
57         ColdFire cores.
58
59 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
60
61         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
62         * config.gcc (*-*-openbsd): Don't set tm_file.
63         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
64         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
65         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
66         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
67         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
68         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
69         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
70         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
71         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
72         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
73         xscale-*-coff): Use explicit and complete lists of target headers
74         to include.  Move definitions to tm_defines where appropriate.
75         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
76         not-yet-contributed configuration.
77
78         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
79         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
80         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
81         * config/i386/nto.h, config/iq2000/iq2000.h,
82         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
83         * config/m68k/linux.h, config/m68k/m68k-aout.h
84         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
85         * config/m68k/netbsd.h, config/m68k/openbsd.h
86         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
87         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
88         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
89         Remove includes of other target config headers, and
90         definitions of macros moved to tm_defines lists.  Add #undefs
91         where now necessary to prevent redefinition warnings.
92
93         * config/h8300/coff.h: New file split out of...
94         * config/h8300/elf.h: ...here.
95         * config/m68k/hp320base.h: New file split out of...
96         * config/m68k/hp320.h: ...here.
97         * config/rs6000/lynxbase.h: New file split out of...
98         * config/rs6000/lynx.h: ...here.
99
100         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
101         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
102
103         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
104         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
105         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
106         Remove unnecessary #ifndef.
107         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
108         [under IN_LIBGCC2] with config/.
109
110 2003-08-21  Per Bothner  <bothner@pbothner.com>
111
112         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
113         to cpp_push_buffer.
114         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
115         by return_at_eof check.  Always call _cpp_pop_buffer at end.
116
117 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
118
119         PR target/11805
120         * config/h8300/h8300.md (two anonymous patterns): Remove.
121
122 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
123
124         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
125         * config/mips/mips.c (function_arg_pass_by_reference): Never return
126         true for n32 & n64.
127
128 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
129
130         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
131         and similarly in (A | C) == D where C & ~D != 0.
132
133 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
134
135         PR 8180
136         * configure.in: When testing with_libs and with_headers, treat
137         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
138         * configure: Regenerate.
139
140 2003-08-20  Peter Barada <peter@baradas.org>
141
142         * longlong.h (umul_ppmm): Add ColdFire support.
143
144 2003-08-20  Peter Barada <peter@baradas.org>
145             Bernardo Innocenti  <bernie@develer.com>
146
147         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
148         * config/m68k/m68k.h: Likewise.
149         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
150         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
151         * config/m68k/linux.h: Likewise.
152         * config/m68k/m68k.c: Likewise.
153         * config/m68k/m68k.md: Likewise.
154         * config/m68k/m68kelf.h: Likewise.
155         * config/m68k/netbsd-elf.h: Likewise.
156         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
157
158 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
159
160         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
161         * config/m68k/m68k.md: Likewise.
162
163 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
164
165         PR java/11996
166         Revert this change:
167         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
168         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
169         types with precisions other than those given by native machine
170         modes.
171
172 2003-08-20  Gunther Nikl  <gni@gecko.de>
173
174         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
175         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
176         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
177         * config/m68k/m68k.md (anonymous define_insn): Likewise
178         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
179         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
180         code selected by NO_ASM_FMOVECR
181
182 2003-08-20  Gunther Nikl  <gni@gecko.de>
183
184         * config/m68k/m68k.c (output_move_const_into_data_reg,
185         output_move_himode): unify MOTOROLA/MIT handling of moveq
186         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
187         Likewise
188
189 2003-08-20  Gunther Nikl  <gni@gecko.de>
190
191         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
192         label name
193         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
194         HOST_WIDE_INT_PRINT_DEC with %wd
195
196 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
197
198         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
199         redefine warning.
200
201 2003-08-20  Roger Sayle  <roger@eyesopen.com>
202
203         PR middle-end/11984
204         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
205         operands before calling tree_int_cst_lt when performing associative
206         transformations.
207
208 2003-08-20  Jason Merrill  <jason@redhat.com>
209
210         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
211         (EXPR_CHECK): Don't check for 'r' or 's' if we're
212         checking IS_EXPR_CODE_CLASS.
213         * calls.c (calls_function_1): Likewise.
214         * fold-const.c (fold): Likewise.
215         * tree.c (iterative_hash_expr): Likewise.
216         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
217
218 2003-08-20  Gunther Nikl  <gni@gecko.de>
219
220         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
221         depending on MOTOROLA_BSR
222         * config/m68k/m68k.md (anonymous define_insn): Likewise
223
224 2003-08-20  Jason Merrill  <jason@redhat.com>
225
226         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
227         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
228         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
229         * dojump.c (do_jump): Likewise.
230         * fold-const.c (operand_equal_p, fold): Likewise.
231         (tree_expr_nonnegative_p): Likewise.
232
233         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
234         TYPE_USER_ALIGN for FIELD_DECLs.
235
236         * attribs.c (decl_attributes): Rebuild the function pointer type after
237         changing the target type.
238         * tree.c (get_qualified_type): Also check that the attributes match.
239
240 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
241
242         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
243         * objc/config-lang.in (stagestuff): ... to here.
244
245 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
246
247         PR c++/11946
248         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
249         NOP_EXPR) when necessary.
250         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
251         types with precisions other than those given by native machine
252         modes.
253
254 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
255
256         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
257         because some macro is defined.
258
259         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
260         options.
261         * config/i386/darwin.h (ASM_SPEC): New.
262         (SUBTARGET_EXTRA_SPECS): New.
263         * config/rs6000/darwin.h (ASM_SPEC): New.
264         (SUBTARGET_EXTRA_SPECS): New.
265         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
266         a cross-compiler between two different processors on Darwin.
267         * configure: Regenerate.
268
269 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
270
271         * builtins.c: Fix comment typos.
272         * c-common.c: Likewise.
273         * c-decl.c: Likewise.
274         * c-pretty-print.c: Likewise.
275         * cfgbuild.c: Likewise.
276         * cfglayout.c: Likewise.
277         * cfgloopanal.c: Likewise.
278         * cgraphunit.c: Likewise.
279         * cppfiles.c: Likewise.
280         * dwarfout.c: Likewise.
281         * expr.c: Likewise.
282         * fold-const.c: Likewise.
283         * gcse.c: Likewise.
284         * ggc-page.c: Likewise.
285         * haifa-sched.c: Likewise.
286         * pretty-print.c: Likewise.
287         * tree.c: Likewise.
288         * tree.h: Likewise.
289         * value-prof.c: Likewise.
290
291 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
292
293         * c-decl.c: Follow spelling conventions.
294         * cppfiles.c: Likewise.
295
296 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
297
298         * c-common.c: Fix comment formatting.
299         * c-common.h: Likewise.
300         * c-decl.c: Likewise.
301         * cppinit.c: Likewise.
302         * cpplib.h: Likewise.
303         * emit-rtl.c: Likewise.
304         * input.h: Likewise.
305         * line-map.h: Likewise.
306         * opts.c: Likewise.
307         * opts.h: Likewise.
308         * simplify-rtx.c: Likewise.
309
310 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
311
312         * unwind-c.c: Add libgcc-style exception.
313         * unwind-dw2.c: Likewise.
314         * unwind-pe.h: Likewise.
315         * unwind-sjlj.c: Likewise.
316         * unwind.inc: Likewise.
317
318 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
319
320         PR c/5582 PR c++/10538
321         * langhooks-def.h (lhd_decl_uninit): Declare.
322         (LANG_HOOKS_DECL_UNINIT): New macro.
323         (LANG_HOOKS_INITIALIZER): Adjust.
324         * langhooks.h (struct lang_hooks): Add new field
325         decl_uninit.
326         * langhooks.c (lhd_decl_uninit): Define.
327         * c-common.c (c_decl_uninit_1): New function.
328         (c_decl_uninit): New function.
329         (warn_init_self): Define.
330         * c-common.h (c_decl_uninit): Declare.
331         (warn_init_self): Declare.
332         * c.opt: Introduce -Winit-self.
333         * c-opts.c (c_common_handle_options): Set warn_init_self.
334         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
335         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
336         * function.c (uninitialized_vars_warning): Call the language hook.
337         * doc/invoke.texi: Document -Winit-self.
338
339 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
340
341         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
342         to use better predicates and constraints.  Define new
343         instruction to handle "trap_if" with DI-mode arguments.
344         (conditional_trap): FAIL if trap code is not 0.
345
346 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
347
348         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
349         strstr with $pb to a strcompare with "<pic base>"
350         (ix86_output_addr_diff_elt): Output the real pic base.
351
352 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
353
354         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
355         (LANG_HOOKS_INITIALIZER): Correct.
356         * c-lang.c: Likewise.
357
358 2003-08-19  Jan Hubicka  <jh@suse.cz>
359
360         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
361         (cgraph_varpool_mark_needed_node): Likewise.
362         * cgraph.h (notice_global_symbol): Declare
363         * varasm.c (notice_global_symbol): Break out from ...
364         (assemble_start_function): ... here; update for variables.
365         (assemble_variable): Use notice_global_symbol.
366
367 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
368
369         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
370         expect SFmode and DFmode arguments to be passed in FPRs,
371         regardless of the underlying type.
372
373 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
374
375         PR target/11924
376         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
377         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
378
379 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
380
381         PR c/11207
382         * c-typeck.c (set_init_index): Check for negative index.
383
384 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
385
386         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
387         call0 ABI.
388         * config/xtensa/crtn.asm (_init, _fini): Likewise.
389         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
390         __umodsi3, __modsi3): Likewise.
391         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
392         $(INCLUDES).
393
394 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
395
396         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
397
398 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
399
400         * config/mips/mips.md: Quote C code in braces.  Remove use of
401         fake const0_rtx operands.  Remove double backslashes.  Use \;.
402         Remove workarounds for bogus warnings.
403
404 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
405
406         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
407         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
408         rather than TARGET_MIPS4300.
409         (mulsf3_internal, mulsf3_r4300): Likewise.
410
411 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
412
413         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
414
415 2003-08-17  Roger Sayle  <roger@eyesopen.com>
416
417         * simplify-rtx.c (associative_constant_p): New function to test
418         whether an RTX expression is an immediate constant.
419         (simplify_associative_operation): New function to perform some
420         reassociation optimizations of associative binary expressions.
421         (simplify_binary_operation): Use simplify_associative_operation
422         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
423         Floating point expressions are only reassociated when unsafe
424         math optimizations are permitted.
425
426 2003-08-17  Andreas Jaeger  <aj@suse.de>
427
428         * config/alpha/alpha.md: Remove usage of PARAMS.
429
430         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
431         * config/i386/i386-interix.h: Likewise.
432         * config/i386/winnt.c: Likewise.
433         * config/i386/cygming.h: Likewise.
434         * config/i386/cygwin2.c: Likewise.
435         * config/darwin.c: Likewise.
436         * config/darwin-c.c: Likewise.
437         * config/darwin-protos.h: Likewise.
438         * config/darwin.h: Likewise.
439         * config/s390/s390-protos.h: Likewise.
440         * config/s390/s390.c: Likewise.
441         * config/ia64/ia64.c: Likewse
442         * config/ia64/ia64-protos.h: Likewise.
443         * config/ia64/ia64-c.c: Likewise.
444
445 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
446
447         * config/sparc/sparc.c: Convert to ISO C.
448
449         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
450         * config/sparc/sparc.c: Likewise.
451
452 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
453
454         PR c++/11512
455         * stmt.c (expand_expr_stmt_value): Don't warn about any void
456         typed expression.
457
458 2003-08-16  Jan Hubicka  <jh@suse.cz>
459
460         * i386.c (ix86_fntype_regparm): Rename from ...
461         (ix86_function_regparm): ... this one; add fastcall and local
462         functions.
463         (ix86_function_ok_for_sibcall): Update.
464         (ix86_return_pops_args): Likewise.
465         (init_cumulative_args): Likewise.
466         (x86_can_output_mi_thunk): Likewise.
467         (function_arg): Fix formating.
468         (x86_this_parameter): Fix fastcall.
469         (x86_output_mi_thunk): Likewise.
470
471         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
472         body as reachable; mark nested functions as needed too.
473         (dump_cgraph): Do not output global.calls.
474         * cgraph.h (cgraph_global_info): Kill.
475         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
476         (record_call_1): Speedup.
477         (cgraph_analyze_function): Break out from ...; compute inlining
478         parameters.
479         (cgraph_finalize_compilation_unit): ... here.
480         (cgraph_mark_inline): Kill computation of calls.
481         (cgraph_decide_inlining): Do not compute most of initial values.
482
483 2003-08-14  Roger Sayle  <roger@eyesopen.com>
484
485         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
486         to negate if either operand is easy to negate, if we don't care
487         about sign-dependent rounding.
488         (negate_expr): Make the logic to negate a REAL_CST explicit.
489         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
490         that's easy to negate, if we don't honor sign-dependent rounding.
491         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
492         negate, and the symmetric A * -B as -A * B if A is easy to negate.
493         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
494         -C/D if B and C are cheap to negate.  Add an explicit rule to
495         optimize X/-1.0 as -X when we don't care about signaling NaNs.
496
497 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
498
499         * Makefile.in (tm_file): Rename tm_include_list.
500         (tm_p_file): Rename tm_p_include_list.
501         (build_xm_file): Rename build_xm_include_list.
502         (host_xm_file): Rename host_xm_include_list.
503         (xm_file): Rename xm_include_list.
504         (xm_file_list): Add to be substituted.
505         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
506         Update to match.
507         (bt-load.o): Add missing dependency on $(TM_H).
508         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
509         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
510         build_xm_file, generate both *_file_list and *_include_list
511         values from it.  (xm_file_list was formerly not being generated.)
512         In *_include_list, prefix the names of all headers found in
513         $(srcdir)/config with config/.  In each loop, consider only
514         the special case files that can actually appear in that list.
515         AC_SUBST all *_file_list and all *_include_list variables; do
516         not AC_SUBST the plain *_file variables.
517         * configure: Regenerate.
518
519 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
520
521         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
522
523 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
524
525         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
526         direct calls.
527         (attr_length_call): Include it here.  Improve length estimate for
528         local calls.
529         (output_call): Use targetm.binds_local_p.
530
531 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
532
533         * builtins.c (CASE_MATHFN): New helper macro.
534         (mathfn_built_in): Simplify and sort.
535
536         * protoize.c (substr): Delete, callers changed to `strstr'.
537
538 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
539
540         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
541         * config/iq2000/xm-iq2000.h: Delete file.
542
543 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
544
545         * gengtype.c (walk_type): Process a subobject before processing
546         the pointer that points to the subobject.
547
548 2003-08-13  Per Bothner  <pbothner@apple.com>
549
550         * regclass.c (init_reg_modes):  Make non-static.
551         Rename to init_reg_modes_once per new naming convention.
552         (init_regs):  Don't call init_reg_modes here.
553         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
554         * rtl.h (init_reg_modes_once):  New declaration.
555         * toplev.c (backend_init):  Call init_regs after init_emit_once.
556
557 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
558
559         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
560         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
561
562 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
563
564         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
565         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
566
567 2003-08-13  Dale Johannesen  <dalej@apple.com>
568
569         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
570         handling of decrement-and-branch farther than 32 bits.
571
572 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
573
574         * configure.in (make_compare_target): Move test to ...
575         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
576         * configure: Regenerate.
577
578 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
579
580         * config/mips/iris6.h: Convert to C90 prototypes.
581         * config/mips/irix6-libc-compat.c: Likewise.
582         * config/mips/mips-protos.h: Likewise.
583         * config/mips/mips.c: Likewise.
584
585 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
586
587         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
588         for selected machines.  Comment heavily.
589         fixinc/fixincl.x: Rebuild.
590         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
591
592 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
593
594         * config/mips/mips.h: Tweak various comments.
595         * config/mips/mips.c: Likewise.
596
597 2003-08-11  James E Wilson  <wilson@tuliptree.org>
598
599         PR optimization/11319
600         PR target/10021
601         * alias.c (find_base_value, case REG): Return 0 not src if no base
602         found.
603
604 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
605
606         * gcse.c (gmalloc): Fix last change.
607
608 2003-08-11  Roger Sayle  <roger@eyesopen.com>
609
610         * simplify-rtx.c (simplify_binary_operation): Replace calls to
611         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
612         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
613         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
614
615 2003-08-11  Roger Sayle  <roger@eyesopen.com>
616
617         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
618         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
619         typecode for an ABS_EXPR.
620
621         * doc/c-tree.texi: Document ABS_EXPR.
622
623 2003-08-11  Roger Sayle  <roger@eyesopen.com>
624
625         * fold-const.c (fold): Optimize any associative floating point
626         operator with -funsafe-math-optimizations, not just MULT_EXPR.
627
628 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
629
630         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
631         information in SHmedia case too.
632         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
633         Likewise.
634         (__set_fpscr): Use an access via GOT for PIC case.
635
636 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
637
638         * configure.in (intermodule): Make switch test more portable.
639         * configure: Regenerate.
640
641 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
642
643         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
644         (restrap): Likewise.
645
646 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
647
648         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
649         (grealloc): Size argument is a size_t.
650         (gcalloc): New function.  Use throughout in lieu of
651         gmalloc/memset.
652
653         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
654         xmalloc/memset.
655         * config/ia64/ia64.c (ia64_reorg): Likewise.
656         * conflict.c (conflict_graph_new): Likewise.
657         * fixinc/fixincl.c (run_compiles): Likewise.
658         * genattrtab.c (optimize_attrs): Likewise.
659         * genrecog.c (new_decision): Likewise.
660         * haifa-sched.c (schedule_block): Likewise.
661         * hashtable.c (ht_create): Likewise.
662
663 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
664
665         * config/xtensa/lib2funcs.S: Fix whitespace.
666         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
667         syntax where appropriate.  Remove unnecessary backslash escapes.
668         Reformat comments and fix some code formatting.
669         (extendqisi2): Rearrange conditional.
670         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
671         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
672         of fatal_insn.
673
674 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
675
676         * config/mips/mips.c: Various formatting fixes.
677         (override_options): Resync -mtune handling with gas.
678         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
679         * config/mips/mips.h: More formatting fixes.
680         (mips_abi): Move declaration.
681         * config/mips/mips.md (exception_receiver): Add mode to
682         unspec_volatile.
683
684 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
685
686         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
687         evsplatfi here.
688         (bdesc_1arg): Remove evsplati and evsplatfi.
689
690 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
691
692         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
693         into account.
694
695 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
696
697         * builtins.c (expand_builtin_strcat): Optimize constant strings.
698
699 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
700
701         * pretty-print.c (pp_base_indent): Rename from pp_indent.
702         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
703         (struct c_pretty_print_info): Add more fields.
704         (pp_c_left_paren): Move to c-pretty-print.c.
705         (pp_c_right_paren): Likewise.
706         (pp_c_left_brace): Likewise.
707         (pp_c_right_brace): Likewise.
708         (pp_c_left_bracket): Likewise.
709         (pp_c_right_bracket): Likewise.
710         (pp_c_declarator): Declare.
711         (pp_c_direct_declarator): Likewise.
712         (pp_c_specifier_qualifier_list): Likewise.
713         (pp_c_type_id): Likewise.
714         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
715         (pp_c_type_qualifier_list): New.
716         (pp_c_pointer): Likewise.
717         (pp_c_parameter_type_list): Likewise.
718         (pp_c_function_definition): Likewise.
719         (pp_c_id_expression): Likewise.
720         (pp_c_simple_type_specifier): Tidy.
721         (pp_c_unary_expression): Likewise.
722         (pp_c_expression): Likewise.
723         (pp_c_pretty_printer_init): Likewise.
724         (pp_c_specifier_qualifier_list): Rework..
725         (pp_c_abstract_declarator): Likewise.
726         (pp_c_postfix_expression): Likewise.
727         (pp_c_primary_expression): Likewise.
728         (pp_c_cast_expression): Likewise.
729         (pp_c_direct_abstract_declarator): Likewise.
730         (pp_c_storage_class_specifier): Likewise.
731         (pp_c_function_specifier): Likewise.
732         (pp_c_declaration_specifiers): Likewise.
733         (pp_c_direct_declarator): Likewise.
734         (pp_c_declarator): Likewise.
735         (pp_c_declaration): Likewise.
736         (pp_c_statement): Likewise.
737         (pp_c_integer_constant): Rename from pp_c_integer_literal.
738         (pp_c_character_constant): Rename from pp_c_character_literal.
739         (pp_c_bool_constant): Rename from pp_c_bool_literal.
740         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
741         (pp_c_floating_constant): Rename from pp_c_real_literal.
742         (pp_c_constant): Rename from pp_c_literal.
743         * c-lang.c: Include diagnostic.h and c-pretty-print.h
744         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
745         (c_initialize_diagnostics): New.
746         * Makefile.in (c-lang.o): Update dependency.
747
748 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
749
750         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
751
752 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
753
754         * config/mips/mips.c (mips_no_mips16_string): Remove.
755         (override_options): Don't handle -mips16 as part of -mipsN.
756         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
757         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
758         (TARGET_OPTIONS): Remove -mno-mips16.
759
760 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
761
762         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
763         (coprocessor2_operand): Likewise.
764         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
765         (lookup_name): Remove declaration.
766         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
767         (mips16, mips_abicalls): Remove.
768         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
769         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
770         (coprocessor_operand, coprocessor2_operand): Remove.
771         (override_options): Don't set mips16 or mips_abicalls.
772         (print_operand): Don't expect SIGN_EXTEND operands.
773         (mips_secondary_reload_class): Likewise.
774         (mips_output_conditional_branch): Remove disabled long-branch code.
775         * config/mips/mips.h (call_used_regs): Remove declaration.
776         (may_call_alloca): Likewise.
777         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
778         (mips_abicalls, mips16): Remove declarations.
779         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
780         (CC1_SPEC): Remove outdated comment.
781         (MIPS_VERSION, MACHINE_TYPE): Remove.
782         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
783         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
784         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
785         (PUSH_ROUNDING): Likewise.
786         (ASSEMBLER_SCRATCH_REGNUM): Remove.
787         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
788         and mips16 with TARGET_MIPS16.
789
790 2003-08-09  Per Bothner  <pbothner@apple.com>
791
792         * cppinit.c (cpp_read_main_file):  Split out source-independent
793         initialization to separate function ...
794         (cpp_post_options):  New function.
795         * cppfiles.c (cpp_stack_file):  Rename public name to ...
796         (_cpp_stack_file):  New internal function name.
797         * cpplib.h:  Update accordingly.
798         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
799         (cpp_read_main_file):  Don't initialize line here.
800         * c-opts.c (c_common_post_options):  Call cpp_post_options.
801         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
802         * fix-header.c (read_scan_file):  Call cpp_post_options.
803
804 2003-08-09  Per Bothner  <per@bothner.com>
805
806         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
807
808 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
809
810         * pa.c (pa_asm_output_mi_thunk): Fix typo.
811
812 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
813
814         PR preprocessor/11839
815         * cppfiles.c (open_file): Handle ENOTDIR.
816
817 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
818
819         PR target/11699
820         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
821
822 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
823
824         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
825         source/destination is not a register operand.
826
827 2003-08-08  Richard Henderson  <rth@redhat.com>
828
829         PR target/11535
830         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
831         RETURN_ADDRESS_POINTER_REGNUM.
832         (ia64_expand_prologue): Don't frob it.
833         (ia64_output_function_epilogue): Likewise.
834         (ia64_return_addr_rtx): New.
835         (ia64_split_return_addr_rtx): New.
836         * config/ia64/ia64-protos.h: Update.
837         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
838         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
839         (GENERAL_REGNO_P): Don't check it.
840         (AR_*_REGNUM): Renumber.
841         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
842         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
843         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
844         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
845         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
846         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
847         (movdi_ret_addr): New.
848
849 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
850
851         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
852
853 2003-08-08  Roger Sayle  <roger@eyesopen.com>
854
855         * tree.h (get_identifier) Define a macro form of get_identifier
856         that calls get_identifier_with_length when the string is constant.
857         (get_identifier_with_length): Change type of second argument to
858         size_t in prototype.
859         * stringpool.c (get_identifier): Undefine the macro before giving
860         the function definition.
861         (get_identifier_with_length): Change  type of second argument to
862         size_t in function definition.
863         * hashtable.c (calc_hash): Change type of second argument to size_t.
864         (ht_lookup): Change type of third argument to size_t.  Reorganize
865         to speed-up the cases where the hash table slot is empty, or the
866         first probe matches (i.e. there isn't a collision).
867         * hashtable.h (ht_lookup): Adjust function prototype.
868
869 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
870
871         PR target/9697
872         PR target/11777
873         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
874
875 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
876
877         * common.opt: Add debug switches.
878         * flags.h (use_gnu_debug_info_extensions): Boolify.
879         * opts.c (write_symbols, debug_info_level,
880         use_gnu_debug_info_extensions): Move from toplev.c.
881         (set_debug_level): New.
882         (common_handle_options): Handle debug switches.
883         (print_help): Display target options directly.
884         * toplev.c (debug_hooks): Don't initialize.
885         (write_symbols, debug_info_level,
886         use_gnu_debug_info_extensions): Move to opts.c.
887         (debug_args, display_help, decode_g_option): Remove.
888         (process_options): Set no debug if level zero here,
889         and no-debug-hooks.  Error here if impossible debug format selected.
890         * toplev.h (display_help, decode_g_option): Remove.
891
892 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
893
894         * tree.c (get_file_function_name_long): Fix size of alloca() area.
895
896 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
897
898         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
899         and gcc_cv_prog_cmp_skip.
900         * configure: Regenerate.
901
902 2003-08-08  Stan Cox  <scox@redhat.com>
903
904         * config/iq2000: New port.
905         * config.gcc (iq2000-*-elf): Added.
906         * doc/install.texi (Specific):  Add iq2000 description.
907
908 2003-08-08  Andreas Schwab  <schwab@suse.de>
909
910         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
911         and insert missing empty argument.
912         * configure: Regenerate.
913
914 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
915
916         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
917         (attr_length_millicode_call): Likewise.
918         (attr_length_call): Likewise.  Revise some maximum insn lengths.
919         (attr_length_indirect_call): Likewise.
920         (output_call): Fix thinko that added extra nop.
921         * pa.h (IN_NAMED_SECTION_P): Define.
922
923         PR c++/11712
924         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
925         __STDC_EXT__ when using C++ dialect.
926
927 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
928
929         * sh.c (calc_live_regs): If the return address pointer is live,
930         force pr live.
931         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
932         for saves / restores.
933         (sh_expand_epilogue): If sh_media_register_for_return returns a
934         register number, flag the instructions that restores PR_MEDIA_REG
935         as possibly dead.
936         Remove dead update of offset.
937         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
938         we can use the result of get_hard_reg_initial_val.
939         * sh.md (UNSPEC_RA): New constant.
940         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
941         (load_ra).  Handle UNSPEC_RA.
942         (sibcall_media): Use PR_MEDIA_REG.
943
944         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
945         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
946         needs saving on SHmedia.
947
948 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
949
950         * config/s390/s390.md: Replace all occurrences of \\t with \t.
951
952 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
953
954         * local-alloc.c (combine_regs): Fix comment typo.
955
956 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
957
958         * c-decl.c (builtin_decls): Replace with first_builtin_decl
959         and last_builtin_decl.
960         (c_init_decl_processing): Initialize both.
961         (c_reset_state): Iterate from first_builtin_decl to
962         last_builtin_decl inclusive to reintroduce builtins.
963
964 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
965
966         * doc/extend.texi (Function Attributes): Document the IA-64 version
967         of the "model" attribute.
968
969         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
970         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
971         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
972
973         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
974         (ia64_encode_section_info): Likewise.
975         (ia64_attribute_table): Add "model" attribute.
976         (TARGET_ENCODE_SECTION_INFO): Define.
977         (small_addr_symbolic_operand): New function.
978         (got_symbolic_operand): Return 0 for a symbolref to an object
979         in the small address area.
980         (enum ia64_addr_area): New type.
981         (small_ident1): New variable.
982         (small_ident2): Likewise.
983         (init_idents): New function.
984         (ia64_get_addr_area): Likewise.
985         (ia64_encode_addr_area): Likewise.
986         (ia64_encode_section_info): Likewise.
987         (ia64_expand_load_address): For symbolic references to objects in
988         the small-address-area, load the address via gen_rtx_SET() (which,
989         eventually, will expand into "addl").
990
991 2003-08-06  Per Bothner  <pbothner@apple.com>
992
993         * line-map.h (fileline):  New typedef.
994         (struct line_map, linemap_add, linemap_lookup):  Use it.
995         * input.h (struct location_s):  Comment notes that long-term we want
996         to replace it by fileline.
997
998 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
999
1000         Fix SHcompact exception handling:
1001         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
1002         by the prologue, return a MEM with return_address_pointer_rtx
1003         as address.
1004         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
1005         (RETURN_ADDR_OFFSET): Don't define.
1006         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
1007         registers that are visible in compact mode.  Show that SHmedia
1008         registers still exist in compact mode, even if there are not
1009         readily accessible.
1010         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
1011         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
1012         and DW_EH_PE_pcrel for pic data.
1013         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
1014         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
1015         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
1016         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
1017         * sh.md (movsi_media-1): New splitter.
1018
1019 2003-08-06  Graeme Peterson <gp@qnx.com>
1020
1021         * config/i386/nto.h: New.
1022         * config/i386/t-nto: New.
1023         * config.gcc (i[34567]86-*-nto-qnx*): New.
1024
1025 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
1026
1027         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
1028
1029 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
1030
1031         * calls.c (load_register_parameters): Arrange for call_fusage to
1032         report the whole register as used when shifting to the msb.
1033
1034 2003-08-05  Roger Sayle  <roger@eyesopen.com>
1035
1036         * builtins.c (expand_builtin): When not optimizing, call the library
1037         function for all builtins that have library functions (except alloca).
1038
1039 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
1040
1041         * c.opt: Introduce -fworking-directory.
1042         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
1043         * c-common.h (flag_working_directory): Declare.
1044         * c-common.c (flag_working_directory): Define.
1045         * c-opts.c (c_common_handle_options): Set it.
1046         (sanitize_cpp_opts): Set...
1047         * cpplib.h (struct cpp_options): ... working_directory option.
1048         (struct cpp_callbacks): Add dir_change.
1049         * cppinit.c (read_original_filename): Call...
1050         (read_original_directory): New.  Look for # 1 "directory//"
1051         and process it.
1052         (cpp_read_main_file): Call dir_change callback if working_directory
1053         option is set.
1054         * gcc.c (cpp_unique_options): Pass -g*.
1055         * c-lex.c (cb_dir_change): New.
1056         (init_c_lex): Set dir_change callback.
1057         * toplev.c (src_pwd): New static variable.
1058         (set_src_pwd, get_src_pwd): New functions.
1059         * toplev.h (get_src_pwd, set_src_pwd): Declare.
1060         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
1061         * dwarf2out.c (gen_compile_unit_die): Likewise.
1062         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
1063
1064 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1065
1066         * pretty-print.h (pp_set_line_maximum_length): Make macro.
1067         (pp_set_prefix): Likewise.
1068         (pp_destroy_prefix): Likewise.
1069         (pp_remaining_character_count_for_line): Likewise.
1070         (pp_clear_output_area): Likewise.
1071         (pp_formatted_text): Likewise.
1072         (pp_last_position_in_text): Likewise.
1073         (pp_emit_prefix): Likewise.
1074         (pp_append_text): Likewise.
1075         (pp_flush): Likewise.
1076         (pp_format_text): Likewise.
1077         (pp_format_verbatim): Likewise.
1078         (pp_tree_identifier): Tidy.
1079         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
1080         (pp_base_format_verbatim): Rename from pp_format_verbatim.
1081         (pp_base_flush): Rename from pp_flush.
1082         (pp_base_set_line_maximum_length): Rename from
1083         pp_set_line_maximum_length.
1084         (pp_base_clear_output_area): Rename from pp_clear_output_area.
1085         (pp_base_set_prefix): Rename from pp_set_prefix.
1086         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
1087         (pp_base_emit_prefix): Rename from pp_emit_prefix.
1088         (pp_base_append_text): Rename from pp_append_text.
1089         (pp_base_formatted_text): Rename from pp_formatted_text.
1090         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
1091         (pp_base_remaining_character_count_for_line): Rename from
1092         pp_remaining_character_count_for_line.
1093         * diagnostic.h (diagnostic_format_decoder): Tidy.
1094         (diagnostic_flush_buffer): Likewise.
1095         * c-pretty-print.h: (pp_c_string_literal): Declare.
1096         (pp_c_real_literal): Likewise.
1097         (pp_c_integer_literal): Likewise.
1098         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
1099         pp_identifier.
1100         (pp_c_character_literal): Tidy.
1101         (pp_c_string_literal): Make public.
1102         (pp_c_bool_literal): Likewise.
1103         (pp_c_integer_literal): Likewise.
1104         (pp_c_real_literal): Likewise.
1105
1106         * Makefile.in (C_PRETTY_PRINT_H): New variable.
1107         (c-pretty-print.o): Update dependence.
1108
1109 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
1110
1111         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
1112         ".set nomacro" state.
1113         (fix_truncsfsi2_macro): Likewise.
1114
1115 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
1116
1117         * tree.h (DID_INLINE_FUNC): Remove macro.
1118         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
1119         add tree check for FUNCTION_DECL.
1120         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
1121         (struct tree_decl): Rename inlined_function_flag to
1122         declared_inline_flag.
1123         * c-common.h (c_lang_decl): Remove.
1124         (DECL_ESTIMATED_INSNS): Remove.
1125         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
1126         (DECL_DECLARED_INLINE_P): Remove.
1127         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
1128         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
1129         (finish_function): Make uninlinable a bool.  Fixup call to
1130         tree_inlinable_function_p() and fix some code style issues.
1131         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
1132         * cgraph.c (dump_cgraph): Likewise.
1133         * cgraphunit.c (cgraph_decide_inlining): Likewise
1134         (cgraph_finalize_compilation_unit): Likewise.
1135         Also update call to tree_inlinable_function_p().
1136         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
1137         look at DECL_DECLARED_INLINE and reverse logic.
1138         * print-tree.c (print_node): Likewise.
1139         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
1140         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
1141         prototype.
1142         * tree-inline.c (inlinable_function_p): Split up in this function to
1143         check for basic inlining inhibiting conditions, and new
1144         limits_allow_inlining() function.  Warn if inlining is impossible
1145         because the inline candidate calls alloca or uses sjlj exceptions.
1146         (limits_allow_inlining): this new function to check if the inlining
1147         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
1148         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
1149         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
1150         Update prototypes.
1151         (tree_inlinable_function_p): Make a bool.  Update call to
1152         inlinable_function_p
1153         (expand_call_inline): Use limits_allow_inlining() when not in
1154         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
1155         instead see if the function was declared `inline'.
1156
1157 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
1158
1159         * gcse.c (try_replace_reg): Fix updating of note.
1160
1161 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1162
1163         PR middle-end/11771
1164         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
1165         logic in negate_expr, i.e. we don't invert (A-B) for floating
1166         point types unless flag_unsafe_math_optimizations.
1167
1168 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1169
1170         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
1171         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
1172         for floating point expressions with -ffast-math.
1173         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
1174         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
1175
1176 2003-08-04  Roger Sayle  <roger@eyesopen.com>
1177
1178         * c-common.c (flag_noniso_default_format_attributes): Delete.
1179         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
1180         (c_attrs_initialized): Delete.
1181         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
1182         always call c_init_attributes.
1183         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
1184         set c_attrs_initialized when done.
1185         (c_common_insert_default_attributes): Delete.
1186         * c-common.h (flag_noniso_default_format_attributes): Delete.
1187         (c_coomon_insert_default_attributes): Delete prototype.
1188         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
1189         flag_noniso_default_format_attributes.
1190
1191         * c-decl.c (c_insert_default_attributes): Delete.
1192         * c-tree.h (c_insert_default_attributes): Delete prototype.
1193
1194         * attribs.c (decl_attributes): Don't call insert_default_attributes
1195         langhook.  Update function description comment.
1196         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
1197         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
1198         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
1199         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
1200
1201         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
1202         define.
1203
1204 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
1205
1206         * config/mips/mips.c (override_options): Disable -G on targets that
1207         have no .section support.
1208         (mips_select_section): Use default_select_section for such targets.
1209
1210 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1211
1212         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
1213         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
1214         * fixinc/fixincl.x: Rebuild.
1215         * fixinc/tests/base/regexp.h: New test.
1216
1217 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
1218
1219         * c-ppoutput.c (cb_line_change): Don't skip line changing while
1220         parsing macro arguments in the top-level context.
1221
1222 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
1223
1224         * config.in: Remove HAVE_LSTAT.
1225         * configure, configure.in: Don't test for lstat.
1226
1227 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1228
1229         * opts.c (decode_options): Do language-specific initialization for
1230         the global diagnostic context.
1231         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
1232         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
1233         (LANG_HOOKS_INITIALIZER): Adjust.
1234         * langhooks.h (struct lang_hooks): Add new field
1235         initialize_diagnostics.
1236         * langhooks.c (lhd_initialize_diagnostics): Define.
1237
1238 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1239
1240         * pretty-print.h:   Adjust macro definitions.
1241         * pretty-print.c (pp_newline): Rename to pp_base_newline.
1242         (pp_character): Rename to pp_base_character.
1243         (pp_string): Rename to pp_base_string.
1244         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
1245         (pp_newline):  Likewise.  Adjust.
1246         (pp_c_char): Adjust.
1247
1248 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1249
1250         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
1251         BUILT_IN_LLABS): Move to miscellaneous section.
1252
1253 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1254
1255         PR preprocessor/11534
1256         * cppexp.c (parse_defined): Warn only if -pedantic.
1257
1258 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
1259
1260         * cppfiles.c (stack_file): Use file path.
1261
1262 2003-08-02  Roger Sayle  <roger@eyesopen.com>
1263
1264         * builtin-types.def (BT_SSIZE): New primitive type.
1265         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
1266         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
1267         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
1268         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
1269         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
1270         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
1271         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
1272         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
1273         few functions that define default attributes using it.
1274         * c-common.c (c_common_insert_default_attributes): Do nothing.
1275
1276         * doc/extend.texi: Document these "new" builtins.
1277
1278 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1279
1280         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
1281         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
1282         when -mieee-fp set and -shared not set.
1283         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
1284
1285 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1286
1287         * cppfiles.c (struct _cpp_file): Rename once_only_next to
1288         next_file.  Remove import and pragma_once, add once_only.
1289         (find_file): Add new file structures to the all_files list.
1290         (should_stack_file): Mark #import-ed files once-only, and
1291         don't stack them if the file has already been stacked.
1292         (_cp_mark_file_once_only): Simplify.
1293         * cpphash.h (struct cpp_reader): Rename once_only_files
1294         to all_files.  Rename saw_pragma_once to seen_once_only.
1295         (_cpp_mark_file_once_only): Update prototype.
1296         * cpplib.c (do_pragma_once): Update.
1297
1298 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
1299
1300         * cppfiles.c (ENOTDIR): Remove.
1301         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
1302         other than ENOENT here.
1303         (once_only_file_p): Rename should_stack_file.
1304         (find_file, open_file_failed, read_file_guts): Report errors
1305         with full path name.
1306         (read_file): Move pch handling to should_stack_file.
1307         (should_stack_file): Handle PCH and once-only issues, and
1308         reading the file.
1309         (stack_file): Don't do file reads.
1310
1311 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1312
1313         * libgcov.c (gcov_exit): Cleanup and fix.
1314         * profile.c (compute_value_histograms): Don't try to read profiles
1315         that are not present.
1316
1317 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1318
1319         * builtins.def: Categorize.
1320
1321         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1322         Mind fp rounding.
1323         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
1324
1325 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
1326
1327         * config.gcc: Enable posix threads by default on darwin.
1328
1329 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
1330
1331         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
1332         even if nehedges1 is 0.
1333
1334 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1335
1336         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
1337         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
1338         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
1339         and defintions.
1340
1341         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
1342         * fixinc/fixincl.x: Regenerate.
1343         * fixinc/tests/base/math.h: Regenerate to match test_text change.
1344
1345 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1346
1347         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
1348
1349 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1350
1351         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
1352         for accesses to exc_ptr.
1353
1354 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
1355
1356         * doc/sourcebuild.texi (Front End Directory): Don't make references
1357         to libsubdir, it's not part of the interface to frontends.
1358         * doc/install.texi (Configuration): Help users read faster by saying
1359         that GCC's configure options are the standard autoconf ones.
1360         Mention --libdir.  Update the default rules for finding the
1361         assembler.  Don't use libsubdir since we haven't said what it means.
1362         (Specific): In the Solaris 7 notes, update the place to put the
1363         assembler.
1364         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
1365         * doc/cpp.texi (Search Path): Actually, the search path
1366         depends on libdir, which can relocate with cpp.
1367         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
1368         now a private interface between the Makefile and the driver.
1369
1370 2003-08-01  Richard Henderson  <rth@redhat.com>
1371
1372         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
1373
1374         * varasm.c (lookup_constant_def): New function.
1375         * rtl.h (lookup_constant_def): Declare it.
1376         * dwarf2out.c (loc_descriptor_from_tree): Use it.
1377         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
1378
1379 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
1380
1381         * c-decl.c (gettags, pushdecl_function_level): Delete.
1382         (last_function_parm_vars): Rename last_function_parm_others.
1383         (current_function_parm_vars): Rename current_function_parm_others.
1384         (struct c_scope): Rewrite comment explaining this data structure.
1385         Add names_last, blocks_last, parms_last fields.  Rename
1386         incomplete_list to incomplete.
1387         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
1388         (poplevel): Ignore second argument.  No need to nreverse
1389         anything.  Restructure such that each list is processed
1390         exactly once.  Use 'const location_t *locus' syntactic sugar
1391         variable where useful.  Issue unused variable warnings
1392         ourselves, do not rely on function.c.
1393         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
1394         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
1395         (implicitly_declare): decl cannot be error_mark_node.
1396         (undeclared_variable): Manipulate scope structure directly.
1397         (c_make_fname_decl): Likewise.
1398         (getdecls, c_init_decl_processing): Fix comment.
1399         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
1400         for 'last' variable.
1401         (grokparms): No need to nreverse parms list.
1402         (store_parm_decls_newstyle): Set up the parms_last and
1403         names_last fields of the new scope too.
1404         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
1405         on parms to begin with; check this under ENABLE_CHECKING.  Set
1406         up parms_last.
1407         (check_for_loop_decls): Refer directly to current_scope->tags.
1408         Use consistent quote style in diagnostics.
1409         (c_write_global_declarations): The names list is not backward.
1410
1411         * c-common.h: Don't prototype gettags.
1412         * c-parse.in: Call poplevel with second argument 0 always.
1413
1414 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1415
1416         * builtins.def: Resort builtins.
1417
1418 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1419
1420         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
1421         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
1422         Prepend "__builtin_" onto NAME with string concatenation.  Remove
1423         explicit "__builtin_" from each macro call.
1424
1425         Reformat entire file.
1426
1427 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1428
1429         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
1430         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
1431
1432 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1433
1434         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
1435         CCL1, or CCL2 modes with floating point operations.
1436
1437         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
1438         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
1439         "*subdf3_cconly"): New insns.
1440         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
1441
1442 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
1443
1444         * Makefile.in: Refine dependencies.
1445         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
1446         * c.opt: Update help for -Wimport.
1447         * cppfiles.c: Include hashtab.h.  Update comments.
1448         (stack_file): Read the file before updating dependencies.
1449         (once_only_file_p): Be smarter about marking once-only files.
1450         (_cpp_mark_file_once_only): Correct the check for existence on
1451         the list.
1452         (open_file_failed): Use name not path, which is NULL.
1453         * cpphash.h: Don't include hashtab.h.
1454         (struct _cpp_file): Remove.
1455         (struct cpp_reader): Update.
1456         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
1457         * cpplib.h (struct cpp_options): Remove warn_import.
1458         (cpp_simplify_path): Remove.
1459
1460 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
1461
1462         PR c++/11295
1463         * doc/extend.texi (Statement Expressions): Document C++ semantics.
1464
1465 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
1466
1467         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
1468
1469 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1470
1471         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
1472         throughout.
1473         * builtins.def: Likewise.
1474
1475 2003-07-31  Jason Merrill  <jason@redhat.com>
1476
1477         * Makefile.in (bubblestrap): Don't require a previous full
1478         bootstrap.
1479
1480         * expr.c (mostly_zeros_p): No longer static.
1481         * tree.h: Declare it.
1482         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
1483         unless we need to do substitutions.
1484
1485 2003-07-31  Roger Sayle  <roger@eyesopen.com>
1486
1487         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
1488         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
1489         as pow(x,2.0) when the latter will be expanded back into x*x.
1490         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
1491         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
1492         pow can never set errno when used with an integer exponent.
1493         Always use expand_powi when exponent is -1, 0, 1 or 2.
1494         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
1495         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
1496         the pow forms of these expressions.
1497
1498 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
1499
1500         * Makefile.in (libexecdir): New.
1501         (libsubdir): Use gcc instead of gcc-lib.
1502         (libexecsubdir): New.
1503         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
1504         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
1505         gcc-lib.
1506         (installdirs): Make libexecsubdir.
1507         (install-common): Put executables in libexecsubdir.
1508         (itoolsdir): Use libexecsubdir.
1509         (itoolsdatadir): New.
1510         (install-mkheaders): Separate data files and executables.
1511         (install-collect2): Put executables in libexecsubdir.
1512         (uninstall): Remove libexecsubdir.
1513         * mkheaders.in: Update for new arrangement of files.
1514         (libexecdir): New.
1515         (libexecsubdir): New.
1516         (itoolsdir): Use libexecsubdir.
1517         (itoolsdatadir): New.
1518         * gcc.c (gcc_libexec_prefix): New.
1519         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
1520         (standard_exec_prefix_1): Use libexec.
1521         (standard_exec_prefix_2): New.
1522         (standard_libexec_prefix): New.
1523         (process_command): Update for new arrangement of files.  Compute
1524         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
1525
1526 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1527
1528         * inclhack.def (stdio_va_list): Avoid bogus replacement which
1529         triggers on Interix.
1530         * fixincl.x: Regenerate.
1531
1532 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
1533
1534         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
1535         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
1536
1537 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1538
1539         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
1540
1541 2003-07-31  Per Bothner  <pbothner@apple.com>
1542
1543         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
1544         (add_input_filename):  New function.
1545         (handle_options):  Call add_input_filename directly instead of
1546         with a lang hook.
1547         * opts.h (in_fnames, num_in_fnames):  Moved here.
1548         (add_input_filename):  Declare.
1549         * c-decl.c:  Need to #include opts.h.
1550         * Makefile.in (c-decl.o):  Also depends on opts.h.
1551         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
1552         (c_common_handle_filename):  Replaced by add_input_filename.
1553         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
1554         Remove.
1555         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
1556         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1557         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
1558         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
1559
1560 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1561
1562         * combine.c (try_combine): Set JUMP_LABEL for newly created
1563         unconditional jump.
1564
1565 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1566
1567         * fold-const.c (fold): Fold some comparisons of bit operations.
1568
1569 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
1570
1571         * cgraph.c (create_edge): Fix typo.
1572         * i386.c (pic_symbolic_operand): Reorder tests.
1573
1574 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
1575
1576         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
1577         more fully.
1578         (Gcov Data Files): Update.
1579
1580 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1581
1582         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
1583         default.
1584
1585         * gthr-posix.c: New file.
1586         * gthr-posix.h: Define _REENTRANT if missing.
1587         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
1588
1589         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
1590         by gthr-posix.o.
1591         * config/alpha/t-osf-pthread: New file.
1592
1593         * fixinc/inclhack.def (alpha_pthread): New fix.
1594         * fixinc/fixincl.x: Regenerate.
1595         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
1596
1597         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
1598         warning.
1599         Fixes PR bootstrap/9330.
1600
1601 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1602
1603         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
1604         without GNU ld.
1605         Update comment.
1606         * configure: Regenerate.
1607
1608 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
1609
1610         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
1611         setter.
1612
1613 2003-07-30  Roger Sayle  <roger@eyesopen.com>
1614
1615         * builtins.def: Alphabetize.
1616
1617 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1618
1619         * doc/c-tree.texi: Normalize spellings of "lowercase" and
1620         "uppercase".
1621         * doc/cpp.texi: Likewise.
1622         * doc/md.texi: Likewise.
1623         * doc/rtl.texi: Likewise.
1624         * doc/tm.texi: Likewise.
1625
1626 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
1627
1628         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
1629         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
1630         of cc1obj.
1631
1632 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
1633
1634         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
1635         macros before defining them.
1636
1637 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1638
1639         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
1640         UNSPECV_BLOCKAGE): New constants.
1641         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
1642         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
1643         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
1644         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
1645
1646         (all insns and expanders): Write output control string as brace block
1647         where appropriate.  Remove \-escapes for doublequote characters.
1648
1649 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
1650
1651         * gcse.c (insert_store): Fix typo in previous patch.
1652
1653 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
1654
1655         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
1656
1657 2003-07-30  Andi Kleen  <ak@muc.de>
1658
1659         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
1660
1661 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1662
1663         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
1664         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
1665         GCOV_N_VALUE_COUNTERS): New.
1666         * profile.c (compute_value_histograms): New static function.
1667         (branch_prob): Read back the value histograms.
1668         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
1669         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
1670         * value-prof.c: Add comment on reading the profile.
1671         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
1672         * doc/invoke.texi (-fprofile-values): Document behavior with
1673         -fbranch-probabilities.
1674
1675 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
1676
1677         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
1678
1679 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
1680
1681         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
1682         symbolically.
1683
1684 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
1685
1686         * gcse.c (insert_store): Ignore fake edges.
1687
1688         * c-common.c (flag_vtable_gc): Kill.
1689         * c-common.g (flag_vtable_gc): Kill.
1690         * c-opts (c_common_handle_option): Kill.
1691         * c.opt (fvtable-gc): Kill.
1692         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
1693         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1694         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1695
1696         * invoke.texi (-ftable-gc): Kill documentation.
1697
1698         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
1699         just because function body is missing.
1700
1701         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
1702
1703 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
1704
1705         * unwind-sjlj.c: Fix typo in file description.
1706
1707 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
1708
1709         * calls.c (load_register_parameters): When shifting reg sized values
1710         to the msb, move the value to a reg first.
1711
1712 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1713
1714         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
1715         * line-map.h (linemap_add): Update comments.
1716         * line-map.c (linemap_add): Update comments, interpret zero-length
1717         filename as "<stdin>".
1718
1719 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1720
1721         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
1722
1723 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
1724
1725         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
1726         New static variables.
1727         (struct c_scope): Add parms and warned_forward_parm_decls
1728         fields; remove parm_order.
1729         (storedecls, storetags): Delete.
1730         (poplevel): Also clear bindings on the parms chain.
1731         (pushdecl): Handle forward declarations of parameters, and
1732         chain PARM_DECLs on the parms list, not the names list.
1733         (lookup_name_current_level): Check for PARM_DECLs on the parms
1734         list too.
1735         (push_parm_decl): Don't update parm_order.
1736         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
1737         warning, only once per parameter list, and set TREE_ASM_WRITTEN
1738         on the decls here.  Then move the forward decls to the names list.
1739         (grokparms): Set last_function_parm_vars.
1740         (get_parm_info): Don't use gettags or getdecls.  No need to
1741         extract non-parms from the parms list, or reorganize the parms
1742         list.  Feed nonparms back in the TREE_TYPE of the list node
1743         returned.  Issue only one error per parameter list for "void"
1744         appearing more than once in said parameter list.  Collapse
1745         parmlist_tags_warning into this function to avoid double scan
1746         of tags list.
1747         (start_function): Set current_function_parm_vars.
1748         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
1749         directly.  Get non-parms from current_function_parm_vars; no
1750         need to extract them from the parms chain.  Properly bind tags
1751         in the new scope.
1752         (store_parm_decls_oldstyle): No need to extract non-parameters
1753         from the parms chain, nor to store them back afterward.  Move
1754         declaration to top of function, restructure code reordering
1755         DECL_ARGUMENTS.
1756         (store_parm_decls): No need to save and restore warn_shadow.
1757         * c-parse.in: Don't call parmlist_tags_warning nor
1758         clear_parm_order.  Call mark_forward_parm_decls when forward
1759         parm decls are encountered.
1760         * c-tree.h: Prototype mark_forward_parm_decls; not
1761         clear_parm_order or parmlist_tags_warning.
1762
1763 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
1764
1765         * c-common.c (allow_pch): Remove.
1766         * c-common.h (allow_pch): Remove.
1767         (c_common_no_more_pch): Declare.
1768         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
1769         * c-pch.c: Include hosthooks.h.
1770         (c_common_valid_pch): Don't check allow_pch.
1771         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
1772         (c_common_no_more_pch): New.
1773         * ggc-common.c: Include hosthooks.h.
1774         (gt_pch_save): Call gt_pch_get_address.
1775         (gt_pch_restore): Call gt_pch_use_address.
1776         * hooks.c (hook_voidp_size_t_null): New.
1777         (hook_bool_voidp_size_t_false): New.
1778         * hooks.h (hook_voidp_size_t_null): New.
1779         (hook_bool_voidp_size_t_false): New.
1780         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
1781         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
1782         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
1783         HOST_HOOKS_GT_PCH_USE_ADDRESS.
1784         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
1785         gt_pch_use_address.
1786         * doc/hostconfig.texi (Host Common): Document
1787         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
1788         * Makefile.in (c-pch.o): Depend on hosthooks.h.
1789         (ggc-common.o): Likewise.
1790
1791         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
1792         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
1793         (pch_address_space): New.
1794         (darwin_rs6000_gt_pch_get_address): New.
1795         (darwin_rs6000_gt_pch_use_address): New.
1796
1797 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
1798
1799         PR preprocessor/11569
1800         PR preprocessor/11649
1801         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
1802         * cppfiles.c: Completely rewritten.
1803         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
1804         struct cpp_path is now struct cpp_dir.
1805         (remove_duplicates): Don't simplify path names.
1806         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
1807         cpp_stack_file.
1808         * cpphash.h: Include hashtab.h.
1809         (_cpp_file): Declare.
1810         (struct cpp_buffer): struct include_file is now struct _cpp_file,
1811         and struct cpp_path is now struct cpp_dir.  Rename members.
1812         (struct cpp_reader): Similarly.  New members once_only_files,
1813         file_hash, file_hash_entries, quote_ignores_source_dir,
1814         no_search_path, saw_pragma_once.  Remove all_include_files and
1815         max_include_len.  Make some members bool.
1816         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
1817         (_cpp_stack_file): Renamed from _cpp_read_file.
1818         (_cpp_stack_include): Renamed from _cpp_execute_include.
1819         (_cpp_init_files): Renamed from _cpp_init_includes.
1820         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
1821         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
1822         (cpp_read_next_file): Rename and move to cppfiles.c.
1823         (cpp_read_main_file): Update.
1824         * cpplib.c (run_directive): Update for renamed members.
1825         (do_include_common, _cpp_pop_buffer): Update.
1826         (do_import): Undeprecate #import.
1827         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
1828         * cpplib.h: Remove file_name_map_list.
1829         (cpp_options): Remove map_list.
1830         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
1831         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
1832
1833 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1834
1835         * Makefile.in:  Make stamp-objdir safe for parallel builds.
1836
1837 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
1838
1839         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
1840         (info):  Depend on stmp-docobjdir.
1841
1842 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1843
1844         * configure: Regenerate.
1845
1846 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
1847
1848         PR C++/11131
1849         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
1850         in !unit-at-a-time mode.
1851
1852 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
1853
1854         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
1855         main function.
1856
1857 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
1858
1859         PR c++/11667
1860         * c-common.c (shorten_compare): Take into account differences
1861         between C and C++ representation for enumeration types.
1862         * tree.h (set_min_and_max_values_for_integral_type): Declare.
1863         * stor-layout.c (set_min_and_max_values_for_integral_type): New
1864         function, broken out from ...
1865         (fixup_signed_type): ... here and ...
1866         (fixup_unsigned_type): ... here.
1867
1868 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
1869
1870         * c-decl.c: Update commentary, adjust blank lines throughout.
1871         (struct c_scope): Fix indentation.  Reorder members so
1872         outer-context pointers come first, booleans last.
1873         (duplicate_decls, define_label): Use a 'locus' variable for
1874         diagnostic locations in a few more places.
1875         (warn_if_shadowing): Un-split a conditional that fits on one line.
1876         (c_init_decl_processing): No need to clear current_scope and
1877         current_function_scope.
1878         (start_decl): Merge if/else if statements with same action.
1879         (push_parm_decl): Rename old_immediate_size_expand to use
1880         save_foo convention; save/restore around entire function.
1881         (grokdeclarator): Remove unnecessary braces.
1882
1883 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
1884             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
1885
1886         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
1887         when warn_declaration_after_statement.  Call pedwarn_c90, not
1888         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
1889         * c-common.c (warn_declaration_after_statement): Define.
1890         * c-common.h (warn_declaration_after_statement): Declare.
1891         * c.opt (Wdeclaration-after-statement): New.
1892         * c-errors.c (pedwarn_c90): New function.
1893         * c-opts.c (c_common_handle_option) <case
1894         OPT_Wdeclaration_after_statement>: New.
1895         * c-tree.h (pedwarn_c90): Declare.
1896         * doc/invoke.texi (Option Summary): Document
1897         -Wdeclaration-after-statement.
1898         (Warning Options): Ditto.
1899
1900 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
1901
1902         * i386.md (memory attribute) Avoid accessing uninitialized memory
1903         for ishift1 type instructions.
1904
1905 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
1906
1907         * configure.in (--enable-checking): Add fold category.
1908         (ENABLE_FOLD_CHECKING): Define if requested.
1909         * configure: Rebuilt.
1910         * config.in: Rebuilt.
1911         * doc/install.texi: Document it.
1912         * fold-const.c: Include md5.h.
1913         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
1914         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
1915         print_fold_checksum): New functions.
1916
1917         * fold-const.c (fold): Never modify argument passed to fold, instead
1918         change a copy and return it.
1919         * convert.c (convert_to_integer): Likewise.
1920
1921 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1922
1923         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
1924         cleanup of junk after #else and #endif directives.  Collapse repeated
1925         clauses into for statment.
1926
1927         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
1928
1929 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
1930
1931         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
1932         (keep_next_if_subblocks): Rename next_is_function_body.
1933         (pushlevel): Adjust commentary.  Always set ->keep on the
1934         outermost level of a function.  Don't set ->keep_if_subblocks.
1935         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
1936         (store_parm_decls): Adjust to match.
1937         (finish_function): Adjust to match.
1938         Call poplevel with all three arguments zero.
1939
1940         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
1941         New functions split out of store_parm_decls.
1942         Avoid unnecessary work. Use local variables consistently.
1943         (store_parm_decls): Likewise.
1944
1945         (finish_function): No need to set functionbody flag on call to
1946         poplevel.
1947         (struct language_function): Remove scope field.
1948         (c_push_function_context, c_pop_function_context): No need to
1949         save and restore current_scope.
1950
1951 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
1952
1953         * doc/extend.texi (Deprecated Features): Implicit typename is
1954         gone. Default args on types is going.
1955
1956 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
1957
1958         * Makefile.in (ifcvt.o): Depend on target.h
1959         * ifcvt.c (target.h): Include.
1960         (if_convert): Don't call mark_loop_exit_edges if we can't
1961         modify jumps.
1962
1963 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1964
1965         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
1966
1967 2003-07-26  Richard Henderson  <rth@redhat.com>
1968
1969         PR inline-asm/11676
1970         * cse.c (count_reg_usage): Handle asm_operands properly.
1971
1972 2003-07-26  Roger Sayle  <roger@eyesopen.com>
1973
1974         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
1975         (DEF_EXT_FALLBACK_BUILTIN): Delete.
1976         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
1977         the regular DEF_EXT_LIB_BUILTIN macro.
1978         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
1979         the regular DEF_LIB_BUILTIN macro.
1980         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
1981         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
1982         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
1983         DEF_EXT_LIB_BUILTIN macro.
1984
1985         * c-decl.c (duplicate_decls): Remove code to handle builtin
1986         functions prototyped without an argument list.
1987
1988 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
1989
1990         * config/i386/winnt.c: Revert 2003-07-08 change.
1991         (i386_pe_section_type_flags): Remove error_with_decl here too.
1992
1993 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1994
1995         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
1996         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
1997         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
1998         (v850_handle_data_area_attribute): Likewise.
1999
2000 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
2001
2002         * varasm.c (output_constant_def_contents): Use
2003         ASM_DECLARE_CONSTANT_NAME if defined.
2004         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
2005         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
2006         objects get at least one byte to prevent assembler problems.
2007         (ASM_DECLARE_CONSTANT_NAME): New.
2008
2009         * Makefile.in (libbackend.o): Remove options_.h.
2010         (mostlyclean): Likewise.
2011
2012         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
2013         insert a label at the end of an function under Mach-O.
2014
2015         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
2016
2017 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
2018
2019         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
2020         equality.
2021         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
2022
2023         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
2024
2025 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2026
2027         * doc/passes.texi (Passes): Mention pretty-printing and
2028         diagnostic files.
2029
2030 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
2031
2032         * doc/extend.texi (Function Attributes): GNU C++ does now allow
2033         unused parameter decls.
2034         (Attribute Syntax): GNU C++ does not allow label attributes to be
2035         after the ':'.
2036
2037 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2038
2039         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
2040         (objc_declare_class): Likewise.
2041         (error_with_ivar): Likewise.
2042         (start_class): Likewise.
2043         (warn_with_method): Likewise.
2044
2045 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2046
2047         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
2048         from GCC.
2049         * calls.c (try_to_integrate): Don't use xxx_with_decl.
2050         (expand_call): Likewise.
2051         * dwarfout.c (output_reg_number): Likewise.
2052         * expr.c (expand_expr): Likewise.
2053         * function.c (assign_temp): Likewise.
2054         (uninitialized_vars_warning): Likewise.
2055         (setjmp_args_warning): Likewise.
2056         (expand_function_end): Likewise.
2057         * stmt.c (fixup_gotos): Likewise.
2058         (warn_about_unused_variables): Likewise.
2059         (expand_end_bindings): Likewise.
2060         * stor-layout.c (layout_decl): Likewise.
2061         (place_field): Likewise.
2062         * toplev.c (check_global_declarations): Likewise.
2063         (rest_of_handle_inlining): Likewise.
2064         (default_tree_printer): New function.
2065         (general_init): Initialize diagnostic machinery before routing
2066         signals to the ICE machinery.  Set default tree printer.
2067         * toplev.h (pedwarn_with_decl): Remove declaration.
2068         (warning_with_decl): Likewise.
2069         (error_with_decl): Likewise.
2070         (pedwarn): Remove attribute for the time being.
2071         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
2072         * varasm.c (named_section): Likewise.
2073         (make_decl_rtl): Likewise.
2074         (assemble_variable): Likewise.
2075         (merge_weak): Likewise.
2076         (declare_weak): Likewise.
2077
2078         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
2079         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
2080         (format_with_decl): Remove.
2081         (diagnostic_for_decl): Likewise.
2082         (pedwarn_with_decl): Likewise.
2083         (warning_with_decl): Likewise.
2084         (error_with_decl): Likewise.
2085         (diagnostic_initialize): Adjust.
2086         (diagnostic_count_diagnostic): Likewise.
2087         (announce_function): Likewise.
2088         (lhd_print_error_function): Likewise.
2089         (diagnostic_report_current_module): Likewise.
2090         (default_diagnostic_starter): Likewise.
2091         (diagnostic_report_diagnostic): Likewise.
2092         (default_diagnostic_finalizer): Likewise.
2093         (verbatim): Likewise.
2094         (error): Likewise.
2095         (warning): Likewise.
2096         * opts.c (common_handle_option): Likewise.
2097         * pretty-print.c: New file.
2098         * c-pretty-print.h (pp_base): Override.
2099         * c-pretty-print.c: Adjust use of macros throughout.
2100         (pp_buffer): New macro.
2101         (pp_newline): Likewise.
2102         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
2103         * Makefile.in (DIAGNOSTIC_H): New variable.
2104         (c-errors.o): Use it.
2105         (c-objc-common.o): Likewise.
2106         (c-common.o): Likewise.
2107         (c-opts.o): Likewise.
2108         (c-format.o): Likewise.
2109         (diagnostic.o): Likewise.
2110         (opts.o): Likewise.
2111         (toplev.o): Likewise.
2112         (rtl-error.o): Likewise.
2113         (dwarf2out.o): Likewise.
2114         (jump.o): Likewise.
2115         (pretty-print.o): New rule.
2116
2117 2003-07-24  Roger Sayle  <roger@eyesopen.com>
2118
2119         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
2120         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
2121         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
2122         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
2123         (DEF_FRONT_END_LIB_BUILTIN): Delete.
2124         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
2125         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
2126
2127         * builtins.c (build_string_literal): New function to construct
2128         a char* pointer to a string literal.
2129         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
2130         "rtx target" to be consistent with other expand_builtin_* functions.
2131         Change 3rd argument from "int unlocked" to "bool unlocked".
2132         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
2133         c-common.c to avoid front-end dependencies.  Optimize printf("")
2134         as a no-op when the result isn't required.  Handle embedded NULs
2135         in format string.
2136         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
2137         from c-common.c to avoid front-end dependencies.  Likewise, optimize
2138         fprintf(fp,"") as a no-op when the result isn't required, evaluating
2139         fp for side-effects.  Handle embedded NULs in format string.
2140         (expand_builtin_sprintf): Fix typo.
2141         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
2142         optimizing.  Adjust calls of expand_builtin_fputs to match the API
2143         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
2144         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
2145         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
2146
2147         * c-common.c (is_valid_printf_arglist): Delete.
2148         (c_expand_builtin): Delete.
2149         (c_expand_builtin_printf): Moved to builtins.c. Delete.
2150         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
2151         (c_expand_expr): No longer treat CALL_EXPRs specially.
2152         (CALLED_AS_BUILT_IN): Delete.
2153
2154 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2155
2156         PR optimization/11631
2157         * gcse.c (store_motion): Connect infinite loops to exit.
2158
2159 2003-07-24  Jason Merrill  <jason@redhat.com>
2160
2161         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
2162         (boolean_true_node, boolean_false_node): Likewise.
2163         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
2164         * tree.c (build_common_tree_nodes): Init boolean_type_node.
2165         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
2166         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
2167         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
2168         (truthvalue_true_node): Renamed from boolean_true_node.
2169         (truthvalue_false_node): Renamed from boolean_false_node.
2170         * c-decl.c: Just set truthvalue_* to integer_*.
2171         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
2172
2173 2003-07-24  Roger Sayle  <roger@eyesopen.com>
2174
2175         * c-decl.c (match_builtin_function_types): New subroutine of
2176         duplicate_decls to test whether a redeclaration of a builtin
2177         function is suitably close, i.e. the return type and all of
2178         the argument types have the same modes as the builtin expects.
2179         (duplicate_decls): Fuzzy type matching for builtin functions
2180         moved to match_builtin_function_types.
2181
2182 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2183
2184         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
2185         flag correctly.
2186
2187 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
2188
2189         * c-decl.c: Search-and-replace change 'binding level' to
2190         'scope' in commentary.
2191         (struct binding_level): Now struct c_scope.
2192         (current_binding_level): Now current_scope.
2193         (free_binding_level): Now scope_freelist.
2194         (current_function_level): Now current_function_scope.
2195         (global_binding_level): Now global_scope.
2196         (make_binding_level): Now make_scope.
2197         (pop_binding_level): Now pop_scope.
2198
2199 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2200
2201         * configure.in (libgcc_visibility): Add missing whitespace.
2202
2203 2003-07-24  Richard Henderson  <rth@redhat.com>
2204
2205         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
2206         __gcc_personality_v0.
2207
2208 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2209
2210         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
2211
2212 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
2213
2214         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
2215         documentation missed from my 2003-07-09 patch.
2216
2217 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2218
2219         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
2220         it's not provided.
2221         * configure: Rebuild.
2222
2223 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
2224
2225         PR c/10602
2226         * c-typeck.c (type_lists_compatible_p): Do not compare
2227         arguments if one of them is an error_mark_node
2228
2229 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
2230
2231         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
2232         if current_function_calls_eh_return.
2233
2234 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2235
2236         * doc/c-tree.texi (OFFSET_TYPE): Update description.
2237
2238 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
2239
2240         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
2241         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2242         __umodsi3, __modsi3): Increase frame size to 32.
2243
2244 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
2245
2246         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
2247         prototype.
2248
2249 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
2250
2251         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
2252
2253         PR optimization/10679
2254         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
2255
2256 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2257
2258         PR target/11607 and PR target/11516
2259         * pa.md (extzv, extv, insv): Revert latter half of last patch.
2260
2261 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
2262
2263         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
2264         * varasam.c (output_constant): Likewise.
2265
2266 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2267
2268         * alias.c: Fix comment formatting.
2269         * c-common.c: Likewise.
2270         * c-decl.c: Likewise.
2271         * c-opts.c: Likewise.
2272         * combine.c: Likewise.
2273         * cpplib.c: Likewise.
2274         * diagnostic.c: Likewise.
2275         * dojump.c: Likewise.
2276         * final.c: Likewise.
2277         * fold-const.c: Likewise.
2278         * gcc.c: Likewise.
2279         * gcse.c: Likewise.
2280         * ggc-page.c: Likewise.
2281         * jump.c: Likewise.
2282         * loop.c: Likewise.
2283         * mips-tfile.c: Likewise.
2284         * recog.c: Likewise.
2285         * regclass.c: Likewise.
2286         * regmove.c: Likewise.
2287         * tree.c: Likewise.
2288         * tree.h: Likewise.
2289
2290 2003-07-22  Per Bothner  <pbothner@apple.com>
2291
2292         * line-map.c (add_line_map):  Handle invalid LEAVE request.
2293         Fixes PR preprocessor/11361.
2294
2295 2003-07-22  Per Bothner  <pbothner@apple.com>
2296
2297         * diagnostic.c.(diagnostic_report_current_module):  Update to match
2298         2003-06-05 changes to push_srcloc and pop_srcloc.
2299
2300 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
2301
2302         * doc/trouble.texi: Better document two-stage name lookup.
2303
2304 2003-07-22  Eric Christopher <echristo@redhat.com>
2305
2306         * config/s390.c (s390_valid_pointer_mode): New.
2307         (TARGET_VALID_POINTER_MODE): Use.
2308         (s390_emit_prologue): Add tpf profiling hooks.
2309         (s390_emit_epilogue): Ditto.
2310         * config/s390.h (MASK_TPF): New.
2311         (TARGET_TPF): Use.
2312         (POINTERS_EXTEND_UNSIGNED): Define.
2313         * config/s390.md (ptr_extend): New pattern.
2314
2315 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
2316
2317         * hashtable.c (approx_sqrt): Make static.
2318         * hashtable.h: Don't prototype approx_sqrt.
2319         * line-map.c (init_line_maps): Rename linemap_init.
2320         (free_line_maps): Rename linemap_free.
2321         (add_line_map): Rename linemap_add.
2322         (lookup_line): Rename linemap_lookup.
2323         (print_containing_files): Rename linemap_print_containing_files.
2324         * linemap.h: Update to match.
2325
2326         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
2327         linemap routines to use new names.
2328
2329 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
2330
2331         * c-common.c (handle_packed_attribute): Don't pack a struct via a
2332         typedef. Propagate packedness from a main variant.
2333
2334 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
2335
2336         * Makefile.in (install-common): Add dependency on installdirs.
2337
2338 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
2339
2340         * c-common.c (c_common_type_for_mode): Return integer types for
2341         pointer modes.
2342
2343 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
2344
2345         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
2346         (finish_decl): Call maybe_apply_pragma_weak here.
2347         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
2348         TREE_PUBLIC and TREE_STATIC are decided.
2349         (start_function): Move call to maybe_apply_pragma_weak.  Check that
2350         DECL_ASSEMBLER_NAME isn't set too early.
2351
2352         * cpplex.c (_cpp_process_line_notes): Mention option name in
2353         trigraphs warning.
2354
2355 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
2356
2357         * combine.c (if_then_else_cond): Simplify the comparison of
2358         rtx against -1, 0, and 1.
2359         * loop.c (check_dbra_loop): Likewise.
2360         * optabs.c (emit_conditional_move): Likewise.
2361         (emit_conditional_add): Likewise.
2362         * config/i386/i386.md (*movsi_or): Likewise.
2363         (*movdi_or_rex6): Likewise.
2364
2365 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
2366
2367         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
2368
2369 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
2370
2371         * cppfiles.c (open_file_pch): Don't put unused entries in the
2372         splay tree.  Remove dead code.
2373
2374 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
2375
2376         * c-common.h (num_in_fnames): Declare.
2377         (c_static_assembler_name): Move from here...
2378         * c-tree.h (c_static_assembler_name): ... to here.
2379         * c-opts.c: Don't include langhooks-def.h.
2380         (c_static_assembler_name): Move to c-decl.c.
2381         (num_in_fnames): Make externally visible.
2382         * c-decl.c: Include langhooks-def.h.
2383         (c_static_assembler_name): Move from c-opts.c.
2384         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
2385         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
2386
2387         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
2388         when it's not needed.
2389
2390 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
2391
2392         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
2393         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
2394         (rs6000_emit_prologue): Save FPRs inline if set.
2395
2396 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
2397
2398         * config/ia64/ia64.md (prefetch): Support predicate.
2399
2400 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
2401
2402         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
2403         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
2404         table.
2405
2406 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2407
2408         PR optimization/11536
2409         * unroll.c (loop_iterations): Do not replace a register holding
2410         the final value by its equivalent before the loop if it is not
2411         invariant.
2412
2413 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
2414
2415         * doc/extend.texi: Fixes to spelling, grammar, and diction.
2416
2417 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
2418
2419         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
2420         (V850 Options): Spelling fixes.
2421
2422 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
2423
2424         * doc/invoke.texi: Fixes to style, grammar and diction.
2425
2426 2003-07-20  Roger Sayle  <roger@eyesopen.com>
2427
2428         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
2429         * system.h (SMALL_STACK): Poison obsolete target macro.
2430         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
2431
2432 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
2433
2434         * configure.in:  Cache the results of testing for cmp's capabilities.
2435         * configure:  Regenerate.
2436
2437 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
2438
2439         PR debug/11279
2440         * dwarf2out.c (gen_enumeration_type_die): Remember that
2441         enumerators can be unsigned.
2442
2443 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
2444
2445         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
2446         (push_label_level, pop_label_level): Kill.
2447         (struct binding_level): Rename level_chain to outer.
2448         Add outer_function field.  Change parm_flag, function_body,
2449         keep, keep_if_subblocks to 1-bit bitfields of type bool.
2450         (current_function_level): New variable.
2451         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
2452         (keep_next_level, declare_parm_level, warn_if_shadowing):
2453         Update to match.
2454         (struct language_function): Kill named_labels, shadowed_labels fields.
2455         (c_init_decl_processing, start_function, c_push__function_context)
2456         (c_pop_function_context): No need to muck with named_labels nor
2457         shadowed_labels.
2458
2459         (make_binding_level): No need to clear the structure here.
2460         (pop_binding_level): Always operate on current_binding_level.
2461         Update current_function_level if necessary.
2462         (pushlevel): Don't clear named_labels.  Update current_function_level
2463         if necessary.  Use "true" and "false" where appropriate.
2464         (poplevel): Diagnose labels defined but not used, or vice
2465         versa, and clear out label-meanings leaving scope, while
2466         walking down the decls list, for all binding levels.
2467         Handle LABEL_DECLs appearing in the shadowed list.
2468         pop_binding_level takes no arguments.
2469         (pushdecl_function_level): Use current_function_level.
2470
2471         (make_label, bind_label): New static functions.
2472         (declare_label): New exported function.
2473         (lookup_label, define_label): Rewritten for new data structure.
2474         (shadow_label): Kill.
2475
2476         * c-tree.h: Prototype declare_label; don't prototype
2477         push_label_level, pop_label_level, nor shadow_label.
2478         * c-parse.in: Remove all calls to push_label_level and
2479         pop_label_level.  Use declare_label for __label__ decls.
2480
2481         * doc/extend.texi: Clarify that __label__ can be used to
2482         declare labels with local scope in any nested block, not
2483         just statement expressions.  Cross-reference nested functions
2484         section from local labels section.
2485
2486 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2487
2488         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
2489
2490 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
2491
2492         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
2493
2494 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2495
2496         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
2497         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
2498
2499 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
2500
2501         * config/s390/s390.c (legitimize_pic_address): Access local symbols
2502         relative to the GOT instead of relative to the literal pool base.
2503         (s390_output_symbolic_const): Handle new GOT-relative accesses.
2504         * config/s390/s390.md ("call"): Access local functions and PLT stubs
2505         relative to the GOT instead of relative to the literal pool base.
2506         ("call_value"): Likewise.
2507         ("call_value_tls"): Likewise.
2508
2509         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
2510         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
2511         (s390_chunkify_finish): Likewise.
2512         (s390_chunkify_cancel): Likewise.
2513         (s390_reorg): Adapt caller.
2514         (find_base_register_in_addr,
2515         find_base_register_ref, replace_base_register_ref): Delete.
2516         (find_ltrel_base, replace_ltrel_base): New functions.
2517         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
2518         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
2519         base vs. index register usage.
2520         (struct constant_pool): Remove 'anchor'.
2521         (s390_add_anchor): Delete.
2522         (s390_dump_pool): Remove anchor handling.
2523         * config/s390/s390.md ("reload_anchor"): Remove.
2524
2525         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
2526         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
2527         (s390_emit_prologue): Use it.
2528         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
2529         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
2530         hard-code register 14.
2531         * config/s390/s390-protos.h (s390_load_got): Declare.
2532
2533         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
2534         Support TImode constants.
2535         * config/s390/s390.md ("consttable_ti"): New.
2536         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
2537
2538         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
2539         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
2540         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
2541         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
2542         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
2543         New symbolic constants.
2544         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2545         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
2546         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
2547         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
2548         symbolic UNSPEC values.
2549         * config/s390/s390.c (larl_operand, s390_short_displacement,
2550         bras_sym_operand, s390_cannot_force_const_mem,
2551         s390_delegitimize_address, s390_decompose_address,
2552         legitimize_pic_address, s390_output_symbolic_const,
2553         s390_function_profiler): Use symbolic UNSPEC values.
2554
2555 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2556
2557         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
2558         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
2559         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
2560         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
2561         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
2562         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
2563         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
2564         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
2565         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
2566         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
2567         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
2568         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
2569         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
2570         postreload.c prefix.c print-tree.c protoize.c ra-build.c
2571         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
2572         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
2573         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
2574         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
2575         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
2576         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
2577         casts.
2578
2579 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2580
2581         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
2582         * toplev.h (warning): Remove attribute.
2583
2584 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2585
2586         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
2587         (pop_label_level): Likewise.
2588         (duplicate_decls): Likewise.
2589         (implicitly_declare): Likewise.
2590         (shadow_label): Likewise.
2591         (start_decl): Likewise.
2592         (finish_decl): Likewise.
2593         (grokdeclarator): Likewise.
2594         (get_parm_info): Likewise.
2595         (detect_field_duplicates): Likewise.
2596         (finish_struct): Likewise.
2597         (start_function): Likewise.
2598         (store_parm_decls): Likewise.
2599         (finish_function): Likewise.
2600         (c_expand_body_1): Likewise.
2601         (check_for_loop_decls): Likewise.
2602         (merge_translation_unit_decls): Likewise.
2603
2604 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
2605
2606         * common.opt:  Document --param.
2607         * opts.c (columns, undocumented_msg): New.
2608         (print_help): Get number of columns from environment.  Print
2609         --param help.  Tweak newline handling.
2610         (print_param_help): New.
2611         (print_filtered_help): Better handling of duplicates.  Complain
2612         about undocumented switches.
2613         (print_switch): New.
2614         (wrap_help): Improve wrapping, use COLUMNS.
2615         * opts.sh: Ignore comments in records.
2616         * params.def: Fix typos and remove trailing periods.
2617         * toplev.c (display_help): Don't dump --param help.
2618         * doc/sourcebuild.texi: Update.
2619
2620 2003-07-18  Richard Henderson  <rth@redhat.com>
2621
2622         PR target/11556
2623         * optabs.c (prepare_operand): Fail gracefully instead of abort
2624         if the predicate doesn't satisfy.
2625         (gen_cond_trap): Allow prepare_operand to fail.
2626
2627 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2628
2629         * c-common.c: Don't undefine GCC_DIAG_STYLE.
2630         (fname_decl): Don't use xxx_with_decl.
2631         (c_add_case_label): Likewise.
2632         (handle_section_attribute): Likewise.
2633         (handle_alias_attribute): Likewise.
2634         (handle_no_instrument_function_attribute): Likewise.
2635         (handle_no_limit_stack_attribute): Likewise.
2636         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
2637         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
2638
2639 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2640
2641         * Makefile.in (ifcvt.o): Add cfgloop.h.
2642         * basic-block.h (EDGE_LOOP_EXIT): New flag.
2643         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
2644         * ifcvt.c: Include cfgloop.h.
2645         (mark_loop_exit_edges): New static function.
2646         (if_convert): Call it.
2647         (find_if_header): Ignore branches out of loops.
2648
2649 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
2650
2651         * combine.c (simplify_comparison): Don't share rtx when converting
2652         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
2653
2654 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
2655
2656         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
2657         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2658         (MUST_PASS_IN_STACK): Define.
2659         (BLOCK_REG_PADDING): Define.
2660
2661 2003-07-18  Richard Henderson  <rth@redhat.com>
2662
2663         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
2664         to skip the addr_vec.
2665
2666 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
2667
2668         * combine.c (combinable_i3pat): Don't forbid occurrences of
2669         i2dest or i1dest in inner_dest if inner_dest is a mem.
2670
2671 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
2672
2673         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
2674
2675 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
2676
2677         PR target/11087
2678         * loop.c (basic_induction_var): Check if convert_modes emitted any
2679         instructions. Remove them and return 0 if so.
2680
2681 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2682
2683         PR optimization/11083
2684         * toplev.c (rest_of_handle_addresof): Rename into
2685         rest_of_handle_addressof.  Delete unreachable blocks
2686         if dead edges were purged after the addressof pass.
2687
2688 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
2689
2690         * Makefile.in, configure, configure.in: Remove handling of
2691         lang-options.h and options_.h.
2692         * toplev.c (struct lang_opt, documented_lang_options): Remove.
2693         (display_help): Don't use documented_lang_options.
2694
2695 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2696
2697         * c-decl.c (pushdecl_function_level): Make static, return nothing.
2698         (kept_level_p): Fold into poplevel.
2699         (undeclared_variable): Moved here from c-typeck.c.  Export.
2700         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
2701         (undeclared_variable): Prototype here.  Don't prototype
2702         kept_level_p nor pushdecl_function_level.
2703         * c-parse.in: Change first argument to poplevel from
2704         "kept_level_p()" to "KEEP_MAYBE".
2705         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
2706
2707 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2708
2709         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
2710         commutative operands instead of modifying the RTL in-place.
2711
2712 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
2713
2714         PR optimization/11557
2715         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
2716         unless we know which function is being called.
2717
2718 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2719
2720         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
2721         whether to reorder the operands of a commutative binary operator.
2722
2723 2003-07-17  Roger Sayle  <roger@eyesopen.com>
2724
2725         * fold-const.c (const_binop): Avoid performing the FP operation at
2726         compile-time, if either operand is NaN and we honor signaling NaNs,
2727         or if we're dividing by zero and either flag_trapping_math is set
2728         or the desired mode doesn't support infinities.
2729         (fold_initializer): New function to fold an expression ignoring any
2730         potential run-time exceptions or traps.
2731         * tree.h (fold_initializer): Prototype here.
2732         * c-typeck.c (build_binary_op): Move to the end of the file so
2733         that intializer_stack is in scope.  If constructing an initializer,
2734         i.e. when initializer_stack is not NULL, use fold_initializer to
2735         fold expressions.
2736         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
2737         performing FP operations at compile-time, if they would raise an
2738         exception at run-time.
2739
2740 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
2741
2742         PR 11498
2743         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
2744         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
2745         (GTFILES): Add langhooks.c.
2746         (gt-langhooks.h): New.
2747         * c-common.h (c_static_assembler_name): Prototype.
2748         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2749         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2750         * c-opts.c: Include langhooks-def.h.
2751         (c_static_assembler_name): New.
2752         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
2753         (var_labelno): New.
2754         (lhd_set_decl_assembler_name): Give static objects with context
2755         unique names.
2756         * varasm.c (var_labelno): Delete.
2757         (make_decl_rtl): Don't change the assembler name once it's set.
2758
2759         * c-opts.c (this_input_filename): New.
2760         (finish_options): Take new parameter, name of file being compiled.
2761         Update callers.  Set this_input_filename.
2762         (push_command_line_include): Use this_input_filename not
2763         main_input_filename.
2764
2765 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2766
2767         * Makefile.in: Depend .pot generation on options.c.
2768         * po/exgettext: Add an extra_files variable containing additional
2769         files to scan.
2770
2771 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
2772
2773         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
2774         c_write_global_declarations.
2775
2776         * c-decl.c: Fix typos in several comments.  Remove all
2777         #if 0 blocks; reindent as needed.  Remove unused argument
2778         to declare_parm_level; all callers changed.
2779         * c-parse.in: Update calls to declare_parm_level.  Avoid
2780         issuing a double warning in some circumstances.
2781         * c-typeck.c: Update calls to declare_parm_level.
2782         * c-tree.h: Update prototype of declare_parm_level.
2783
2784         * c-pragma.c (apply_pragma_weak): Don't complain about a
2785         redundant #pragma weak.
2786
2787         * objc/objc-act.c (forward_declare_categories,
2788         build_selector_reference_decl, build_class_reference_decl,
2789         build_objc_string_decl, synth_forward_declarations,
2790         build_protocol_reference): Set TREE_PUBLIC on synthetic
2791         forward decl to 0, consistent with eventual definition.
2792         Correct comments to match.
2793
2794         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
2795         in regexp that don't form a range expression.
2796         * fixinc/fixincl.def: Regenerate.
2797
2798 2003-07-17  Richard Henderson  <rth@redhat.com>
2799
2800         PR target/10907
2801         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
2802         even with !TARGET_CONST_GP.
2803         (ia64_function_ok_for_sibcall): Reject non-local functions.
2804
2805 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
2806
2807         * c-common.c (c_estimate_num_insns_1): Don't handle
2808         METHOD_CALL_EXPR.
2809         * expr.c (safe_from_p): Likewise.
2810         * gengtype.c (adjust_field_tree_exp): Likewise.
2811         * stmt.c (warn_if_unused_value): Likewise
2812         * tree.c (first_rtl_op): Likewise.
2813         * tree.def: Don't define METHOD_CALL_EXPR.
2814         * java/lang.c (java_estimate_num_insns_1): Don't handle
2815         METHOD_CALL_EXPR.
2816
2817 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2818
2819         PR other/11466
2820         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
2821         and its restrictions for the SPARC64 port.
2822         Move the entry of "-mimpure-text" before that of "-mv8".
2823
2824 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
2825             Phil Edwards <phil@jaj.com>
2826
2827         * doc/install.texi (*-*-solaris2*): Document the step-by-step
2828         procedure to bootstrap and install.
2829         Document the preference for the legacy Sun tools in /usr/bin
2830         over the POSIX tools in /usr/xpg4/bin for the build process.
2831
2832 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
2833
2834         * c.opt: Document Uncodumented; use it.  Document ObjC options.
2835         * opts.c (print_filtered_help): Skip undocumented switches.
2836         * opts.h (CL_UNDOCUMENTED): New.
2837         * opts.sh: Handle Undocumented.
2838         * toplev.c (documented_lang_options): Prevent its becoming empty.
2839 objc:
2840         * lang-options.h: Remove.
2841
2842 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
2843
2844         * loop.c (check_ext_dependent_givs): Pass const struct loop *
2845         instead of struct loop_info * as argument.  Accept BIVs with
2846         increment +/- 1 provided there is a friendly exit test against
2847         a loop-invariant value.
2848         (strength_reduce): Adapt call to check_ext_dependent_givs.
2849
2850 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
2851             Con Bradley <con.bradley@superh.com>
2852
2853         * sh-protos.h (sh_get_pr_initial_val): Declare.
2854         * sh.c (regno_reg_class): Make its elements type enum reg_class.
2855         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
2856         and live_regs_mask arguments.  Changed all callers.
2857         (save_schedule_s): New structure.
2858         (save_schedule): New typedef.
2859         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
2860         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
2861         In interrupts handlers, also save registers that are usually
2862         partially saved, and make sure there is at least one general purpose
2863         register saved if a target register needs saving.
2864         Add casts in comparisons to avoid warnings.
2865         (sh_media_register_for_return): return -1 for interrupt handlers.
2866         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
2867         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
2868         registers used are available.
2869         Set RTX_FRAME_RELATED_P where appropriate.
2870         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
2871         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
2872         (initial_elimination_offset): Likewise.
2873         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
2874         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
2875         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
2876         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
2877         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
2878         and for target registers.
2879         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
2880         (regno_reg_class): Make its elements type enum reg_class.
2881         (CONSTRAINT_LEN): Don't use isdigit.
2882         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
2883         (FUNCTION_ARG): Add parentheses to avoid warnings.
2884         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
2885         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
2886         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
2887         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
2888         * sh.md (xordi3+1): Remove unused variable regno.
2889         (return_media): Check that tr0 is available before using it.
2890
2891 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
2892
2893         * c.opt: Document more options.
2894
2895 2003-07-16  Roger Sayle  <roger@eyesopen.com>
2896
2897         * combine.c (subst): Also handle (subreg (const_double ...)) case
2898         if created by a substitution, by using the original inner mode.
2899
2900 2003-07-16  Roger Sayle  <roger@eyesopen.com>
2901
2902         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
2903         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
2904         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
2905
2906 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
2907
2908         * doc/install.texi (--without-headers): New.
2909
2910         Partial Fix PR/10129
2911         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
2912         (machopic_output_function_base_name): New; print the true pic label.
2913         (machopic_classify_ident): Pic Base is always a defined data.
2914         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
2915         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
2916
2917         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
2918         if they are not floating point registers.
2919
2920         PR c/10962
2921         * ggc.h: Add header guards.
2922         * c-decl.c (finish_struct): Sort fields if
2923         number greater than 15 and there are no
2924         anonymous structs/unions.
2925         * c-common.h: Include ggc.h.
2926         (sorted_fields_type): New struct.
2927         (field_decl_cmp): New prototype.
2928         (resort_sorted_fields): New prototype.
2929         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
2930         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
2931         as s, removing other fields.
2932         * c-typeck.c (lookup_field): Use s in lang_type.
2933         These were mostly moved from cp/class.c:
2934         * c-common.c (field_decl_cmp): New static function.
2935         (field_decl_cmp): New function.
2936         (resort_sorted_fields): New function.
2937
2938 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
2939
2940         * config/darwin.c (machopic_select_section): Use decl_readonly_section
2941         to do most of the work.
2942
2943 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
2944
2945         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
2946         * config/mmix/mmix.c: Convert functions to ISO C90.
2947         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
2948         formatting.
2949         (mmix_get_hard_reg_initial_val): Tweak section head comment.
2950
2951 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
2952
2953         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
2954
2955 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
2956
2957         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
2958         (uw_update_context_1): Use it.
2959         * config/rs6000/rs6000.c (insn_after_throw): Remove.
2960         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
2961         in parent frame if _Unwind_* called directly instead of through
2962         .plt.
2963         (rs6000_emit_eh_toc_restore): Remove.
2964         (rs6000_emit_prologue): Update stack pointer before doing any saving
2965         if current_function_calls_eh_return.  Generate unwind info for $r2.
2966         (rs6000_emit_epilogue): Restore stack pointer after doing all
2967         restoring if current_function_calls_eh_return.  Restore $r2.
2968         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
2969         * config/rs6000/rs6000.md (eh_return): Remove call to
2970         rs6000_emit_eh_toc_restore.
2971         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
2972         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
2973
2974 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
2975
2976         * expr.c (emit_block_move): Don't move anything if size is const 0.
2977         (clear_storage): Test against const0_rtx instead of comparing INTVAL
2978         against 0.
2979
2980 2003-07-15  David S. Miller  <davem@redhat.com>
2981
2982         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
2983         emit nop if the last real insn is CALL_INSN.
2984
2985 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2986
2987         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
2988         as "nul".
2989         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
2990
2991 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2992
2993         * config/i386/winnt.c (associated_type): Artificial methods are not
2994         affected by the import/export status of their class unless they are
2995         COMDAT.
2996         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
2997
2998         * config/i386/winnt.c: Fix GCC copyright comment.
2999
3000 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3001
3002         PR c++/11531
3003         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
3004         not recursing on hard error.
3005         (diagnostic_for_decl): Likewise.
3006         * diagnostic.def: Rearrange.
3007
3008 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
3009
3010         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
3011         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
3012
3013 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
3014             Richard Henderson  <rth@redhat.com>
3015
3016         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
3017         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
3018         (_Unwind_SetGR): Likewise.
3019         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
3020         (Unwind_SpTmp): New typedef.
3021         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
3022         (uw_update_context): Use _Unwind_GetPtr.
3023         (init_dwarf_reg_size_table): Move above uw_init_context_1.
3024         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
3025         Use _Unwind_SetSpColumn.
3026         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
3027         Use _Unwind_GetPtr.
3028
3029 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
3030
3031         * c.opt: Document more options.
3032         * toplev.c (documented_lang_options): Remove all local help strings.
3033
3034 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
3035
3036         PR debug/11473
3037         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
3038         base classes.
3039
3040 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
3041
3042         PR target/10795
3043         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
3044         swap comparison operands if doing so would generate an
3045         unrecognizable insn.
3046
3047 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
3048
3049         PR optimization/11320
3050         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
3051         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
3052         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
3053         current_sched_info->compute_jump_reg_dependencies. Record which
3054         registers are used and which registers are set by the jump.
3055         Clear deps->reg_conditional_sets after a barrier.
3056         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
3057         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
3058         (init_deps): Initialize reg_conditional_sets.
3059         (free_deps): Clear reg_conditional_sets.
3060         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
3061         Mark registers live on entry of the fallthrough block and conditionally
3062         set as set by the jump. Mark registers live on entry of non-fallthrough
3063         blocks as used by the jump.
3064         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
3065         Mark new parameters as unused.
3066
3067 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3068
3069         * doc/invoke.texi: Resync MIPS -march documentation.
3070
3071 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3072
3073         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
3074         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
3075         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
3076         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
3077         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
3078         (mips_issue_rate): Handle PROCESSOR_R9000.
3079         (mips_use_dfa_pipeline_interface): Likewise.
3080         * config/mips/9000.md: New file.
3081         * config/mips/mips.md: Include it.
3082         (define_attr cpu): Add r9000.
3083         (mulsi3_mult3): Use "mul" for rm9000 code.
3084
3085 2003-07-15  Stan Cox  <scox@redhat.com>
3086
3087         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
3088         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
3089         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
3090         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
3091         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
3092         (mips_issue_rate): Handle PROCESSOR_R7000.
3093         (mips_use_dfa_pipeline_interface): Likewise.
3094         * config/mips/7000.md: New file.
3095         * config/mips/mips.md: Include it.
3096         (define_attr cpu): Add r7000.
3097         (mulsi3_mult3): Use "mul" for rm7000 code.
3098
3099 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
3100
3101         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
3102         the conditional move patterns.
3103         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
3104         Check for condmove type.
3105         (ir_vr54_arith): Add move type.
3106         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
3107         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
3108
3109 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
3110
3111         * c-opts.c (print_help): Remove.
3112         (c_common_handle_option): Don't handle --help.
3113         * c.opt: Document some options.
3114         (--help): Remove.
3115         * opts.c (print_filtered_help): New.
3116         (print_help): Use it.
3117
3118 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
3119
3120         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
3121         * tree.c: (build_common_tree_nodes_2): Likewise.
3122         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
3123         (V4DF_type_node): New.
3124
3125         * c-opts.c (push_command_line_include): Don't free deferred_opts,
3126         we'll need it.
3127         (finish_options): Reset init_cursor.
3128
3129 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
3130
3131         * expr.c (expand_assignment): Remove an unused argument
3132         SUGGEST_REG.
3133         * expr.h: Update the prototype.
3134         * function.c: Update the callers.
3135         * stmt.c: Likewise.
3136
3137 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
3138
3139         PR debug/11098
3140         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
3141         as DECL_ABSTRACT.
3142
3143 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3144
3145         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
3146         with __cplusplus, not "we must use the C++ compiler's type"
3147         * fixinc/inclhack.def (void_null): Note that Interix needs this.
3148         * fixinc/fixincl.x: Regenerate.
3149
3150 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
3151
3152         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
3153         and unseen_objects from the global data before calling
3154         __deregister_frame_info_bases.
3155         (examine_objects): Insert objects into the seen_objects list,
3156         not unseen_objects.
3157         (_Unwind_Find_FDE): Always unlock the global object lists, even if
3158         we couldn't allocate a data structure to put in it.
3159
3160         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
3161         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
3162         (SET_TYPE_PROTOCOL_LIST): New.
3163         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
3164         (get_object_reference): Likewise.
3165
3166 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
3167
3168         * cfglayout.c (locator_file): Break out from ....
3169         (insn_file): ... here.
3170         (locator_line): Break out from ....
3171         (insn_line): ... here.
3172         * rtl.h (locator_file, locator_line): Declare.
3173         (final_start_function): Set proper line/file info.
3174
3175 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3176
3177         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
3178         handled by pp_c_cast_expression.
3179
3180 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3181
3182         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
3183         allocate 32768 bytes of stack.  Use addition rather than subtraction
3184         when a single insn is enough.
3185         * config/mips/mips.md: Remove insns and splitters for subtracting
3186         constants.
3187         (subsi3): Only accept register operands.
3188         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
3189         (subdi3_internal_3, subsi3_internal_2): Likewise.
3190         (casesi): Use expand_binop to subtract the lower bound.
3191
3192 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3193
3194         * config/mips/mips.c (mips_in_small_data_p): Don't handle
3195         TARGET_MIPS16 specially.
3196
3197 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
3198
3199         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
3200         mips_output_aligned_bss.
3201         * config/mips/linux.h: Likewise.
3202         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
3203         * config/mips/mips.c (mips_output_aligned_bss): New function.
3204
3205         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
3206         * config/mips/elf64.h: Likewise.
3207
3208         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
3209         mips_declare_object_name.
3210         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
3211         * config/mips/elf64.h: As for elf.h.
3212         * config/mips/iris6.h: Likewise.
3213         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
3214         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
3215         do...while (0) block.
3216         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
3217         (mips_finish_declare_object): Declare.
3218         * config/mips/mips.c (mips_declare_object_name): New function.
3219         (mips_finish_declare_object): New function.
3220
3221         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
3222         * config/mips/linux.h: Likewise.
3223
3224         * config/mips/mips.c (inside_function): Delete.
3225         (file_in_function_warning, ignore_line_number): Delete.
3226         (mips_output_filename): Don't warn about changing filenames within
3227         a function.
3228         (mips_output_lineno): Update accordingly.
3229         (mips_output_function_prologue): Don't reset the deleted variables.
3230         * config/mips/mips.h (inside_function): Delete.
3231         (file_in_function_warning, ignore_line_number): Delete.
3232
3233         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
3234         * config/mips/elf64.h: Likewise.
3235         * config/mips/openbsd.h: Likewise.
3236         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
3237         * config/mips/linux.h: Likewise.
3238         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
3239         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
3240
3241         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
3242         to the list of include files when using gas.
3243         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
3244         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
3245         * config/mips/elf64.h: Likewise.
3246         * config/mips/iris5.h: Likewise.
3247         * config/mips/linux.h: Likewise.
3248         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
3249         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3250         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
3251         * config/mips/sdb.h: ...this new file.
3252
3253 2003-07-14  Douglas Rupp  <rupp@gnat.com>
3254
3255         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
3256         argument to getcwd; use fixed buffer instead.
3257
3258 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3259
3260         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
3261         * fixinc/fixinc.wrap: Delete.
3262
3263 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3264
3265         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
3266         don't have 2.
3267
3268 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
3269
3270         * ggc-page.c (struct globals): Add new fields to keep track of the
3271         total allocated memory and overhead.
3272         (ggc_print_statistics): Print them.
3273         (ggc_alloc): Keep track of the total allocated memory and the
3274         overhead.
3275
3276         * tree.c (dump_tree_statistics): Increase spacing.
3277         (enum tree_node_kind): Move to ...
3278         * tree.h (enum tree_node_kind): ... here.
3279         (tree_node_counts, tree_node_sizes): Declare.
3280
3281 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
3282
3283         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
3284
3285 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3286
3287         PR optimization/11440
3288         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
3289         SIGN_EXTRACT SETs.
3290
3291 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
3292
3293         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
3294         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
3295         (emit_group_load, emit_group_store): Adjust declarations.
3296         Remove most occurrences of #ifdef TREE_CODE.
3297         * expr.c (emit_group_load): Add "type" param, and use
3298         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
3299         aligned accesses if !SLOW_UNALIGNED_ACCESS.
3300         (emit_group_store): Likewise.
3301         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
3302         emit_group_load and emit_group_store calls.
3303         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
3304         BLOCK_REG_PADDING to determine whether we need endian_correction.
3305         (load_register_parameters): Localize vars.  Handle shifting of
3306         small values to the correct end of regs.  Adjust emit_group_load
3307         call.
3308         (expand_call, emit_library_call_value_1): Adjust emit_group_load
3309         and emit_group_store calls.
3310         * function.c (assign_parms): Set mem alignment for stack slots.
3311         Adjust emit_group_store call.  Store values at the "wrong" end
3312         of regs to the stack.  Use BLOCK_REG_PADDING.
3313         (locate_and_pad_parm): Save where_pad.
3314         (expand_function_end): Adjust emit_group_load call.
3315         * stmt.c (expand_value_return): Adjust emit_group_load call.
3316         * Makefile.in (calls.o): Depend on $(OPTABS_H).
3317         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
3318         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
3319         (MUST_PASS_IN_STACK): Define.
3320         (BLOCK_REG_PADDING): Define.
3321         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
3322         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
3323         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
3324         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
3325         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
3326
3327 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
3328
3329         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
3330
3331 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3332
3333         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
3334         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
3335
3336 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3337
3338         PR other/11123
3339         * toplev.c: Don't cut off option names.
3340
3341 2003-07-13  Andreas Jaeger  <aj@suse.de>
3342
3343         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
3344         to integer of different size.
3345
3346 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
3347
3348         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
3349         to (eq (and X 1) 0).
3350
3351 2003-07-13  Andreas Jaeger  <aj@suse.de>
3352
3353         * config.gcc: Add pmmintrin.h for x86_64-*-*.
3354
3355 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3356
3357         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
3358         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
3359         list.  Move these all together down by cpplib.
3360
3361         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
3362         definition of CPPCHAR_SIGNED_T.
3363
3364         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
3365         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
3366         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
3367
3368         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
3369         * cppinit.c (cpp_create_reader): Likewise.
3370
3371         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
3372         * cpptrad.c: Likewise.  All callers changed.
3373         * cpplib.c: All callers changed.
3374         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
3375         * hashtable.h: Define GTY(x) to nothing here too.
3376
3377 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3378
3379         * stor-layout.c (compute_record_mode): Remove very obsolete test
3380         that forces BLKmode for records with fields crossing word boundary.
3381
3382 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
3383
3384         * Makefile.in: Remove orphan reference to acconfig.h.
3385
3386 2003-07-13  Andreas Jaeger  <aj@suse.de>
3387
3388         * cgraphunit.c: Convert prototypes to ISO C90.
3389
3390 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3391
3392         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
3393         (for OpenBSD).
3394         * fixinc/fixincl.x: Rebuild.
3395
3396 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3397
3398         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
3399         i?86-*-*.  Use correct name of cache variable.
3400         * configure: Regenerate.
3401
3402 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3403
3404         * config/alpha/alpha.c: Fix comment typos.
3405         * config/alpha/alpha.md: Likewise.
3406         * config/arm/arm.c: Likewise.
3407         * config/arm/arm.md: Likewise.
3408         * config/arm/lib1funcs.asm: Likewise.
3409         * config/avr/avr.md: Likewise.
3410         * config/arm/README-interworking: Fix typos.
3411
3412 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
3413
3414         * c-format.c: Fix comment formatting.
3415         * c-typeck.c: Likewise.
3416         * coverage.c: Likewise.
3417         * cppcharset.c: Likewise.
3418         * cpplib.c: Likewise.
3419         * dbxout.c: Likewise.
3420         * gcov-io.h: Likewise.
3421         * toplev.c: Likewise.
3422
3423 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3424
3425         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
3426         fix.
3427
3428 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
3429
3430         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
3431         uses three-argument AC_DEFINE so no acconfig.h entries are
3432         needed.
3433         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
3434         which contains the GAS version number as a scaled integer.
3435         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
3436         ability to check for ELF assembler.
3437         (gcc_GAS_CHECK_FEATURE): New macro.
3438         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
3439         assembler feature checks using gcc_GAS_CHECK_FEATURE.
3440         Use three-argument AC_DEFINE everywhere.
3441         * acconfig.h: Deleted.
3442         * config.in, configure: Regenerate.
3443
3444 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3445
3446         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
3447         (on OpenBSD).
3448         * fixinc/fixincl.x: Regenerate.
3449
3450         * fixinc/inclhack.def (gnu_types): Improve comment.
3451
3452 2003-07-12  Andreas Jaeger  <aj@suse.de>
3453
3454         * fp-test.c (main): Use ISO C90 prototype.
3455
3456         * version.c: Remove unneded include of ansidecl.h.
3457
3458         * cgraph.h: Convert prototypes to ISO C90.
3459         * cgraph.c: Likewise.
3460         * fix-header.c: Likewise.
3461         * ra.h: Likewise.
3462         * protoize.c: Likewise.
3463
3464 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
3465
3466         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
3467         warning.
3468
3469 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
3470                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3471
3472         * cgraph.c (cgraph_max_uid): New global variable.
3473         (cgraph_node): Set uid field.
3474         (create_edge): Keep inline flags consistent.
3475         (dump_cgraph): Dump more info.
3476         * cgraph.h (struct cgraph_local_info): Remove inline_many and
3477         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
3478         (struct cgraph_global_info): Add insns, calls, cloned_times,
3479         will_be_output.
3480         (struct cgraph_node): Add uid.
3481         (struct cgraph_edge): Add inline_call.
3482         (cgraph_max_uid, cgraph_inline_p): Declare.
3483         * cgraph.c: Include params.h and fibheap.h
3484         (cgraph_mark_functions_to_inline_once): Kill.
3485         (INSNS_PER_CALL): New constant.
3486         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
3487         static variables.
3488         (cgraph_finalize_function): Do not analyze inlining.
3489         (cgraph_finalize_compilation_unit): Set inlining attributes.
3490         (cgraph_mark_functions_to_output): More consistency checks.
3491         (cgraph_optimize_function): Set current_function_decl to NULL.
3492         (cgraph_expand_function): Use new inline flags.
3493         (cgraph_postorder): Expand from cgraph_expand_functions.
3494         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
3495         (cgraph_inlined_into, cgraph_inlined_callees,
3496         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
3497         cgraph_mark_inline, cgraph_check_inline_limits,
3498         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
3499         cgraph_decide_inlining, cgraph_inline_p): New functions.
3500         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
3501         PARAM_INLINE_UNIT_GROWTH): New parameters.
3502         * tree-inline.c (struct inline_data): New field current_decl.
3503         (expand_call_inline): Avoid forward declarations; use
3504         inlinable_function_p.
3505         (optimize_inline_calls): Set id.current_decl.
3506
3507 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
3508
3509         * configure.in: Remove wrongly added definition of
3510         local_prefix.
3511         * configure: Regenerate.
3512
3513 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
3514
3515         * rtl.def (NOTE): Do not use padding.
3516
3517 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
3518
3519         * doc/install.tex: Update required binutils for i?86-*-linux*
3520
3521 2003-07-11  Richard Henderson  <rth@redhat.com>
3522
3523         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
3524
3525 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
3526
3527         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
3528         TRANSLATION_UNIT_DECL as top_level.
3529
3530 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
3531
3532         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
3533         then fall back to cmpstrM.
3534         * builtins.c (expand_builtin_memcmp): Likewise.
3535         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
3536         (s390_expand_cmpmem): ... this.
3537         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
3538         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
3539         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
3540         to s390_expand_cmpmem.
3541         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
3542         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
3543         to cmpmem*.
3544         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
3545         cmpstr* patterns.
3546         * doc/md.texi (cmpstrM): Describe as String compare insn, not
3547         Block compare insn.
3548         (cmpmemM): Add.
3549
3550 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
3551
3552         * config/i386/freebsd.h (SET_ASM_OP): Remove.
3553         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
3554         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
3555          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
3556
3557 2003-07-11  Richard Henderson  <rth@redhat.com>
3558
3559         * function.c (assign_parms): Don't recombine complex args if
3560         fnargs is unchanged from orig_fnargs.
3561         (split_complex_args): Return args without complex before copying.
3562         Re-layout the modified parameters.
3563
3564 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
3565
3566         * regclass.c (choose_hard_reg_mode): Add third argument.
3567         Changed all callers.
3568         * rtl.h (choose_hard_reg_mode): Update declaration.
3569         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
3570         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
3571
3572 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
3573
3574         * c-decl.c (finish_decl): Handle 'used' here...
3575         * cgraphunit.c (cgraph_finalize_function): ... and here ...
3576         * c-common.c: (handle_used_attribute): ... not here.
3577
3578         * configure.in (onstep): Support --enable-intermodule.
3579         * Makefile.in (OBJS-common): New.
3580         (OBJS-md): New.
3581         (OBJS-archive): New.
3582         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
3583         (OBJS-onestep): New.
3584         (libbackend.a): Support @onestep@.
3585         (libbackend.o): New.
3586         * configure: Regenerate.
3587
3588         * c-common.h (c_reset_state): New prototype.
3589         (c_parse_file): New prototype.
3590         (finish_file): Move prototype from c-tree.h.
3591         * c-decl.c: Include <hashtab.h>.
3592         (builtin_decls): New.
3593         (current_file_decl): New.
3594         (duplicate_decls): Add extra parameter. Change all callers.  Don't
3595         output duplicate common symbols.
3596         (link_hash_hash): New.
3597         (link_hash_eq): New.
3598         (poplevel): Handle popping of the top level.
3599         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
3600         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
3601         (pushdecl_top_level): Likewise.
3602         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
3603         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
3604         (finish_decl): Handle TRANSLATION_UNIT_DECL.
3605         (merge_translation_unit_decls): New.
3606         (c_write_global_declarations): New.
3607         (c_reset_state): New.
3608         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
3609         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
3610         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
3611         TRANSLATION_UNIT_DECL.
3612         (c_objc_common_finish_file): Call merge_translation_unit_decls.
3613         * c-opts.c (in_fnames): Rename from in_fname.
3614         (c_common_decode_option): Handle multiple input filenames.
3615         (c_common_post_options): Likewise.
3616         (c_common_parse_file): Likewise; also, call c_parse_file rather than
3617         yyparse.
3618         * c-parse.in: Move cleanup code to c_parse_file.
3619         (free_parser_stacks): Move contents to c_parse_file.
3620         (c_parse_file): New.
3621         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
3622         for integer types.
3623         (C_DECL_FILE_SCOPE): New.
3624         (finish_file): Move prototype to c-common.h.
3625         (merge_translation_unit_decls): New prototype.
3626         (comptypes): Add extra parameter to prototype.
3627         (c_write_global_declarations): New prototype.
3628         * c-typeck.c (tagged_types_tu_compatible_p): New.
3629         (function_types_compatible_p): Add extra parameter, change all callers.
3630         (type_lists_compatible_p): Likewise.
3631         (comptypes): Likewise.
3632         (struct tagged_tu_seen): New.
3633         (tagged_tu_seen_base): New.
3634         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
3635         (c_mark_addressable): Remove #if 0 code.
3636         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
3637         comment explaining why it shouldn't have to.
3638         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
3639         options.
3640         * cppinit.c (cpp_read_next_file): New.
3641         (cpp_read_main_file): Use it.
3642         * cpplib.c (undefine_macros): New.
3643         (cpp_undef_all): New.
3644         * cpplib.h (cpp_read_next_file): Prototype.
3645         (cpp_undef_all): Prototype.
3646         * langhooks-def.h (write_global_declarations): Remove prototype.
3647         * toplev.h (write_global_declarations): Add prototype.
3648         * tree.c (decl_type_context): Use switch statement, handle
3649         TRANSLATION_UNIT_DECL.
3650         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
3651         (TRANSLATION_UNIT_DECL): New kind of tree.
3652         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
3653         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
3654         * doc/invoke.texi: Make attempt to document new functionality.
3655
3656         2003-05-19  Per Bothner <bothner@apple.com>
3657
3658         * gcc.c (combine_inputs): New.
3659         (process_command): Set combine_inputs.
3660         (do_spec_1): Handle combine_inputs.
3661         (main): Likewise.
3662
3663 2003-07-10  James E Wilson  <wilson@tuliptree.org>
3664
3665         PR optimization/9745
3666         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
3667         loop_insn_emit_before.
3668         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
3669
3670 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3671
3672         * cppcharset.c: Fix comment.
3673         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
3674         (EILSEQ): #define to EINVAL if not already defined.
3675         (convert_using_iconv): #if out when !HAVE_ICONV.
3676         (init_iconv_desc): Handle !HAVE_ICONV here...
3677         (cpp_init_iconv): ...not here.
3678
3679 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
3680
3681         * common.opt: More --help messages.
3682         * opts.c (print_help): Use puts().
3683         * toplev.c (f_options): Remove help text.
3684         (display_help): Don't dump f_options.
3685
3686 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
3687
3688         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
3689         Move i?86-*-interix* to the don't-fix list.
3690         * fixinc/fixinc.interix: Delete with extreme prejudice.
3691
3692 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
3693
3694         PR bootstrap/10758
3695         * doc/install.texi: Document requirements for ia64-*-hpux* target.
3696
3697 2003-07-10  Roger Sayle  <roger@eyesopen.com>
3698
3699         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
3700
3701 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
3702
3703         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
3704         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
3705         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
3706         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
3707         convert_no_conversion, convert_using_iconv): New functions.
3708         (APPLY_CONVERSION): New macro.
3709         (struct conversion, conversion_tab): New data structure.
3710         (init_iconv_desc): Check conversion_tab for a custom conversion
3711         primitive before trying to use iconv.
3712         (convert_cset): Deleted.
3713         (cpp_init_iconv): Use UTF- terminology, not UCS-.
3714         (_cpp_destroy_iconv): Update to match.
3715         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
3716         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
3717         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
3718         (_cpp_interpret_string_notranslate): New function, moved here
3719         from cpplib.c.
3720
3721         * cpphash.h (convert_f, struct cset_converter): New types.
3722         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
3723         are now struct cset_converter, not bare iconv_t.
3724         Update prototypes.
3725         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
3726         all callers changed.
3727
3728 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
3729
3730         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
3731         to opts.sh command line.
3732         * opts.sh: Write to temporary files with a move-if-change at the end.
3733
3734 2003-07-10  Denis Chertykov  <denisc@overta.ru>
3735             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3736
3737         * combine.c (gen_binary): Handle the CLOBBER rtx and
3738         don't build a binary operation with it.
3739
3740 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3741
3742         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
3743         store_killed_after, store_killed_before): Keep track of the correct
3744         dependency function to use.
3745
3746 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
3747         * toplev.c (do_compile): Don't try to open dump files before
3748         lang_dependent_init initializes dump_base_name.
3749
3750 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3751
3752         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
3753         Use ARRAY_SIZE.
3754         * config/frv/frv.c (frv_expand_builtin): Likewise.
3755         * config/sh/sh.c (sh_media_init_builtins): Likewise.
3756
3757 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
3758
3759         PR c++/10032
3760         * doc/invoke.texi (C++ Dialect Options): Change documentation of
3761         -fpermissive.
3762
3763 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
3764
3765         * tm.texi (RETURN_ADDR_OFFSET): Document.
3766
3767 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
3768
3769         * gcov-io.h: Update documentation.
3770         (GCOV_UNSIGNED2STRING): New.
3771         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3772         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3773         GCOV_TAG_SUMMARY_LENGTH): Adjust.
3774         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
3775         GCOV_TAG_COUNTER_NUM): New.
3776         (GCOV_BLOCK_SIZE): Number of words.
3777         (gcov_var): Adjust buffer type.
3778         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
3779         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
3780         count, not byte count.
3781         (gcov_open): Adjust overread init.
3782         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
3783         gcov_write_string, gcov_write_tag, gcov_write_length,
3784         gcov_write_tag_length): Adjust.
3785         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
3786         (gcov_sync, gcov_seek): Adjust.
3787         * gcov-dump.c (print_usage): Show gcc version only.
3788         (dump_file): Use GCOV_UNSIGNED2STRING.
3789         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
3790         * gcov.c (print_version): Show gcc version only.
3791         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
3792         GCOV_TAG_*_NUM macros.
3793         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
3794         GCOV_TAG_COUNTER_LENGTH.
3795         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
3796         Use GCOV_TAG_COUNTER_NUM.
3797         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
3798         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
3799
3800 2003-07-10  Andreas Schwab  <schwab@suse.de>
3801
3802         * gcov-dump.c (dump_file): Fix missing address operator.
3803
3804 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3805
3806         PR c/11449
3807         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
3808         of HOST_WIDE_INT.
3809         (fold_single_bit_test): If sign_bit_p() fails, assume that the
3810         bit being tested is not a sign bit.
3811
3812 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
3813
3814         * config/h8300/h8300.md (a peephole2): New.
3815
3816 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
3817
3818         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
3819         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
3820         from ld-linux.so.2 to ld.so.1.
3821         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
3822         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
3823         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
3824         nor -Wl,-rpath-link.
3825         (LIB_SPEC): Add -rpath-link if !static.
3826         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
3827         * config/mn10300/mn10300.c (mn10300_protect_label): New
3828         variable.
3829         * config/mn10300/linux.h (PRINT_OPERAND,
3830         PRINT_OPERAND_ADDRESS): Set it during their execution.
3831         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
3832         mn10300_protect_label is set.
3833         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
3834         -Wl,-rpath-link.
3835         (LIB_SPEC, STARTFILE_SPEC): Define.
3836         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3837         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
3838         FLOAT_BIT_ORDER_MISMATCH.
3839         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
3840         * config.gcc (am33_2.0-*-linux*): Added.
3841         * config/mn10300/linux.h: New.
3842         * config/mn10300/t-linux: New.
3843
3844 2003-07-10  Andreas Jaeger  <aj@suse.de>
3845
3846         * fold-const.c: Properly wrap prototypes.
3847
3848 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
3849
3850         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
3851         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
3852         Moved from...
3853         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
3854         * config/mn10300/mn10300.h: GTY-declare it.
3855         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
3856         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
3857         prototype.  Use incoming RTL argument.
3858         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3859         * config/mn10300/mn10300.md (int_label): Move C statements...
3860         (GOTaddr2picreg): ... here.
3861         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
3862         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
3863         * config/mn10300/mn10300.c (mn10300_encode_section_info):
3864         ... here.  New function.
3865         (TARGET_ENCODE_SECTION_INFO): Define to it.
3866         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
3867         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
3868         pattern name.
3869         (mn10300_loadPC): Define as insn splittable after reload.
3870         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3871         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
3872         be defined in .rodata even in PIC, now that the assembler
3873         supports that.
3874         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
3875         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
3876         symbol take an underscore prefix.
3877         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3878         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
3879         legitimize_pic_address): Declare.
3880         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
3881         the PIC register as fixed.
3882         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
3883         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
3884         PIC.
3885         (LEGITIMATE_PIC_OPERAND_P): Define.
3886         (PIC_OFFSET_TABLE_REGNUM): Define.
3887         (GOT_SYMBOL_NAME): Define.
3888         (SYMBOLIC_CONST_P): Define.
3889         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
3890         symbols.
3891         (MN10300_GLOBAL_P): Test it.
3892         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
3893         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
3894         * config/mn10300/mn10300.c (print_operand): Handle unspec.
3895         (expand_prologue): Set PIC register.
3896         (call_address_operand): Don't match SYMBOL_REFs in PIC.
3897         (legitimize_address): Call legitimize_pic_address.
3898         (legitimize_pic_address): New fn.
3899         (legitimate_pic_operand_p): New fn.
3900         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
3901         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
3902         UNSPEC_PLT): New constants.
3903         (pop_pic_reg): New insn.
3904         (movsi): Adjust non-PIC addresses.
3905         (builtin_setjmp_receiver): Restore the PIC register.
3906         (casesi): New insn.
3907         (call): Adjust non-PIC addresses.
3908         (int_label, GOTaddr2picreg): New expands.
3909         (am33_loadPC): New insn.
3910         (mn10300_loadPC): New expand.
3911         (call_next_insn): New insn.
3912         (add_GOT_to_pic_reg): New expand.
3913         (symGOT2reg, symGOT2reg_i): New expands.
3914         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
3915         (sym2PIC, sym2PLT): New expands.
3916
3917 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
3918
3919         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
3920         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
3921         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
3922         to flag_unsafe_math_optimizations.
3923         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3924         * config/mn10300/mn10300.c (expand_prologue): Mark
3925         FP-register-saving insns as frame-related.
3926         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3927         * config/mn10300/mn10300.c
3928         (mn10300_get_live_callee_saved_regs): Don't search past
3929         LAST_EXTENDED_REGNUM.
3930         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
3931         * config/mn10300/mn10300.md: Remove excessive line breaks from
3932         `@' output patterns that were accounted as additional
3933         alternatives.
3934         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
3935         Re-introduce changes accidentally removed in Richard Sandiford's
3936         2000-12-05's patch.
3937         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3938         Re-instate am33-2 lost in merge from net GCC.
3939         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
3940         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
3941         floating-point registers.
3942         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
3943         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
3944         pessimizations that had gone in on 2000-05-08.
3945         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
3946         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
3947         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
3948         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
3949         operand 0.
3950         * (movhi): Likewise.
3951         * (movsi): Likewise.
3952         * (movsf): Likewise.
3953         * (movdi): Likewise.
3954         * (movdf): Likewise.
3955         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
3956         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
3957         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
3958         (expand_prologue, expand_epilogue): Save and restore FP regs.
3959         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
3960         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
3961         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
3962         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
3963         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
3964         Do not clobber cc0.
3965         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
3966         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
3967         Discourage the two-argument, longer opcodes.
3968         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
3969         ones.
3970         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
3971         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
3972         * config/mn10300/mn10300.md (cmpsf): New pattern.
3973         (branch): Test mdep.fpCC and output fbCC.
3974         * config/mn10300/mn10300.c (print_operand): Output conditions.
3975         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
3976         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
3977         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
3978         mulsf3, divsf3): Use the `F' constraint for FP values.
3979         * config/mn10300/mn10300.c (const_1f_operand): New function.
3980         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
3981         * config/mn10300/mn10300.md (sqrtsf2): New expand.
3982         (rsqrtsf2): New insn.
3983         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
3984         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
3985         previous check-in.
3986         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
3987         * config/mn10300/mn10300.md (abssf2, negdf2): On
3988         TARGET_AM33_2, expand to...
3989         (abssf2_am33_2, negdf2_am33_2): New insns.
3990         (addsf3, subsf3, mulsf3, divsf3): Likewise.
3991         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
3992         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
3993         movdi, movdf): Added FP regs.
3994         * invoke.texi (-mam33-2, -mno-am33-2): Document.
3995         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
3996         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
3997         New macros.
3998         (REGNO_AM33_2_FP_P): Renamed to...
3999         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
4000         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
4001         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
4002         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
4003         regs from GENERAL_REGS.
4004         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
4005         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.