OSDN Git Service

* genmodes.c (calc_wider_mode): Allocate enough room for all the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
2
3         * genmodes.c (calc_wider_mode): Allocate enough room for all the
4         entries we'll possibly assign in the sort buffer.
5         
6 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7
8         * config.gcc (s390x-ibm-tpf*): New target.
9         * doc/install.texi: Document it.
10         * config/s390/t-tpf: New file.
11         * config/s390/tpf.h: New file.
12
13 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
14
15         PR target/12598
16         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
17         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
18         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
19         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
20         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
21         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
22         replace_equiv_address, not gen_rtx_MEM.
23         * config/cris/cris.c (cris_mem_op): New match_operator function.
24         (cris_notice_update_cc): Use replace_equiv_address, not
25         gen_rtx_MEM.
26         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
27
28 2003-10-15  Bernardo Innocenti <bernie@develer.com>
29
30         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
31         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
32         definitions after the other flags.
33
34 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
35
36         * c-parse.in (methoddef, methodproto): Call objc_add_method()
37         instead of add_method().
38         * objc/objc-act.c (objc_check_decl): Do not check for
39         constant_string_type.
40         (add_method): Rename to objc_add_method().
41         (really_start_method): Call objc_add_method() instead of
42         add_method().
43         * objc/objc-act.h (add_method): Rename to objc_add_method().
44
45 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
46
47         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
48         (s390_slb_comparison): Likewise.
49         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
50         New functions.
51         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
52         and s390_slb_comparison.
53         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on 
54         zSeries machines.
55         ("*adddi3_31z", "*subdi3_31z"): New insns.
56         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
57         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
58         New insns.
59         
60 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
61
62         * configure.in: Clean up some feedback echoes.
63         * configure: Regenerate.
64
65         * aclocal.m4: Properly quote names of macros being defined.
66
67         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
68
69 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
70
71         * config/ia64/ia64.c (ia64_expand_call): Force function address
72         to DImode.
73         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
74
75 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
76
77         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
78         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
79         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3", 
80         "*divsf3_ibm"): Likewise.
81
82 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
83
84         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
85         target_alias with target_noncanonical.
86
87 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
88
89         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
90         and add case for machines where outgoing register parameters
91         get stack space.
92
93         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
94         register when generating indirect address.
95
96 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
97
98         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
99         * arm.md (cbranchne_decr1): Fix bootstrap warning.
100
101 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
102
103         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
104         * fixinc/fixincl.x: Regenerate.
105         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
106         testcase. 
107         Fixes PR bootstrap/9330.
108
109 2003-10-13  Eric Christopher  <echristo@redhat.com>
110
111         * config/frv/frv.c (frv_adjust_field_align): Redo check for
112         too wide bitfields.
113         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
114         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
115         (SBSS_SECTION_ASM_OP): Remove.
116         (EXTRA_SECTIONS): Remove in_sbss.
117         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
118         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
119         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
120         named_section.
121
122 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
123
124         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
125         uses of ${target_alias} for directory names (and other places which
126         won't like the empty string) with ${target_noncanonical}.  Introduce
127         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
128         available.
129         * configure: Regenerate.
130
131 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
132
133         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
134         * config/arm/arm.md: For splits which rely on conditional moves,
135         remove ! TARGET_IWMMXT condition.
136
137 2003-10-13  David S. Miller  <davem@redhat.com>
138
139         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
140         (find_cond_trap): Always increment if we emit a conditional
141         trap insn.
142
143 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
144
145         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
146         with min-insn-modes.o.
147         (STAGESTUFF): Add min-insn-modes.c.
148         (genobjs): Add genmodes.o.
149         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
150         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
151         (min-insn-modes.c, min-insn-modes.o): New rules.
152         (s-modes): Also generate min-insn-modes.c.
153         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
154         * genmodes.c (struct mode_data): Add format field.
155         (blank_mode, validate_mode, complete_mode): Update to match.
156         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
157         (_SCALAR_MODE): Kill.
158         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
159         (emit_insn_modes_c_header): Adjust.
160         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
161         (emit_min_insn_modes_c): New functions.
162         (emit_insn_modes_c): Call emit_real_format_for_mode.
163         (main): Add -m option to generate min-insn-modes.c.
164         * machmode.h: Update documentation.  Add format argument to
165         all uses of FLOAT_MODE.
166         * real.c: Don't define real_format_for_mode here.
167
168         * dwarfout.c: Move default definition of PRINT_REG...
169         * defaults.h: ...here.
170         * print-rtl.c: Include tm_p.h.
171         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
172         Kill.
173         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
174         this entire block with #ifndef GENERATOR_FILE.
175         * regclass.c: Unconditionally define reg_names.
176         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
177         Don't define DEBUG_REGISTER_NAMES.
178         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
179         redefinition of REGISTER_NAMES.
180         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
181
182         * combine.c: Change all preprocessor conditionals on
183         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
184         for clarity.
185         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
186         * configure.in: Don't define EXTRA_CC_MODES.
187         * configure, config.in: Regenerate.
188         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
189
190         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
191         May assume that GET_MODE_CLASS is accurate for extra CC modes
192         at all times.
193
194         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
195         number of arguments to aggregate_value_p.
196
197         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
198         * machmode.def: Explain ARCH-modes.def.  Document
199         RESET_FLOAT_FORMAT.  Improve commentary on various mode
200         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
201         XF, or TF modes here.  Remove backward-compatibility
202         definition of CC.
203
204         * config/alpha/alpha-modes.def: New file; define TF mode.
205         * config/arc/arm-modes.def: Define XF mode.
206         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
207         float format for SF and DF modes.
208         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
209         * config/i386/i386-modes.def: Define XF and TF modes.
210         * config/i960/i960-modes.def: Define TF mode.
211         * config/ia64/ia64-modes.def: Define TF and OI modes.
212         * config/m68k/m68k-modes.def: New file; define XF mode.
213         * config/mips/mips-modes.def: New file; define TF mode, reset
214         formats for SF and DF modes.
215         * config/pa/pa-modes.def: Define TF mode.
216         * config/rs6000/rs6000.c: Define TF and PSI modes.
217         * config/s390/s390-modes.def: Define OI mode.
218         * config/sh/sh-modes.def: New file; define PSI mode.
219         * config/sparc/sparc-modes.def: Define TF mode.
220         * config/vax/vax-modes.def: New file; reset formats for SF and
221         DF modes.
222
223         * config/c4x/c4x.c (c4x_override_options): No need to mess
224         with real_format_for_mode or set REAL_MODE_FORMATs.
225         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
226         variable.
227         * config/i386/i386.c (override_options): No need to set
228         REAL_MODE_FORMATs here.
229         * config/i960/i960.c (i960_initialize): Likewise.
230         * config/m68k/m68k.c (m68k_override_options): Likewise.
231         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
232         for TFmode only if not the default.
233         * config/mips/mips.c (override_options): Likewise.
234         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
235         DFmode only if not the default.
236
237         * config/i370/i370.h (RET_REG): Don't consider TFmode.
238         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
239         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
240         of modes that don't appear anywhere in the machine description.
241
242         * config/arc/arc-modes.def, config/arm/arm-modes.def
243         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
244         * config/i386/i386-modes.def, config/i960/i960-modes.def
245         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
246         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
247         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
248         * config/sparc/sparc-modes.def: Convert to new style for
249         declaring extra CC modes.
250
251 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
252
253         * cpplex.c (_cpp_clean_line): In the common case of a line
254         with no trigraphs and no \-newline, avoid writing to memory.
255         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
256         of the buffer member.  Make c an uchar to avoid unnecessary
257         sign extensions.
258
259 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
260
261         * configure.in: Remove unnecessary test.
262         * configure: Regenerate.
263
264         * configure.in: Fix grammatical error.  Move UWIN host error to...
265         * config.host: Here.
266         * configure: Regenerate.
267
268 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
269
270         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
271         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
272         of flag_unsafe_math_optimizations.
273         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
274         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
275         fused-madd and no-fused-madd.
276         * doc/invoke.texi: Documented the new options fused-madd and
277         no-fused-madd for S/390.
278
279 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
280
281         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
282         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
283         assign DEFAULT_ABI.
284         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
285         * config/rs6000/rs6000.c: Formatting.
286         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
287         when rs6000_alignment_string given.
288
289 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
290
291         PR target/12538
292         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
293         (sparc_flat_must_save_register_p): New function to decide whether
294         a register must be saved/restored in the function prologue/epilogue.
295         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
296
297 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
298
299         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
300         ISO C90 function declarations and definitions.
301         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
302
303 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
304
305         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
306         config files which do the same thing.
307         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
308         config/freebsd6.h: Remove now unnecessary files.
309
310 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
311
312         * c-common.c (c_common_truthvalue_conversion): Warn if the
313         address of a non-weak function is used as a truth value.
314
315 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
316
317         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
318         a literal.
319         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
320         instead of a literal.
321
322 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
323
324         * doc/extend.texi (Function Attributes): Mention the exceptional
325         path for noreturn-marked functions.
326
327 2003-10-12  Jan Hubicka  <jh@suse.cz>
328
329         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
330         warning.
331
332 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
333
334         * config/i386/i386.c (x86_this_parameter): Fix typo.
335
336 2003-10-11  Jan Hubicka  <jh@suse.cz>
337
338         * Makefile.in (web.o): New.
339         * web.c: New file.
340         * rtl.h (web_main): Declare.
341         * timervar.def (TV_WEB): New.
342         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
343         (rest_of_hanle_web): New.
344         (flag_web): New static variable.
345         (lang_independent_options): Add "web".
346         (rest_of_compilation): Call rest_of_handle_web.
347         * invoke.texi (-fweb): Document.
348         * common.opt (fweb): New.
349         * flags.h (flag_web): New.
350         * opts.c (decode_options): Set flag_web at -O3.
351
352         * passes.texi (web construction):  Document.
353         * invoke.texi (-O3): Document that -fweb is enabled.
354
355         * regrename.c (regrename_optimize): Deal better with situation when
356         replacement failed.
357
358         * sched-ebb.c: Include params.h and profile.h
359         (schedule_ebbs):  Use tracer parameters to discover superblocks
360         * Makefile.in (sched-ebb.o):  Add dependencies.
361
362 2003-10-11  Roger Sayle  <roger@eyesopen.com>
363
364         * fold-const.c (negate_mathfn_p): New function to determine whether
365         a built-in mathematical function is sign preserving, f(-x) == -f(x).
366         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
367         (tree_swap_operands_p): Change API to take an additional argument
368         indicating that the swapped operands evaluate in reverse order.
369         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
370         operand side-effects or we don't care about flag_evaluation_order.
371         (reorder_operands_p): New function to check whether its safe to
372         evaluate the given operands in reverse order.
373         (negate_expr_p):  We can always negate integer constants unless
374         we honor -ftrapv and the signed type would overflow.  Only allow
375         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
376         negation of COMPLEX_CST if both real and imaginary parts can be
377         negated.  Allow negation through floating point extensions and
378         sign-preserving built-in functions.
379         (negate_expr):  Move the code to negate integers from "fold" to
380         here.  Always negate integer constants unless we honor -ftrapv
381         and the signed type would overflow.  Always negate real constants
382         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
383         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
384         Optimize negation through floating point extensions and
385         sign-preserving built-in functions (as defined by negate_mathfn_p).
386         (fold): Adjust calls to tree_swap_operands_p.
387         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
388         to negate_expr_p/negate_expr.
389         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
390         allowed to convert (-A) - B into (-B) - A.
391
392 2003-10-11  Roger Sayle  <roger@eyesopen.com>
393
394         * builtins.c (expand_builtin_strcmp): Defend against the possibility
395         that gen_cmpstrsi may fail: Stabilize the argument list against
396         re-evaluation and expand the library call directly using this saved
397         argument list if a cmpstrsi sequence can't be generated.
398         (expand_builtin_strncmp): Likewise.
399
400         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
401
402 2003-10-11  Roger Sayle  <roger@eyesopen.com>
403
404         PR optimization/12260
405         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
406         operations through CONST nodes.  Optimize (neg (plus X C)) as
407         (minus -C X) for constant values C.
408         (simplify_binary_operation): Optimize (minus (neg X) C) as
409         (minus -C X) for constant values C.
410         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
411         instead create (minus -C X).
412
413 2003-10-11  Roger Sayle  <roger@eyesopen.com>
414
415         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
416         safe_from_p for us, once it chooses an evaluation order.
417         (expand_expr <MULT_EXPR>): Likewise.
418         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
419         places the second operand in "target", swap the operands.
420         (do_store_flag): Let expand_operands call safe_from_p for us.
421
422 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
423
424         PR optimization/12544
425         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
426         for DECL_NONLOCAL decls.
427
428 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
429
430         * expr.c: Follow spelling conventions.
431         * final.c: Likewise.
432         * optabs.c: Likewise.
433         * sched-deps.c: Likewise.
434         * sdbout.c: Likewise.
435
436 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
437
438         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
439         re-computing of variable.
440
441 2003-10-11  Richard Henderson  <rth@redhat.com>
442
443         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
444         return_in_memory, make static, change signature to match target hook.
445         (alpha_setup_incoming_varargs): Make static, change signature to
446         match target hook, add code for vms and unicos.
447         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
448         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
449         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
450         TARGET_STRICT_ARGUMENT_NAMING,
451         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
452         * config/alpha/alpha-protos.h: Update.
453         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
454         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
455         SETUP_INCOMING_VARARGS): Remove.
456         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
457         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
458
459 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
460
461         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
462
463 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
464
465         * config/m68k/lb1sf68.asm: Follow spelling conventions.
466         * config/m68k/m68k.c: Likewise.
467         * config/m68k/m68k.h: Likewise.
468         * config/m68k/m68k.md: Likewise.
469
470 2003-10-11  Roger Sayle  <roger@eyesopen.com>
471
472         * builtins.c (expand_builtin_memcpy): Optimize case when the two
473         pointer arguments are the equal, non-volatile and side-effect free.
474         (expand_builtin_mempcpy): Likewise.
475         (expand_builtin_memmove): Likewise.
476         (expand_builtin_strcpy): Likewise.
477         (expand_builtin_memcmp): Likewise.
478         (expand_builtin_strcmp): Likewise.
479         (expand_builtin_strncmp): Likewise.
480
481 2003-10-11  Roger Sayle  <roger@eyesopen.com>
482
483         * combine.c (apply_distributive_law): Enable "distributive" floating
484         point optimizations with -funsafe-math-optimizations.
485
486 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
487
488         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
489
490 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
491
492         * config/m68k/m68k-protos.h: Remove the prototype for
493         finalize_pic.
494
495 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
496
497         * config/m68k/m68k.c: Fix comment typos.
498
499 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
500
501         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
502         int to bool.
503         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
504         (current_frame): New global var.
505         (m68k_compute_frame_layout): Cache computations in current_frame.
506         (m68k_initial_elimination_offset): Use values from current_frame
507         instead of recomputing them.
508         (use_return_insn): Likewise.
509         (m68k_output_function_prologue): Likewise.
510         (m68k_output_function_epilogue): Likewise.
511         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
512         inside the block for __pic__.
513
514 2003-10-11  Peter Barada <peter@baradas.org>
515             Bernardo Innocenti  <bernie@develer.com>
516
517         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
518         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
519         (m68k_interrupt_function_p): New function.
520         (m68k_handle_fndecl_attribute): Ditto.
521         (m68k_compute_frame_layout): Ditto.
522         (m68k_attribute_table): Define back-end specific attributes.
523         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
524         functions.
525
526 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
527
528         * config/m68k/t-uclinux: New target Makefile fragment.
529         * config/m68k/uclinux.h: New target macro file.
530         * config.gcc (m68k-*-uclinux): New target definition.
531
532 2003-10-10  Roger Sayle  <roger@eyesopen.com>
533
534         * builtins.c (builtin_mathfn_code): Generalize to check whether
535         the call is to any built-in function by comparing the call's
536         argument list against the builtin decl's function type.
537
538 2003-10-10  Roger Sayle  <roger@eyesopen.com>
539
540         * cse.c (constant_pool_entries_regcost): New global variable to
541         hold the register cost component of constant_pool_entries_cost.
542         (fold_rtx): Calculate constant_pool_entries_regcost at the same
543         time as constant_pool_entries_cost.
544         (cse_insn): Set both src_folded_cost and src_folded_regcost from
545         constant_pool_entries_cost and constant_pool_entries_regcost.
546         (cse_main): Initialize constant_pool_entries_regcost to zero.
547
548         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
549         the semantics of the sequence of bit operations used to negate
550         a floating-point value.
551         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
552         the semantics of the bit operations used to abs a floating point
553         value.
554
555 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
556             Paul Dale  <pauli@snapgear.com>
557
558         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
559         support.
560         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
561         -fpic, -fPIC, -msep-data and -mid-shared-library.
562         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
563         (override_options): Add -msep-data and -mshared-library-id support.
564         (m68k_output_function_prologue): Generate code to load A5 for
565         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
566         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
567         (m68k_output_pic_call): New function.
568         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
569         (TARGET_ID_SHARED_LIBRARY): Ditto.
570         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
571         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
572         (call_value): Likewise.
573
574 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
575
576         * gengenrtl.c (find_formats, genheader): Make i an unsigned
577         int, remove cast of NUM_RTX_CODE.
578         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
579         entire file.  Remove the #ifs on GET_MODE_MASK etc and
580         GET_MODE_WIDER_MODE etc.
581
582 2003-10-10  Eric Christopher  <echristo@redhat.com>
583
584         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
585         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
586         that set mode.
587         * config/sh/sh.h (MODE_ENTRY): New macro.
588         (MODE_EXIT): Ditto.
589         (MODE_AFTER): Ditto.
590         * config/sh/sh.md: Change for MODE_AFTER. Add
591         fp_set attribute.
592         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
593
594 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
595
596         * genmodes.c, mode-classes.def: New files.
597         * machmode.def: Rewritten to genmodes.c interface.
598         * Makefile.in (extra_modes_file): New substitution variable.
599         (MACHMODE_H): No longer includes machmode.def or
600         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
601         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
602         (OBJS-common): Add insn-modes.o.
603         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
604         genmodes$(build_exeext).
605         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
606         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
607         (s-genrtl): Don't depend on $(RTL_BASE_H).
608         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
609         or $(RTL_BASE_H); just rtl.def.
610         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
611         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
612         substitute definition of NUM_RTX_CODE.  Add casts to avoid
613         warnings.
614         * machmode.h: Include insn-modes.h, not machmode.def.  Include
615         mode-classes.def to define enum mode_class.  Tweak definitions
616         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
617         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
618         (inner_mode_array): Renamed mode_inner.
619         (mode_base_align): New.
620         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
621         mode_unit_size, mode_wider_mode, mode_mask_array,
622         inner_mode_array, class_narrowest_mode): Delete definitions.
623         * stor-layout.c (get_mode_alignment): Use mode_base_align.
624         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
625         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
626
627         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
628         No need to define BITS_PER_UNIT.
629
630 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
631
632         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
633         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
634         (ia64_initialize_trampoline): If not using GAS, declare trampoline
635         as global.
636         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
637         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
638
639         * stor-layout.c (compute_record_mode): Don't force BLKmode if
640         field is zero-length BLKmode.
641         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
642         zero-size references.
643
644         * combine.c (distribute_links): Properly test for REG being set.
645
646         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
647         gen_lowpart and company except for REG.
648
649 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
650
651         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
652
653 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
654
655         * config.gcc (mips*-*-netbsd*): Remove content-free line.
656
657 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
658
659         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
660         gcov_position_t and gcov_type.
661
662 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
663
664         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
665         * configure: Regenerate.
666
667 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
668
669         * config/h8300/h8300.md (define_asm_attributes): Specify
670         the length of an asm insn more precisely.
671
672 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
673
674         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
675
676 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
677
678         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
679         FP register number to 48 and MAC16 accumulator to 0x210.
680
681 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
682
683         * config.gcc: Remove redundant thread_file setting clauses for
684         various *-*-linux* targets.
685
686 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
687
688         * config/h8300/h8300.md (define_asm_attributes): New.
689
690 2003-10-09  Roger Sayle  <roger@eyesopen.com>
691
692         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
693         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
694
695 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
696
697         * haifa-sched.c (ok_for_early_schedule): New function.
698         (early_queue_to_ready): New function.
699         (schedule_block): Allow early removal of insns from Q.
700         (schedule_insn): Update INSN_TICK in case of premature
701         issue.
702         * common.opt (sched_stalled_insns): New flag.
703         (sched_stalled_insns_dep): New flag.
704         * flags.h: Same above flags.
705         * opts.c: Same as above.
706         * toplev.c: Same as above.
707         * target.h (targetm.sched.is_costly_dependence): New
708         hook.
709         * target-def.h: Same as above.
710         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
711         Support new flag -msched-costly-dep.
712         (DEFAULT_SCHED_COSTLY_DEP): Define.
713         * config/rs6000/rs6000.c:
714         (rs6000_is_costly_dependence): New function.
715         (is_load_insn, is_store_insn): New functions.
716         (is_load_insn1, is_store_insn1, is_mem_ref): New
717         functions.
718         * doc/invoke.texi (-fsched-stalled-insns-dep)
719         (-fsched-stalled-insns, -msched-costly-dep): Document
720         options.
721         * doc/tm.texi (is_costly_dependence): Define new
722         scheduler target hook.
723
724 2003-10-09  Jason Merrill  <jason@redhat.com>
725
726         PR c++/6392
727         * c-common.c (c_build_qualified_type): Look through arrays first.
728         (c_apply_type_quals_to_decl): Look through arrays.
729
730         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
731         types with constructors.
732
733         * coverage.c (build_ctr_info_value): Use build_decl to make a
734         VAR_DECL.
735         (create_coverage): Likewise.
736
737         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
738         here.
739         (expand_asm_operands): Not here.
740         (parse_input_constraint): No longer static.
741         * tree.h: Declare it.
742
743 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
744
745         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
746         libgcc_s.so.
747         (SHLIB_INSTALL): Likewise.
748
749 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
750
751         * doc/install.texi: Remove reference to removed 'pthreads' thread
752         option.
753
754 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
755
756         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
757         operand 2.
758
759 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
760
761         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
762         up related case statements.
763         * configure.in: Don't accept --enable-threads=pthreads,
764         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
765         supported thread files in case clause.
766         * configure: Regenerate.
767
768 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
769
770         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
771         definition to above SPARC_STACK_BOUNDARY_HACK.
772
773 2003-10-08  Jason Merrill  <jason@redhat.com>
774
775         * c-pretty-print.c (pp_c_postfix_expression)
776         <COMPOUND_LITERAL_EXPR>: Fix thinko.
777
778 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
779
780         * mklibgcc.in: Don't hide undefined or typeless symbols.
781
782 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
783
784         PR optimization/12142
785         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
786         uses of the register in the SET_SRC.  Remove unnecessary argument.
787         * pa.c (legitimize_pic_address): Before reload, use a scratch register
788         for the intermediate result in loading the address of a SYMBOL_REF.
789         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
790         which loads the SYMBOL_REF address.
791
792 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
793             Eric Botcazou  <ebotcazou@libertysurf.fr>
794
795         PR bootstrap/12490
796         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
797         to define the size of the extern_C_braces array.  Set it to 200.
798         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
799
800 2003-10-08  Carlo Wood  <carlo@alinoe.com>
801
802         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
803         a space after the -o option.  flex 2.5.31 understands both, with
804         and without the space. Removed that space.
805
806 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
807
808         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
809         (compute_frame_size): Initialize it.  Remove the .cprestore slot
810         from args_size.
811         (mips_output_function_prologue): Simplify accordingly.
812         (mips_debugger_offset): Change the mips16 frame pointer offset from
813         current_function_outgoing_args to cfun->machine->frame.args_size.
814         (mips_initial_elimination_offset): Likewise.
815         (mips_expand_prologue): Likewise.
816         (mips_expand_epilogue): Likewise.
817
818 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
819
820         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
821         (EXTRA_MEMORY_CONSTRAINT): Define.
822         (CAN_ELIMINATE): Remove lwu workaround.
823         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
824         Use a 'W' constraint for the source operand.
825
826 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
827
828         * genopinit.c (main): Output code to declare undefined
829         variables.
830
831 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
832
833         * gengtype-lex.l: Remove -Wtraditional cruft.
834         * Makefile.in (gengtype-lex.c): Likewise.
835
836 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
837
838         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
839
840 2003-10-07  Jason Merrill  <jason@redhat.com>
841
842         PR c++/12519
843         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
844         it isn't a decl.
845
846 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
847
848         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
849         not overridden.
850         Fixes PR bootstrap/12173.
851
852 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
853
854         * errors.c: Don't include coretypes.h or tm.h.
855         (trim_filename): Use IS_DIR_SEPARATOR.
856         * Makefile.in: Update dependencies of errors.o and
857         $(BUILD_PREFIX_1)errors.o.
858
859 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
860
861         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
862         account when aligning arguments.
863         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
864         * defaults.h (STACK_POINTER_OFFSET): ... to here.
865         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
866         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
867         (SPARC_STACK_BOUNDARY_HACK): Define.
868         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
869         arrange for vector parameters to varargs functions to be passed
870         in both memory and GPRs when appropriate.
871         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
872         aligned.
873
874         * hooks.c (hook_bool_tree_true): New.
875         (hook_rtx_tree_int_null): New.
876         (hook_rtx_rtx_null): Use NULL, not 0.
877         * hooks.h: Add 'extern' to everything.
878         (hook_bool_tree_true): New.
879         (hook_rtx_tree_int_null): New.
880         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
881         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
882         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
883         prototype.
884         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
885         (setup_incoming_varargs): Prototype.
886         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
887         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
888         (TARGET_STRUCT_VALUE_RTX): Define.
889         (TARGET_RETURN_IN_MEMORY): Define.
890         (TARGET_SETUP_INCOMING_VARARGS): Define.
891         (TARGET_STRICT_ARGUMENT_NAMING): Define.
892         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
893         (init_cumulative_args): Use rs6000_return_in_memory.
894         (setup_incoming_varargs): Make 'static'.
895         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
896         (PROMOTE_FUNCTION_RETURN): Delete.
897         (STRUCT_VALUE): Delete.
898         (RETURN_IN_MEMORY): Delete.
899         (SETUP_INCOMING_VARARGS): Delete.
900
901 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
902
903         * doc/invoke.texi (Warning Options): Simplify and clarify the
904         descriptions of -Wnonnull and -Winit-self.
905
906 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
907
908         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
909         indicees for floating-point conversersion libcalls.
910
911 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
912
913         * Makefile.in: Add more comments separating large conceptually
914         separate sections.
915
916         * configure.in: Clean up thread file logic.
917         * configure: Regenerate.
918
919 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
920
921         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
922         (switch_to_section): Handle in_readonly_data.
923         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
924         readonly data.
925
926 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
927
928         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
929         it.
930         (cbranchne_decr1): New Thumb pattern.
931         * arm.c (arm_addimm_operand): New insn predicate.
932         * arm-protos.h: Add a prototype for it.
933         * arm.h (PREDICATE_CODES): Add it.
934
935 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
936
937         * sched-int.h (sched_info): New field
938         sched_max_insns_priority.
939         * sched-rgn.c (init_ready_list): Add invocations to
940         targetm.sched.adjust_priority.
941         (sched_max_insns_priority): Init new field.
942         * sched-ebb.c (sched_max_insns_priority): Init new field.
943         * haifa-sched.c (set_priorities): Set
944         sched_info->sched_max_insns_priority.
945         * config/rs6000/rs6000.h:
946         (rs6000_sched_restricted_insns_priority_str): Support new
947         flag -mprioritize-restricted-insns.
948         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
949         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
950         function.
951         (rs6000_adjust_priority): Change priority of restricted
952         insns, using above new function and new flag.
953         * doc/invoke.texi (-mprioritize-restricted-insns): Document
954         new option.
955
956 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
957
958         * expr.c (cmpstr_optab, cmpmem_optab): New.
959         * genopinit.c: Initialize them.
960         * optabs.h: Declare them.
961         * optabs.c (init_optabs): Clear them.
962         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
963         block memory compare insns, not conditional chains.  Restructure
964         the fallback generation of a call to memcmp/bcmp for better
965         readability.
966
967 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
968
969         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
970         (mips_save_restore_fn): New typedef.
971         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
972         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
973         (save_restore_insns): Remove, replacing with...
974         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
975         (mips_save_reg, mips_restore_reg): New function.
976         (mips_expand_prologue, mips_expand_epilogue): Rework.
977         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
978         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
979         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
980
981 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
982
983         * config/mips/mips.c (mips_expand_prologue): Remove unused
984         traversal of function arguments.
985
986 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
987
988         * doc/invoke.texi: Remove documentation of -mentry.
989         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
990         (override_options, mips_save_reg_p): Remove handling.
991         (compute_frame_size, mips_output_function_prologue): Likewise.
992         (mips_expand_prologue, mips_expand_epilogue): Likewise.
993         * config/mips/mips.h (mips_entry_string): Remove declaration.
994         (TARGET_OPTIONS): Remove -mentry.
995         * config/mips/mips16.S: Remove mention of -mentry.
996
997 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
998
999         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
1000         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
1001         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
1002         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
1003         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
1004         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
1005         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
1006         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
1007         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
1008         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
1009         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
1010         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
1011         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
1012         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
1013         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
1014         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
1015         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
1016         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
1017         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
1018         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
1019         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
1020         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
1021         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
1022         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
1023         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
1024         (fixunstfti_libfunc): Delete.
1025         * optabs.h (struct optab_handlers): Break out of struct optab.
1026         (struct convert_optab, convert_optab, enum convert_optab_index,
1027         convert_optab_table, sext_optab, zext_optab, trunc_optab,
1028         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
1029         sfloat_optab, ufloat_optab): New.
1030         (set_conv_libfunc): Prototype.
1031         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
1032         (trunc_optab): Renamed btrunc_optab.
1033         * builtins.c (expand_builtin_mathfn): Update to match.
1034         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
1035         (convert_optab_table, new_convert_optab, init_convert_optab)
1036         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
1037         (set_conv_libfunc): New.
1038         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
1039         (expand_float, expand_fix): Use new conversion optabs,
1040         not old insn code tables or long chains of ifs.
1041         (init_optabs): No need to clear old insn code tables.
1042         Initialize the new optabs, not the old libfunc array entries.
1043         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
1044         * genopinit.c: Initialize conversion optabs, not the
1045         former insn code tables.  Remove unnecessary casts.
1046         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
1047         * expr.c (convert_move): Remove redundant check that
1048         to_real==from_real.  Use the conversion optabs instead
1049         of long chains of tests of modes.  Move partial-integer-mode
1050         interconversion above all integer conversion.  Do not recurse
1051         on a value forced into a register in the original mode.
1052
1053         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
1054         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
1055         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
1056         in new conversion optabs; do not reference the old libfunc
1057         array entries.  No need to include libfuncs.h.
1058
1059 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1060
1061         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
1062         point comparison sequence with a REG_EQUAL note that describes
1063         the comparison's semantics.
1064
1065 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1066
1067         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
1068         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
1069
1070 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1071             Zack Weinberg  <zack@codesourcery.com>
1072
1073         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
1074         instruction by using LCT_CONST and then calling emit_libcall_block
1075         ourselves.
1076
1077 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1078
1079         PR optimization/11974
1080         * optabs.c (expand_unop): Promote libcall outmode according to
1081         hard_libcall_value.
1082
1083 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
1084
1085         * real.h (REAL_MODE_FORMAT): New macro.
1086         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
1087         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
1088         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
1089         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
1090         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
1091         directly to real_format_for_mode array, wherever possible.
1092
1093 2003-10-06  Devang Patel  <dpatel@apple.com>
1094
1095         * dwarf2out.c (is_main_source): Remove variable.
1096         (dwarf2out_start_source_file): Do not check is_main_source.
1097         Do not reset is_main_source.
1098         (dwarf2out_init): Do not initialize is_main_source.
1099
1100 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1101
1102         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
1103         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
1104         introduced some multi-line prototypes.
1105         * fixinc/fixincl.x: Regenerate.
1106
1107 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1108
1109         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
1110         * config/mips/mips.c (stack_operand): New predicate.
1111         * config/mips/mips.md: Use it for the destination of mips16 insns
1112         that store $31.
1113
1114 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1115
1116         * config/mips/mips.md (*lowsi): Renamed from lowsi.
1117         (*lowdi): Likewise lowdi.
1118         (*lowsi_mips16, *lowdi_mips16): New patterns.
1119         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
1120         mips16 CONSTANT_RELOC handling.
1121         (mips_delegitimize_address): Adjust for new sdata representation.
1122
1123 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1124
1125         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
1126         skip any remaining register arguments.
1127
1128 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
1129
1130         * reload.c (find_reloads_subreg_address): Use correct offset for
1131         paradoxical MEM subregs on big-endian targets.
1132
1133 2003-10-06  Andrew Haley  <aph@redhat.com>
1134
1135         * tree.c (get_callee_fndecl): Call
1136         lang_hooks.lang_get_callee_fndecl.
1137         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1138         (lhd_get_callee_fndecl): New.
1139
1140 2003-10-06  Andrew Pinski  <apinski@apple.com>
1141
1142         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
1143         error in calculating the length of the string.
1144         (machopic_stub_name): Likewise.
1145
1146 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1147
1148         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
1149         describing the return value of the comparison libcall to the
1150         REG_RETVAL instruction of the emitted sequence.
1151
1152 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1153
1154         PR optimization/12215
1155         * cse.c (cse_set_around_loop): Emit the move at the beginning
1156         of the next basic block for trapping sets.
1157
1158 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1159
1160         PR optimization/11637
1161         * combine.c (adjust_for_new_dest): New function to adjust the
1162         notes and LOG_LINKS when the dest of an insn has changed.
1163         (try_combine): Use it when deleting the first insn of a two-insn
1164         parallel or splitting a two-load parallel.
1165
1166 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1167
1168         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
1169         if TARGET_EXPLICIT_RELOCS.
1170
1171 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
1172
1173         PR bootstrap/12512
1174         * Makefile.in (info): Use double-colon rules.
1175         (dvi): Likewise.
1176         (generated-manpages): Likewise.
1177         * configure.in: Do not create lang.info, lang.dvi, or
1178         lang.generated-manpages hooks.
1179         * configure: Regenerated.
1180         * objc/Make-lang.in (objc.info): Remove.
1181         (objc.dvi): Remove.
1182         (objc.generated-manpages): Remove.
1183         * doc/sourcebuild.texi: Update description of info, dvi, and
1184         generated-manpages hooks.
1185
1186 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1187
1188         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
1189
1190 2003-10-05  Andrew Pinski  <apinski@apple.com>
1191
1192         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
1193         errors in memcpy destinations.
1194         (machopic_stub_name): Likewise.
1195
1196 2003-10-05  Andrew Pinski <apinski@apple.com>
1197
1198         * config/darwin.c (machopic_non_lazy_ptr_name):
1199         Change strcat to memcpy and add length together.
1200         (machopic_stub_name): Likewise.
1201
1202 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1203
1204         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
1205         signal trampoline codes.
1206
1207 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
1208
1209         * config/mips/mips.md (*divsf3): Move description of
1210         SB-1 F2 erratum from here to...
1211         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
1212         flag_unsafe_math_optimizations is not.
1213
1214 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
1215
1216         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
1217         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
1218
1219 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1220
1221         * c-pretty-print.c: Fix comment typos.
1222         * c-pretty-print.h: Likewise.
1223         * calls.c: Likewise.
1224         * cfgloopmanip.c: Likewise.
1225         * cgraphunit.c: Likewise.
1226         * cppfiles.c: Likewise.
1227         * final.c: Likewise.
1228         * function.c: Likewise.
1229         * gcov-io.h: Likewise.
1230         * gcse.c: Likewise.
1231         * genoutput.c: Likewise.
1232         * loop.c: Likewise.
1233         * postreload.c: Likewise.
1234         * reg-stack.c: Likewise.
1235         * regmove.c: Likewise.
1236         * sched-int.h: Likewise.
1237         * sched-rgn.c: Likewise.
1238         * simplify-rtx.c: Likewise.
1239         * tree-inline.c: Likewise.
1240         * config/m68hc11/m68hc11.h: Likewise.
1241         * config/mmix/mmix.c: Likewise.
1242         * config/mn10300/mn10300.md: Likewise.
1243         * config/sh/sh.h: Likewise.
1244
1245 2003-10-05  Richard Henderson  <rth@redhat.com>
1246
1247         * tree-inline.c (remap_type): New.
1248         (remap_decl): Use it.  Remap DECL_SIZE*.
1249         (copy_body_r): Use it.
1250         (walk_tree): Walk TREE_TYPE too.
1251         (copy_tree_r): Don't walk subtrees of types.
1252         * tree.c (variably_modified_type_p): Restructure.  Consider integer
1253         types with non-const bounds variably modified.
1254
1255 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1256
1257         * doc/invoke.texi: Fix typos.
1258
1259 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1260
1261         * fold-const.c: Follow spelling conventions.
1262         * function.c: Likewise.
1263         * config/c4x/c4x.h: Likewise.
1264         * config/c4x/c4x.md: Likewise.
1265         * config/frv/frv.md: Likewise.
1266         * config/rs6000/aix.h: Likewise.
1267         * config/rs6000/linux64.h: Likewise.
1268         * config/xtensa/xtensa.c: Likewise.
1269
1270 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1271
1272         * c-pretty-print.c: Fix comment formatting.
1273         * cfglayout.c: Likewise.
1274         * cfgloopanal.c: Likewise.
1275         * cppcharset.c: Likewise.
1276         * dbxout.c: Likewise.
1277         * ggc-page.c: Likewise.
1278         * ggc.h: Likewise.
1279         * target.h: Likewise.
1280
1281 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
1282
1283         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
1284
1285 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1286
1287         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
1288         Convert to ISO C90 function declarations and definitions.
1289
1290 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
1291
1292         * libfuncs.h
1293         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
1294         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
1295         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
1296         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
1297         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
1298         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
1299         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
1300         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
1301         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
1302         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
1303         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
1304         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
1305         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
1306         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
1307         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
1308         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
1309         Delete.
1310         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
1311         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
1312         (le_optab, unord_optab): New.
1313
1314         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
1315         from the code_to_optab table, not a giant switch; use
1316         swap_condition; do widening only if a comparison function that
1317         we can call exists in a wider mode, not if a cmp_optab insn or
1318         libfunc exists in a wider mode; call protect_from_queue
1319         exactly once on each operand.
1320         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
1321
1322         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
1323         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
1324         Set floating point comparison libfuncs using set_optab_libfunc
1325         on the appropriate optab.
1326
1327         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
1328         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
1329         selector conditionals.
1330
1331 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1332
1333         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
1334         identical to m68hc12 as far as libraries are concerned.
1335
1336 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1337
1338         PR c/12446
1339         * c-typeck.c (convert_for_assignment): Issue an error for
1340         array to pointer assignment after default conversion.
1341         (digest_init): Likewise.
1342
1343 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
1344
1345         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
1346
1347 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
1348
1349         * doc/extend.texi (Function Attributes): Fix title of GNU C
1350         Preprocessor manual.
1351         (C++ Extensions): Fix reference to "Predefined Macros" in the
1352         GNU C Preprocessor manual.
1353
1354 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
1355
1356         * doc/extend.texi: Document how GCC estimates and relies on the size
1357         of an asm.
1358
1359 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
1360
1361         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
1362         arguments downward for big-endian o64.
1363
1364 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
1365
1366         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
1367         PCH generation, avoiding too-frequent flushes when writing to NFS
1368         file system.
1369
1370 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
1371
1372         * objc/objc-act.c (lookup_category): Mark as 'inline'.
1373
1374 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
1375             Ziemowit Laski  <zlaski@apple.com>
1376
1377         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
1378         New functions.
1379         (lookup_method_in_hash_lists): New parameter indicating whether
1380         we are messaging 'Class' or 'id'.
1381         (check_duplicates): Likewise; do not assume all methods will
1382         be either class or instance methods.
1383         (generate_category, finish_class): Use lookup_category().
1384         (add_method): Use add_method_to_hash_list(); insert instance
1385         methods of root classes into the global class method hash table.
1386         (add_category): Use lookup_category(); avoid constructing
1387         duplicate categories.
1388         (really_start_method): Add method to corresponding @interface,
1389         if not already there (and if the @interface exists).
1390         (finish_message_expr, finish_objc): Adjust calls to
1391         check_duplicates().
1392
1393 2003-10-03  Roger Sayle  <roger@eyesopen.com>
1394
1395         PR optimization/9325, PR java/6391
1396         * fold-const.c (fold_convert): For floating point to integer
1397         conversions, return the maximum/minimum representable integer
1398         value if the real constant overflows the destination type.
1399         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
1400         meaning don't truncate the result to a floating point mode.
1401         Simplify the logic by calling real_from_integer directly.
1402         * simplify-rtx.c (simplify_unary_operation):  Implement the
1403         same semantics for folding floating point to integer conversions
1404         in RTL.
1405
1406 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
1407
1408         * config/mips/mips.c (mips_emit_prefetch): Restructure
1409         to avoid use of arrays, handle indexed prefetch.
1410         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
1411         (ISA_HAS_PREFETCHX): New deffine.
1412         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
1413         update comments.
1414         (prefetch_indexed_di, prefetch_indexed_si): New insns.
1415
1416 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
1417             Roger Sayle  <roger@eyesopen.com>
1418
1419         PR optimization/12289
1420         * calls.c (emit_call_1): Pretend to have popped the arguments
1421         to noreturn and longjmp functions instead of ignoring them.
1422         (expand_call): Don't adjust stack_pointer_dela while
1423         inhibit_defer_pop is set.
1424
1425 2003-10-03  Andreas Schwab  <schwab@suse.de>
1426
1427         PR bootstrap/12276
1428         * configure.in: Check for libunwind on the host only if building
1429         a native compiler.
1430         * configure: Regenerated.
1431
1432 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
1433
1434         * unwind-pe.h (read_encoded_value_with_base): Constify u and
1435         its inizialization cast.
1436
1437 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
1438
1439         PR target/12485
1440         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
1441
1442 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
1443
1444         PR optimization/12180
1445         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
1446         functions containing calls to __builtin_next_arg.
1447
1448 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
1449
1450         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
1451         in instructions being output.
1452         * config/mips/mips.md (prefetch_si_address): Change third
1453         operand's constraint letter to 'I'.
1454         (prefetch_di_address): Likewise.
1455         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
1456
1457 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
1458
1459         * system.h: Poison macros obsoleted by earlier patch.
1460         * config/cris/cris.c: C90-ify a function definition.
1461
1462 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1463
1464         PR/12292
1465         * combine.c (make_field_assignment): Check whether rtx's code
1466         is CONST_INT before using INTVAL.
1467
1468 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1469
1470         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
1471         htab_find_slot_with_hash.
1472         (cgraph_node_for_identifier): Use NO_INSERT.
1473         (cgraph_remove_node): Use NO_INSERT.
1474         (cgraph_varpool_node): Use INSERT.
1475         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
1476
1477 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1478
1479         Waldek Hebisch <hebisch@math.uni.wroc.pl>
1480         PR/12072
1481         * varasm.c (compare_constant): Fix thinko.
1482
1483 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
1484
1485         * config/frv/frv.c (frv_issue_rate): New function.
1486         (frv_pack_insns): Use it.
1487         (TARGET_SCHED_ISSUE_RATE): Define.
1488
1489 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
1490
1491         * config/mcore/mcore.c: Convert to ISO C90 function declarations
1492         and definitions.
1493         * config/mcore/mcore.h: Likewise.
1494         * config/mcore/mcore-protos.h: Likewise.
1495
1496 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
1497
1498         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
1499         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
1500
1501 2003-10-01  Per Bothner  <pbothner@apple.com>
1502
1503         * c-lex.c (src_line):   Remove unneeded static variable.
1504         (cb_line_change):  Set input_line directly, instead of src_line.
1505         (get_non_padding_token):  We no longer need to compensate for the
1506         "horrible things" the C++ front-end does with the current line number,
1507
1508         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
1509         callback even when popping the main file.
1510         * c-lex.c (fe_file_change):  Handle a NULL new_map.
1511         * fix-header.c (cb_file_change):  Likewise.
1512         * c-ppoutput.c (pp_file_change):  Likewise.
1513
1514         * cppinit.c (cpp_read_main_file):  Split into two functions:
1515         Distribute _cpp_stack_file call over the two functions.
1516         (cpp_find_main_file):  New function.
1517         Don't call _cpp_do_file_change even if working_directory flag set.
1518         (cpp_push_main_file):  New function.
1519         * cppfiles.c (_cpp_find_failed):  New helper function.
1520         (find_file):  Made non-static and renamed to _cpp_find_file.
1521         (_cpp_stack_file):  No longer needed.  But note the following.
1522         (stack_file):  Made non-static and renamed to _cpp_stack_file.
1523         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
1524         call with calls to cpp_find_main_file and cpp_push_main_file.
1525         (search_path_head):  If there is no current buffer, use main_file.
1526         * cpphash.h:  Update function declarations.
1527         * cpplib.h:  Update function declarations.
1528
1529         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
1530         (c_common_parse_file):  No longer need to call cpp_read_main_file
1531         when file_index > 0 (as in multi-file or server compiation).
1532         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
1533         as this now happens before cpp_push_main_file.
1534         (push_command_line_include):  When done with options, pass LC_LEAVE
1535         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
1536         (fe_file_change):  Handle NULL new_map, and simplify.
1537         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
1538         08-28 change, since we're never called with a NULL buffer.
1539         (_cpp_lex_direct):  Likewise.
1540         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
1541         Return false if buffer is NULL at end.
1542
1543         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
1544         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
1545         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
1546         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
1547         remove the unused return_at_eof parameter.
1548         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
1549         Update callers of cpp_push_buffer.
1550
1551 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
1552
1553         * target.h (init_libfuncs): New hook.
1554         * target-def.h: Default TARGET_INIT_BUILTINS and
1555         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
1556         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
1557         * builtins.c (default_init_builtins): Delete.
1558         * expr.h (default_init_builtins): Delete prototype.
1559         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
1560         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
1561         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
1562         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
1563         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
1564         and UMODDI3_LIBCALL,
1565
1566         * Makefile.in (optabs.o): Depends on target.h.
1567         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
1568         * optabs.c: Include target.h.
1569         (prepare_float_lib_cmp): No need for #ifdef around use of
1570         FLOAT_LIB_COMPARE_RETURNS_BOOL.
1571         (set_optab_libfunc): New function.
1572         (init_optabs): Delete use of all *_LIBCALL defines.
1573         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
1574         * optabs.h: Prototype set_optab_libfunc.
1575
1576         * config.gcc: Remove all references to pa/long_double.h,
1577         ia64/hpux_longdouble.h, and gofast.h.
1578         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
1579         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
1580
1581         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
1582         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
1583         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
1584         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
1585         * config/sparc/sparc.c, config/vax/vax.c:
1586         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
1587         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
1588
1589         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
1590         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
1591         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
1592         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
1593         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
1594         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
1595         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
1596         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
1597         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
1598
1599         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
1600         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
1601         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
1602         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
1603         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
1604
1605         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
1606         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
1607         SUN_INTEGER_MULTIPLY_64 to 0.
1608         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
1609         SUN_INTEGER_MULTIPLY_64 to 1.
1610         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
1611         SUN_INTEGER_MULTIPLY_64 to 0.
1612         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
1613         Define US_SOFTWARE_GOFAST.
1614         * config/vax/vax.h: Default TARGET_ELF to 0.
1615         * config/vax/elf.h: Redefine TARGET_ELF to 1.
1616
1617         * config/gofast.h: Don't define any macros here.  Provide one
1618         static function, gofast_maybe_init_libfuncs, which does what
1619         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
1620         is already defined.  Do not clear negation libfuncs.  Do
1621         not mess with HFmode, XFmode, or TFmode libfuncs.
1622
1623         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
1624
1625 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
1626
1627         PR C/12466
1628         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
1629
1630 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1631
1632         * config/mips/xm-iris5.h: Remove, unnecessary.
1633         * config.build (mips-sgi-irix5*): Remove.
1634         (mips-sgi-irix6*o32): Likewise.
1635         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
1636         (mips-sgi-irix5cross64): Likewise.
1637         (mips-sgi-irix5*): Likewise.
1638         * config.host (mips-sgi-irix5*): Remove.
1639         (mips-sgi-irix6*o32): Likewise.
1640
1641 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
1642
1643         * dbxout.c (dbxout_fptype_value): Delete.
1644         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
1645
1646 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
1647
1648         * output.h (compute_reloc_for_constant): Declare.
1649         * varasm.c (compute_reloc_for_constant): Extract from...
1650         (output_addressed_constants): ... here.  Adjust all callers.
1651
1652 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1653
1654         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
1655         * configure: Rebuilt.
1656
1657 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1658
1659         * fold-const.c (make_range): When handling unsigned, don't reverse
1660         range if high bound is zero.
1661
1662 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
1663
1664         * config/frv/frv.h (PREDICATE_CODES): Added
1665         condexec_si_media_operator, condexec_sf_add_operator and
1666         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
1667         and condexec_sf_unary_operator.
1668
1669 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1670
1671         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
1672         * configure: Rebuilt.
1673
1674 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1675
1676         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
1677         Allow override.
1678         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
1679
1680 2003-09-23  David S. Miller  <davem@redhat.com>
1681
1682         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
1683         before redefining.
1684         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
1685
1686 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
1687
1688         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
1689         C90 function declarations and definitions.
1690
1691 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1692
1693         * config.gcc (cris-*-linux*): Revert mistaken commit.
1694
1695 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1696
1697         PR optimization/11753
1698         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
1699         the length in the non-V9 case.
1700
1701 2003-09-30  Richard Henderson  <rth@redhat.com>
1702
1703         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
1704         DWARF_ALT_FRAME_RETURN_COLUMN.
1705         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
1706         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
1707         (uw_frame_state_for): Return end-of-stack for null return address.
1708         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
1709
1710         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
1711         (alpha_expand_prologue): Store a zero for it.
1712         (alpha_expand_epilogue): Don't reload it.
1713         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
1714         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
1715         for the sigframe return address.
1716
1717 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
1718
1719         * sdbout.c: Convert to ISO C90 prototypes.
1720         * objc/objc-act.c: Likewise.
1721
1722 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
1723
1724         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
1725         * config/i386/winnt.c: Likewise.
1726         * config/i386/cygming.h: Likewise.
1727
1728 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
1729
1730         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
1731         (A ^ B) - B for any B.
1732
1733 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
1734
1735         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
1736         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
1737
1738 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
1739
1740         * arm/ieee754-sf.S: Tidy formatting.
1741
1742 2003-09-30  Nicolas Pitre  <nico@cam.org>
1743
1744         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
1745         and ARM_MOD_BODY.
1746         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
1747         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
1748         added better divisor alignment in the other case.
1749         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
1750         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
1751         macros above, add fast exits for divisor >= dividend, etc.
1752
1753 2003-09-30  Nicolas Pitre  <nico@cam.org>
1754
1755         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
1756         L_fixdfsi target.
1757         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
1758
1759 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
1760
1761         * config.gcc: Default use_fixproto to 'no'.
1762
1763 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
1764
1765         PR optimization/12345
1766         * config/mips/mips-protos.h (mips_restore_gp): Remove.
1767         (mips_gp_save_slot): Declare.
1768         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
1769         (mips_gp_save_slot): ...this new function.
1770         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
1771         and mips_output_move to generate the output template.
1772         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
1773         a gp load after a noreturn call.  Load the gp using a move rather
1774         than an exception_receiver pattern.
1775         (call_value_internal, call_value_multiple_internal): Likewise.
1776         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
1777
1778 2003-09-30  Carlo Wood  <carlo@alinoe.com>
1779
1780         PR debug/12319
1781         * cfglayout.c (insn_scope):  Use prologue_locator and
1782         epilogue_locator; return the outer function scope for
1783         pro- and epilogue insns.
1784
1785 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
1786
1787         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
1788         REAL_TYPEs based on the bitsize of the type's mode, not the
1789         mode directly.
1790
1791 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1792
1793         * dwarf2out.c (default_eh_frame_section): Split into ...
1794         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
1795         functions.
1796         * output.h (named_section_eh_frame_section): Declare.
1797         (collect2_eh_frame_section): Likewise.
1798
1799 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
1800
1801         * real.c (real_sqrt): Use get_canonical_qnan directly.
1802
1803         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
1804
1805         * varasm.c (assemble_real): Use real_to_target directly,
1806         calculate the number of significant elements of the result
1807         array and write them out in a loop, instead of using a giant
1808         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
1809         macro.
1810
1811 2003-09-29  Jan Hubicka  <jh@suse.cz>
1812
1813         PR c++/12175
1814         * varasm.c (notice_global_symbol): Discard external symbols.
1815
1816         PR optimization/12286
1817         * gcov-io.c (gcov_read_words): Fix memmove call.
1818         * profile.c (compute_branch_probabilities): Add extra sanity checks.
1819
1820 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1821
1822         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
1823         Solaris 7-9.
1824
1825         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
1826         wildcards which explicitly match micro versions.
1827         * fixinc/fixincl.x: Regenerate.
1828
1829 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1830
1831         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
1832         (A ^ B) - B, where B is any power of 2 minus 1.
1833
1834 2003-09-29  Jan Hubicka  <jh@suse.cz>
1835
1836         * libgcov.c (gcov_exit): Fix two pastos.
1837
1838 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1839
1840         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
1841         define_split immediately below to form define_insn_and_split.
1842
1843 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1844
1845         * config/h8300/h8300.md (*tstsi_variable_bit): New.
1846         (*tstsi_variable_bit_qi): Likewise.
1847
1848 2003-09-28  Phil Edwards  <phil@codesourcery.com>
1849
1850         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
1851         reference name.
1852
1853 2003-09-28  Richard Henderson  <rth@redhat.com>
1854
1855         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
1856         file and line separately.
1857
1858 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
1859
1860         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
1861         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
1862         "*subdi3_borrow_cconly"): New insns.
1863         ("*addsi3_sub", "*subsi3_sub"): Remove.
1864         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
1865         ("*subsi3_cc"): Fix op_type attribute.
1866
1867 2003-09-28  Richard Henderson  <rth@redhat.com>
1868
1869         * stmt.c (expand_asm_operands): Take a location_t, instead of
1870         individual file and line.
1871         * c-typeck.c (c_expand_asm_operands): Likewise.
1872         * tree.h (expand_asm_operands): Update decl.
1873         * c-common.h (c_expand_asm_operands): Likewise.
1874         * c-semantics (genrtl_asm_stmt): Update call.
1875
1876 2003-09-28  Philip Blundell  <philb@gnu.org>
1877
1878         * config/arm/arm.c (legitimize_pic_address): Check
1879         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
1880         (arm_assemble_integer): Likewise.
1881
1882 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
1883
1884         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
1885         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
1886         config/c4x/c4x.h:
1887         Convert to ISO C90 function declarations and definitions.
1888
1889 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
1890
1891         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
1892         Convert to ISO C90 function declarations and definitions.
1893
1894 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
1895
1896         * config/mips/mips.c (mips_constant_info): Add reloc field.
1897         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
1898         underlying symbol, not to an unspec.
1899         (mips_delegitimize_address, print_operand): Clean up accordingly.
1900
1901 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
1902
1903         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
1904         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
1905         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
1906         (mips_classify_constant): Use it.
1907         (mips_splittable_symbol_p): Add an offset argument.
1908         (mips_classify_address): Adjust call accordingly.
1909         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
1910         than a relocation unspec.  Update call to mips_splittable_symbol_p.
1911         Generalize the code that copes with symbols + invalid offsets.
1912         (print_operand): Allow '%R' to be applied to small data addresses.
1913         (mips_reloc_string): Remove RELOC_GPREL16.
1914         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
1915         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
1916         relocation operators.
1917         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
1918         constants accordingly.
1919
1920 2003-09-27  Roger Sayle  <roger@eyesopen.com>
1921
1922         * toplev.c (flag_evaluation_order): New global variable.
1923         * flags.h (flag_evaluation_order): Prototype here.
1924         * expr.c (expand_operands): If we need to preserve observable
1925         evaluation order, protect exp1 from clobbering exp0's result.
1926
1927 2003-09-28  Andreas Jaeger  <aj@suse.de>
1928
1929         * c-decl.c (finish_function): Convert definition to ISO C90.
1930         * ifcvt.c (mark_loop_exit_edges): Likewise.
1931         * ra-rewrite.c (emit_colors): Likewise.
1932
1933 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1934
1935         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
1936         * config.gcc (arm*-*-uclinux*): Disable fixproto.
1937         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
1938         powerpc-*-eabialtivec*): Disable fixproto.
1939
1940 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1941
1942         PR optimization/12340
1943         * loop.h (struct induction): Document the new semantics
1944         of the 'same' field for bivs.
1945         * unroll.c (biv_total_increment): Don't count the same
1946         biv increment several times.
1947         (loop_iterations) [GENERAL_INDUCT]: Likewise.
1948
1949 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
1950
1951         * unroll.c (loop_interations)[GT]: Add missing break.
1952
1953 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
1954
1955         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
1956         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
1957         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
1958         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
1959         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
1960         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
1961         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
1962         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
1963         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
1964         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
1965         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
1966         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
1967         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
1968         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
1969         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
1970         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
1971         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
1972         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
1973         config/alpha/xm-vms.h, config/arc/arc-modes.def,
1974         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1975         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
1976         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1977         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
1978         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
1979         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
1980         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
1981         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
1982         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
1983         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
1984         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
1985         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
1986         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
1987         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
1988         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
1989         config/i960/i960-c.c, config/i960/i960-coff.h,
1990         config/i960/i960-modes.def, config/i960/i960-protos.h,
1991         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
1992         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
1993         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
1994         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
1995         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1996         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
1997         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
1998         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
1999         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
2000         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
2001         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
2002         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
2003         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
2004         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
2005         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
2006         config/mcore/mcore-protos.h, config/mcore/mcore.c,
2007         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
2008         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
2009         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
2010         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
2011         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
2012         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
2013         config/mips/vr.h, config/mn10300/linux.h,
2014         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
2015         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
2016         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
2017         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
2018         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
2019         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
2020         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
2021         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
2022         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
2023         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
2024         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
2025         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
2026         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2027         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
2028         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
2029         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
2030         fixinc/fixinc.svr4: GNU CC -> GCC.
2031
2032 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
2033
2034         * objc/objc-act.c (tm_p.h): Tweak order.
2035         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
2036
2037 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2038
2039         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
2040         Include t-slibgcc-elf-ver and t-linux in tmake_file.
2041         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
2042         Disable fixproto.
2043         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
2044         Disable fixproto.
2045         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
2046         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
2047
2048         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
2049
2050 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
2051
2052         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
2053         * objc/objc-act.c (tm_p.h): Include.
2054
2055 2003-09-26  Per Bothner  <pbothner@apple.com>
2056
2057         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
2058         No longer any need to reverse by recursion.
2059
2060 2003-09-26  Roger Sayle  <roger@eyesopen.com>
2061             Richard Henderson  <rth@redhat.com>
2062
2063         PR optimization/11741
2064         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
2065         appropriate set to match that in hash_scan_insn.  Fall back to
2066         the original copy method, if we can't validate changing insn.
2067         (pre_delete): Only delete instructions that have a single_set,
2068         instead of aborting when we encounter an PARALLEL insn with more
2069         then one SET.
2070
2071 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
2072
2073         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
2074         ("builtin_longjmp"): Insn deleted.
2075         ("save_stack_nonlocal"): Save literal pool base pointer behind
2076         backchain and stack pointer.
2077         ("restore_stack_nonlocal"): Restore literal pool base pointer.
2078         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
2079         the stack save area for the nonlocal goto case.
2080
2081 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2082
2083         PR bootstrap/12358
2084         * pa.c (output_bvb): Fix typo.
2085
2086 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2087
2088         * expmed.c (store_bit_field): Don't search for an integer mode
2089         unless we need the result.
2090
2091 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2092
2093         * expr.c (emit_move_insn_1): If there is no move pattern for the
2094         original mode, try using a pattern for the corresponding integer mode.
2095
2096 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2097
2098         PR middle-end/9200
2099         * combine.c (if_then_else_cond): Tighten mode check.
2100
2101 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2102
2103         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
2104         'struct _cpp_strbuf'.
2105
2106         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
2107         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
2108         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
2109         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
2110         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
2111         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
2112         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
2113         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
2114         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
2115         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
2116         * config/i386/i386-aout.h, config/i386/i386-coff.h,
2117         config/i386/i386-interix.h, config/i386/i386-interix3.h,
2118         config/i386/i386-modes.def, config/i386/i386-protos.h,
2119         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
2120         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
2121         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
2122         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
2123         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
2124         "GNU compiler" -> GCC.
2125         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
2126         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
2127         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
2128         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
2129         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2130         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
2131
2132 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
2133
2134         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
2135         "local" to the callgraph dump.  Output "after inlining" earlier.
2136         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
2137         callgraph dumps.  Correct misspellings.
2138         (cgraph_decide_inlining):  Output number of insns before inlining.
2139         Output the calling function into which a function is inlined.
2140         (cgraph_decide_small_functions): Format dump file like always_inline.
2141
2142 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
2143
2144         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
2145
2146 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2147
2148         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
2149         FPR slots in the save area.
2150         (s390_emit_epilogue): Likewise.
2151
2152 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
2153
2154         * cgraph.h (cgraph_remove_edge): Declare.
2155         * cgraph.c (cgraph_remove_edge): Make extern.
2156         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
2157         instead of cgraph_remove_call.
2158
2159 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2160
2161         * objc/objc-act.c (gen_declaration_1): Fix printf format.
2162
2163 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
2164
2165         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
2166         arm7tdmi core.
2167
2168 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2169
2170         * config/darwin-protos.h (objc_image_info_section):
2171         New prototype.
2172
2173 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2174
2175         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
2176
2177 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2178
2179         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
2180         tsc701 as a --with-cpu, --with-tune setting for sparc.
2181
2182 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2183
2184         * c-parse.in (objc_try_stmt): Do not specify a %type.
2185
2186 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2187
2188         * config.gcc: New 'widely ported system' clause for rtems.
2189         Set thread file there, not in individual clauses.
2190
2191 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
2192
2193         PR target/6222
2194         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
2195         passed on the stack.
2196
2197 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2198
2199         * config.gcc (widely ported systems section): Mostly alphabetize
2200         by system.  Comment the case where we can't.
2201         * config.gcc (widely ported systems section): Reindent and clean up.
2202
2203         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
2204         Actually allow ep9312 as an arm --with-arch setting.
2205
2206         * config.gcc (*-hpux11): Disable fixproto.
2207
2208 2003-09-24  Phil Edwards  <phil@codesourcery.com>
2209
2210         PR pch/12112
2211         * gcc/cppfiles.c (pch_open_file): Return based on combined
2212         result of all files.
2213         (validate_pch): Return validate flag for current file.
2214
2215 2003-09-24  Roger Sayle  <roger@eyesopen.com>
2216
2217         PR bootstrap/12358
2218         * fold-const.c (tree_swap_operands_p): Only reorder operands when
2219         one of the operands is constant.
2220
2221 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
2222
2223         MERGE OF objc-improvements-branch into MAINLINE:
2224         * Makefile.in (C_OBJS): Add in stub-objc.o.
2225         (c-parse.y): Change sed demarcations to begin with '@@'.
2226         (stub-objc.o): New rule.
2227         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
2228         flag_replace_objc_classes): New flags.
2229         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
2230         RID_AT_SYNCHRONIZED): New keywords.
2231         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
2232         flag_replace_objc_classes): New flags.
2233         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
2234         objc_comptypes, objc_message_selector, lookup_objc_ivar,
2235         get_current_scope, objc_mark_locals_volatile): New prototypes,
2236         some moved from c-tree.h.
2237         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
2238         (finish_decl): Adjust where objc_check_decl() gets called.
2239         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
2240         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
2241         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
2242         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
2243         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
2244         '@@end_ifc', respectively.
2245         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
2246         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
2247         objc_finally_block): New rules.
2248         (component_decl_list2): Clean up semantic action for @defs construct.
2249         (component_decl, c99_block_start): Remove call to add_objc_decls().
2250         (poplevel): Add call to objc_clear_super_receiver().
2251         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
2252         constructs.
2253         (classdef, methodprotolist): Clean up/simplify.
2254         (methodprotolist2): Eliminate.
2255         (methodproto): Call add_method() instead of add_class_method() and
2256         add_instance_method().
2257         (receiver): Add TYPENAME production.
2258         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
2259         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
2260         AT_SYNCHRONIZED.
2261         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
2262         objc_comptypes, objc_message_selector)
2263         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
2264         struct and pointer types.
2265         (build_c_cast): Do not discard ObjC protocol qualifiers.
2266         (convert_for_assignment): Cache result of comp_target_types() instead
2267         of calling it more than once.
2268         * c.opt (fnext-runtime): Update description string.
2269         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
2270         New ObjC/ObjC++-specific flags.
2271         * function.h (GCC_FUNCTION_H): Header guard.
2272         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
2273         * stub-objc.c: New file, to be used to satisfy references to ObjC
2274         functions by the C and C++ front-ends.
2275         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
2276         * config/darwin.h (FUNCTION): Add in_objc_image_info.
2277         (SECTION_FUNCTION): Add objc_image_info_section.
2278         * doc/invoke.texi: Link to GCC web site for Objective-C information.
2279         (-fconstant-string-class): Update documentation.
2280         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
2281         -fzero-link): New documentation.
2282         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
2283         with '@@'.
2284         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
2285         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
2286         throughout; provide casts for return values from memory allocation
2287         functions (xmalloc, alloca, ggc_alloc, etc.).
2288         (OBJC_VOID_AT_END): New macro.
2289         (rtl.h): Do not #include any more.
2290         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
2291         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
2292         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
2293         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
2294         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
2295         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
2296         val_stack_pop): New.
2297         (objc_check_decl): Fix precondition for error message, along with
2298         the message itself.
2299         (lookup_and_install_protocols): Remove nonexistent protocols from
2300         protocol list instead of returning error_mark_node.
2301         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
2302         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
2303         (synth_module_prologue): General clean-up; construct NeXT-specific
2304         runtime API prototypes if needed.
2305         (build_string_class_template): Remove.
2306         (check_string_class_template, string_layout_checked): New.
2307         (build_objc_string_object): Generalize to work with
2308         -fconstant-string-class.
2309         (build_objc_symtab_template): Fix layout for the NeXT runtime.
2310         (build_metadata_decl): New.
2311         (forward_declare_categories): Call build_metadata_decl() instead of
2312         create_builtin_decl() et al.
2313         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
2314         void_list_node_1.
2315         (build_selector_reference_decl, build_class_reference_decl,
2316         build_objc_string_decl): Do not set TREE_READONLY.
2317         (get_proto_encoding): Do not call hack_method_prototype().
2318         (get_class_reference): Add failure mode for invalid class names;
2319         support -fzero-link; defer if in an ObjC++ template declaration.
2320         (objc_declare_alias, objc_declare_class): Fix up duplicate name
2321         lookup; check for global scope if in ObjC++.
2322         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
2323         RECORD_TYPE, IDENTIFIER_NODE, etc.)
2324         (objc_is_id): Removed.
2325         (objc_is_object_ptr): New function.
2326         (get_class_ivars_from_name): New function, used for @defs construct.
2327         (get_class_ivars): Add option to return raw ivars; create a
2328         ClASS_OWN_IVARS list for each class as needed.
2329         (objc_enter_block, objc_exit_block, objc_declare_variable,
2330         objc_build_throw_stmt, val_stack_push, val_stack_pop,
2331         objc_build_try_enter_fragment, objc_build_extract_expr,
2332         objc_build_try_exit_fragment, objc_build_extract_fragment,
2333         objc_build_try_prologue, objc_build_try_epilogue,
2334         objc_build_catch_stmt, objc_build_catch_epilogue,
2335         objc_build_finally_prologue, objc_build_finally_epilogue,
2336         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
2337         objc_build_synchronized_epilogue, build_objc_exception_stuff):
2338         New functions.
2339         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
2340         the future).
2341         (build_private_template): Fix up calls to get_class_ivars().
2342         (offset_is_register, forwarding_offset): Remove.
2343         (objc_method_parm_type, objc_encoded_type_size): New functions.
2344         (encode_method_prototype): Simplify to no longer depend on
2345         back-end information.
2346         (build_tmp_function_decl_xxx, build_tmp_function_decl,
2347         hack_method_prototype): Removed.
2348         (generate_protocol_references): Remove calls to
2349         build_tmp_function_decl().
2350         (generate_protocols): Adjust calls to encode_method_prototype().
2351         (build_class_template): Generate sel_id' and 'gc_object_type' fields
2352         for the NeXT runtime.
2353         (synth_forward_declarations): Call build_metadata_decl().
2354         (check_ivars): Check that the number of ivars matches also.
2355         (build_super_template): Modify super_type directly; disable debugging
2356         output while generating decl.
2357         (build_ivar_list_initializer): Skip list elements that are not
2358         FIELD_DECLs.
2359         (ivar_list_length): New function.
2360         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
2361         and encode_method_prototype() instead of encode_method_def().
2362         (build_shared_structure_initializer): Generate 'sel_id' field for
2363         the NeXT runtime.
2364         (generate_category): Do not set TREE_USED.
2365         (build_keyword_selector): Ditto; transform into a function argument
2366         chain.
2367         (get_arg_type_list): If there are no user-specified arguments, use
2368         '...'; use OBJC_VOID_AT_END.
2369         (check_duplicates): Add a parameter indicating whether methods or
2370         selectors are being checked.
2371         (receiver_is_class_object): Add parameters indicating whether
2372         receiver is 'self' or 'super'; robustify.
2373         (build_message_expr): Defer call to finish_message_expr() if
2374         inside an ObjC++ template.
2375         (lookup_method_in_hash_lists): New function.
2376         (finish_message_expr): Complete rewrite/fix.
2377         (build_objc_method_call): Ditto; factor out commonalities between
2378         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
2379         messenger variants on the NeXT.
2380         (lookup_instance_method_static, lookup_class_method_static):
2381         Fold into a single lookup_method_static() function with an
2382         additional parameter.
2383         (add_class_method, add_instance_method): Fold into a single
2384         add_method() function with an additional parameter.
2385         (add_category): Make duplicate categories a hard error in ObjC++.
2386         (add_instance_variable): Properly handle unnamed ivars, arrays of
2387         zero or no size and bitfields.  In ObjC++, check for nontrivial
2388         C++ class instances.
2389         (is_public): Allow C functions to access non-@public ivars, with
2390         a warning.
2391         (start_class): Move common initializations to
2392         synth_module_prologue(); check for global scope if in ObjC++.
2393         (continue_class): Fix calls to finish_struct().
2394         (objc_declare_protocols, start_protocol): Check for global scope
2395         if in ObjC++.
2396         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
2397         (encode_aggregate_within): Rewrite to properly distinguish
2398         struct tags from typedefs in both ObjC and ObjC++.
2399         (encode_bitfield, encode_complete_bitfield): Remove.
2400         (encode_next_bitfield, encode_gnu_bitfield): New functions.
2401         (encode_field_decl): Call encode_next_bitfield() or
2402         encode_gnu_bitfield() as needed.
2403         (synth_self_and_ucmd_args): New function.
2404         (start_method_def): Use it.
2405         (objc_types_are_equivalent): New function.
2406         (comp_proto_with_proto): Use it instead of comptypes(), since
2407         we need symmetry.
2408         (really_start_method): Use lookup_method_static() instead of
2409         lookup_class_method_static() and lookup_instance_method_static();
2410         Emit 'extern "C"' if in ObjC++ mode.
2411         (add_objc_decls): Removed.
2412         (UOBJC_SUPER_scope): New variable.
2413         (get_super_receiver): Move construction of 'super' from
2414         add_objc_decls(); remove dependency on struct objc_class.
2415         (encode_method_def): Removed; encode_method_prototype() is
2416         used instead.
2417         (objc_clear_super_receiver): New function.
2418         (objc_expand_function_end): Do not do anything for ordinary
2419         C functions.
2420         (finish_method_def): Mark ObjC methods as un-inlinable.
2421         (gen_declaration_1): Emit widths of bitfields.
2422         (finish_objc): Call generate_objc_image_info() if needed;
2423         use check_duplicates() when checking for selector duplicates.
2424         (generate_objc_image_info): New function.
2425         * objc/objc-act.h (add_instance_method, add_class_method,
2426         get_class_ivars): Remove prototypes.
2427         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
2428         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
2429         objc_build_catch_stmt, objc_build_catch_epilogue,
2430         objc_build_finally_prologue, objc_build_finally_epilogue,
2431         add_method, get_class_ivars_from_name): New prototypes.
2432         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
2433         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
2434         TRANSLATION_UNIT_DECLs.
2435         (OBJC_TYPE_NAME): New.
2436         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
2437         got included.
2438         (IS_SUPER): Robustify.
2439         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
2440         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
2441         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
2442         objc_exception_match_decl, objc_exception_throw_decl,
2443         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
2444         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
2445         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
2446         objc_catch_type): New ObjC/ObjC++ roots.
2447         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
2448         ObjC/ObjC++ tree node codes.
2449
2450 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
2451
2452         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
2453         code path that calls a handler.
2454
2455 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2456
2457         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
2458         Disable fixproto.
2459
2460         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
2461         the section giving $with_cpu defaults by target.
2462
2463         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
2464         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
2465         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
2466         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
2467         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
2468         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
2469
2470 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
2471
2472         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
2473         together.  Protect load string instruction with TARGET_STRING.
2474         (movti_string): Collapse case 1 and 2 together.
2475
2476 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
2477
2478         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
2479
2480 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
2481
2482         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
2483         do...while(0)
2484
2485 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2486
2487         * config.gcc: Move use_fixproto=no from generic vxworks clause to
2488         specific one.
2489
2490         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
2491         (accidentally missed in last pass).
2492
2493 2003-09-23  Andrew Pinski  <apinski@apple.com>
2494
2495         PR bootstrap/12383
2496         * configure: Regenerate.
2497
2498 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2499
2500         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
2501         missed in last pass).
2502
2503 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
2504
2505         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
2506         constant.
2507
2508 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2509
2510         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
2511
2512         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
2513         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
2514         powerpcle-*-eabi*): Disable fixproto.
2515
2516         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
2517         specific FreeBSD clauses.
2518         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
2519         specific NetBSD clauses.
2520         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
2521         to specific OpenBSD clauses.
2522
2523 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2524
2525         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
2526         without adding a frame note.
2527         * pa.md (allocate_stack): Save pic register in new frame marker when
2528         generating pic code.
2529
2530 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
2531
2532         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
2533         cgraph_expand_functions.
2534
2535 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2536
2537         * Makefile.in (gnucompare*): Merge into ...
2538         (slowcompare*): ... here.
2539         (fastcompare*): New targets.
2540         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
2541         other "fast" cmp programs.
2542         * configure: Regenerate.
2543
2544 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2545
2546         * targhooks.c: Include output.h.
2547         * Makefile.in (targhooks.o): Add output.h to dependency list.
2548
2549 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2550
2551         * config.host: Removed superfluous newline.
2552
2553 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2554
2555         * config.gcc: Use ${target}, not $machine.
2556         * configure.in: Don't set $machine.
2557         * configure: Regenerate.
2558
2559 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
2560
2561         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
2562
2563         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
2564         pass zero-size arrays by reference.
2565         (rs6000_va_arg): Likewise.
2566
2567 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2568
2569         * config.gcc: Set use_fixproto=no in each specific *-gnu*
2570         configuration, rather than the generic one.
2571
2572 2003-09-23  Richard Henderson  <rth@redhat.com>
2573
2574         * tree-inline.c (remap_save_expr): Map new save_expr to identity
2575         rather than to error_mark_node.
2576
2577 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2578
2579         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
2580         Update description.
2581         * configure: Regenerate.
2582         * config.in: Likewise.
2583         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
2584         HAVE_GAS_SHF_MERGE value.
2585         * varasm.c (mergeable_string_section): Likewise.
2586         (mergeable_constant_section): Likewise.
2587
2588 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2589
2590         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
2591         value.
2592
2593 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2594
2595         * target.h (struct gcc_target): New member external_libcall.
2596         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
2597         (TARGET_ASM_OUT): Use it.
2598         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
2599         * targhooks.c: Convert to ISO C 90.
2600         (default_external_libcall): New function.
2601         * targhooks.h (default_external_libcall): Declare.
2602         * varasm.c (assemble_external_libcall): Use
2603         targetm.asm_out.external_libcall instead of
2604         ASM_OUTPUT_EXTERNAL_LIBCALL.
2605         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
2606         (mips_output_external_libcall): Declare.
2607         * config/mips/mips.c (mips_output_external_libcall): Change
2608         definition guard.
2609         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
2610         Only operate for O32 ABI.
2611         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
2612         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
2613         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
2614         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
2615
2616 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
2617
2618         * config.gcc: Do per-target disabling of fixproto here in clauses,
2619         not in t- fragments.
2620         * configure.in: Adjust to set STMP_FIXPROTO correctly.
2621         * configure: Regenerate.
2622         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
2623         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
2624         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
2625         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
2626         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
2627         t-interix, t-linux-aout:  Delete files consisting only of
2628         setting of STMP_FIXPROTO.
2629
2630         * config.host: Allow unknown hosts (not targets).  Allow
2631         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
2632         empty clauses.  Remove useless obsolete-configuration clause.
2633         Prune unsupported configuration list.  Collapse identical
2634         clauses for closely related systems.  Rewrite comment for
2635         unsupported hosts list.  Reorganize a little.
2636
2637 2003-09-22  Richard Henderson  <rth@redhat.com>
2638
2639         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
2640         not precision.
2641
2642 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
2643             Hartmut Penner  <hpenner@de.ibm.com>
2644             Segher Boessenkool  <boessen@de.ibm.com>
2645
2646         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
2647         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
2648         (rs6000_split_altivec_in_gprs): Rename to ...
2649         (rs6000_split_multireg_move): Add support for update addressing.
2650         * config/rs6000/rs6000-protos.h: Same.
2651         * config/rs6000/altivec.md: Same.
2652         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
2653         multiple GPRs.
2654         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
2655         (movti_power): Use new splitter for multiple GPRs.
2656         (movti_string): Same.
2657         (movti_ppc64): Same.
2658
2659 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
2660
2661         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
2662         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
2663
2664 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
2665
2666         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
2667         (andsi3): Set attr cc to set_zn when using shifts or adds.
2668
2669 2003-09-22  Bernardo Innocenti <bernie@develer.com>
2670
2671         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
2672
2673 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
2674
2675         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
2676         Resurrect -mrtd option.
2677
2678 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
2679
2680         PR target/12281
2681         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
2682         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
2683
2684 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
2685
2686         PR target/9786
2687         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
2688         after potential deletion of trapping insn. Avoids later ICE
2689         from call to fixup_abnormal_edges.
2690         (convert_regs_2): Stack the current block successors before
2691         processing this block, that is, before the potential deletion of
2692         dead edges by convert_regs_1, because these edges have been used
2693         to initialize the predecessors count.
2694
2695 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2696
2697         * real.c: Fix several nits in the head comment.
2698
2699 2003-09-21  Richard Henderson  <rth@redhat.com>
2700
2701         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
2702         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
2703         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
2704         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
2705         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
2706
2707 2003-09-21  Richard Henderson  <rth@redhat.com>
2708
2709         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
2710         (TREE_FILENAME, TREE_LINENO): Likewise.
2711         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
2712         (TREE_LOCUS_SET_P): New.
2713         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
2714         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
2715         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
2716         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
2717         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
2718
2719 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
2720
2721         * config/vax/vax-protos.h: Convert to ISO C90.
2722         * config/vax/vax.c: Convert to ISO C90.
2723
2724 2003-09-21  Graham Stott  <grahams@btinternet.com>
2725
2726        PR target/12353
2727        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
2728
2729 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2730
2731         PR target/12301
2732         * reorg.c (stop_search_p): Return 1 for insns that can
2733         throw internally.
2734
2735 2003-09-20  Richard Henderson  <rth@redhat.com>
2736
2737         * c-format.c (gcc_diag_char_table): Add %J.
2738         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
2739         (check_format_types): Fix wanted_type name lookup.
2740         (init_dynamic_diag_info): Setup %J.
2741         * diagnostic.c (text_specifies_location): Implement %J.
2742         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
2743         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
2744         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
2745         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
2746         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
2747
2748         * tree-inline.c: Include intl.h
2749         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
2750         * Makefile.in (tree-inline.o): Update.
2751
2752 2003-09-20  Roger Sayle  <roger@eyesopen.com>
2753
2754         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
2755         transformation of a>=0 into (unsigned)a<0x80000000.
2756
2757 2003-09-20  Andrew Pinski <apinski@apple.com>
2758
2759         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
2760
2761 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
2762
2763         * Makefile.in: Don't set (unused) DLLTOOL.
2764
2765         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
2766         Remove obsolete references to ENQUIRE.
2767
2768 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2769
2770         * configure.in: Remove --with-elf, which doesn't work.
2771         * configure: Regenerate.
2772         * config.gcc: Remove references to $elf, which does nothing.
2773
2774         * config/i386/xm-vsta.h: Remove xm-file believed useless.
2775         * config.build (i386-vsta): Remove reference to it.
2776         * config.host (i386-vsta): Remove reference to it.
2777
2778 2003-09-19  Phil Edwards  <phil@codesourcery.com>
2779
2780         * doc/install.texi:  Document the multiple testsuite options.
2781
2782 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
2783
2784         * doc/install.texi (Specific): Add the specific versions of GCC
2785         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
2786         version 3 and older was discontinued.
2787
2788 2003-09-19      Joel Sherrill <joel@oarcorp.com>
2789
2790         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
2791         68881.
2792
2793 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
2794
2795         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
2796         for -m68030, -m68020-60 and -m68020-40.
2797         * config/m68k/m68k.h (TARGET_68030): New target flag.
2798         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
2799         TARGET_REGPARM): Remove.
2800         * config/m68k/m68k.h: Regroup and renumber target flags.
2801         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
2802         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
2803         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
2804         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
2805         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
2806
2807 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2808
2809         * config/m68k/t-rtems (m68k-*-rtems*): New.
2810         * config.gcc: Use config/m68k/t-rtems.
2811
2812 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2813
2814         * config/mips/t-rtems: New.
2815         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
2816
2817 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
2818
2819         * cgraph.c: Fix typo in debugging output.
2820
2821 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2822             Eric Botcazou <ebotcazou@libertysurf.fr>
2823
2824         PR target/12166
2825         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
2826
2827 2003-09-18  Mike Stump  <mrs@apple.com>
2828
2829         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
2830         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
2831         cb_ident, cb_def_pragma):  Use fileline typedef.
2832         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
2833
2834 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
2835
2836         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
2837         total parm size if a parm has incomplete type.
2838         (gen_fastcall_suffix): Likewise.
2839
2840 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2841
2842         * except.c (output_function_exception_table): Adjust last change
2843         to handle TYPE of INTEGER_CST.
2844
2845 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
2846
2847         PR target/11184
2848         * builtins.c (expand_builtin_apply): Use convert_memory_address
2849         before returning the value.
2850
2851         * alias.c (find_base_value): Simplify use of
2852         convert_memory_address.
2853         (find_base_term): Likewise.
2854         * builtins.c (expand_builtin_stejmp_setup): Likewise.
2855         (expand_builtin_longjmp): Likewise.
2856         (expand_builtin_prefetch): Likewise.
2857         (get_memory_rtx): Likewise.
2858         (expand_builtin_return): Likewise.
2859         (expand_builtin_memcpy): Likewise.
2860         (expand_builtin_strncpy): Likewise.
2861         (expand_builtin_memset): Likewise.
2862         (expand_builtin_va_arg): Likewise.
2863         (expand_builtin_va_copy): Likewise.
2864         (expand_builtin_alloca): Likewise.
2865         * calls.c (expand_call): Likewise.
2866         * except.c (expand_builtin_extract_return_addr): Likewise.
2867         (expand_builtin_eh_return): Likewise.
2868         * explow.c (convert_memory_address): Define even when
2869         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
2870         is already in the right mode.
2871         * explow.c (memory_address): Simplify use of convert_memory_address.
2872         (probe_stack_range): Likewise.
2873         * expmed.c (make_tree): Likewise.
2874         * expr.c (emit_block_move_in_libcall): Likewise.
2875         (expand_assignment): Likewise.
2876         (expand_expr): Likewise.
2877         * function.c (assign_parms): Likewise.
2878         (expand_function_end): Likewise.
2879         * integrate.c (copy_rtx_and_substitute): Likewise.
2880         * stmt.c (expand_computed_goto): Likewise.
2881
2882 2003-09-18  Roger Sayle  <roger@eyesopen.com>
2883
2884         * simplify-rtx.c (simplify_unary_operation): Only transform
2885         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
2886         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
2887
2888 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2889
2890         PR target/11674
2891         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
2892
2893 2003-09-18  Roger Sayle  <roger@eyesopen.com>
2894
2895         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
2896         PARITY_EXPR): Delete unused tree codes.
2897         * c-common.c (c_common_truthvalue_conversion): Delete references
2898         to FFS_EXPR and POPCOUNT_EXPR.
2899         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
2900         (pp_c_expression): Likewise.
2901         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
2902         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
2903         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
2904         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
2905         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
2906         and long long variants.
2907
2908 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2909
2910         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
2911         * c-pretty-print.c: Fix formatting.
2912         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
2913         (pp_c_type_specifier): Tidy.
2914         (pp_c_compound_literal): New function.
2915         (pp_c_initializer): Simplify..
2916         (pp_c_initializer_list): Likewise.
2917         (pp_c_brace_enclosed_initializer_list): New function.
2918         (pp_c_postfix_expression): Simplify.
2919
2920 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
2921
2922         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
2923         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
2924
2925 2003-09-17  Richard Henderson  <rth@redhat.com>
2926
2927         * tree-optimize.c (tree_rest_of_compilation): Save and restore
2928         input_location.
2929
2930 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2931
2932         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
2933
2934 2003-09-17  Richard Henderson  <rth@redhat.com>
2935
2936         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
2937
2938 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2939
2940         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
2941         * configure: Regenerate.
2942
2943 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
2944
2945         PR debug/12066
2946         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
2947         * langhooks-def.h (lhd_return_null_tree_v): New function.
2948         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
2949         (LANG_HOOKS_DECLS): Add it to the intializer.
2950         * langhooks.c (lhd_return_null_tree_v): New function.
2951         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
2952
2953 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2954
2955         * configure.in: Quote gcc_config_arguments for configargs.h.
2956         * configure: Regenerated.
2957         * gccbug.in: Don't shell-expand gcc_config_arguments.
2958
2959 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2960
2961         PR c++/11357
2962         * c-pretty-print.c (pp_c_floating_constant): Append
2963         type-annotation to floating constants.
2964
2965 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2966
2967         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
2968         Define _ABIO32.
2969         Use it for _MIPS_SIM.
2970         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
2971
2972         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
2973         Moved ...
2974         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
2975         updating comment.
2976         Fixes PR target/10190.
2977
2978 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2979
2980         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
2981         to shared libraries.
2982
2983 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2984
2985         PR optimization/11646
2986         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
2987         EDGE_ABNORMAL flag for EH edges.
2988         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
2989         if dead edges were purged.
2990
2991 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
2992
2993         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
2994         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
2995         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
2996         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
2997
2998 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
2999
3000         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
3001         returned by tablejump_p.
3002
3003 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
3004
3005         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
3006
3007 2003-09-16  Roger Sayle  <roger@eyesopen.com>
3008
3009         PR bootstrap/12269
3010         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
3011         argument to be VOIDmode, taking the mode of the comparison from
3012         the operands.  Only call simplify_relational_operation if we
3013         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
3014         if comparison has a floating point result.  Ensure that the
3015         result is always of the specified mode.
3016         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
3017         (simplify_unary_operation): Ensure the correct mode and cmp_mode
3018         are always passed to simplify_gen_relational.  Simplify NOT of
3019         comparison operator in any mode, not just BImode.
3020         (simplify_ternary_operation): Correct tests on the return value
3021         of simplify_relational_operation to use const_true_rtx, not
3022         const1_rtx.  Abort if it ever returns a non-constant result.
3023
3024         * cfgloopanal.c (count_strange_loop_iterations): Use the function
3025         simplify_relational_operation, not simplify_gen_relational, if
3026         we're only interested in constant comparisons and will ignore
3027         non-constant results.
3028
3029 2003-09-16  Roger Sayle  <roger@eyesopen.com>
3030
3031         * fold-const.c (tree_swap_operands_p): New function to determine
3032         the prefered ordering of operands.
3033         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
3034         operands to commutative, comparison or ternary operators.  Replace
3035         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
3036         transformation of A ? B : C into !A ? C : B.
3037
3038 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
3039
3040         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3041         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3042         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3043         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3044         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3045         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3046         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3047         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3048
3049 2003-09-16  Jason Merrill  <jason@redhat.com>
3050             Jakub Jelinek  <jakub@redhat.com>
3051
3052         * c-common.c (handle_warn_unused_result_attribute): New function.
3053         (c_common_attribute_table): Add warn_unused_result.
3054         (c_expand_expr): Issue warning when result of inlined function
3055         with warn_unused_result attribute is ignored.
3056         * calls.c (expand_call): Issue warning when result of function
3057         with warn_unused_result attribute is ignored.
3058         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
3059         * expr.c (expr_wfl_stack): Define.
3060         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
3061         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
3062         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
3063         bit if inlined function has warn_unused_result attribute.
3064         * input.h (expr_wfl_stack): Declare.
3065         * doc/extend.texi: Document warn_unused_result attribute.
3066
3067 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
3068
3069         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
3070
3071 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
3072
3073         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
3074         ATTRIBUTE_UNUSED.
3075         (call_insn_operand): For PIC, don't allow a direct call to a
3076         function in a different section than the current one.
3077
3078 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3079
3080         * doc/invoke.texi (Warning Options): Add missing hyphen before
3081         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
3082         Move "-Wold-style-definition" to the C-only section.
3083         Fix the ordering of the warning options.
3084
3085 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3086             Jeff Law  <law@redhat.com>
3087
3088         * gcse.c (remove_reachable_equiv_notes): New.
3089         replace_store_insn): Call it.  Update antic list.
3090         (store_killed_in_insn): Take REG_EQUAL notes into account.
3091         (build_store_vectors, delete_store): Add parameter to
3092         replace_store_insn call.
3093
3094 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
3095
3096         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
3097         SYMBOL_REF_LOCAL_P.
3098
3099 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
3100
3101         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
3102         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
3103         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
3104         Likewise.
3105         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
3106         Likewise.
3107         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
3108         * config/sparc/sparc.c (function_arg_padding): Likewise.
3109
3110 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
3111
3112         * haifa-sched.c (schedule_block): Use ready_remove_first instead
3113         of choose_ready for non-dfa insn scheduling.
3114
3115 2003-09-15  Andreas Jaeger  <aj@suse.de>
3116             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3117
3118         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
3119         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
3120         * c-parse.in: Warn about old-style parameter definition.
3121         * c-common.c: Define warn_old_style_defintion.
3122         * c-common.h: Declare it.
3123         * c.opt: Add Wold-style-defintion.
3124
3125 2003-09-15  Andreas Jaeger  <aj@suse.de>
3126
3127         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
3128         * config/rs6000/rs6000.c: Likewise.
3129
3130 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3131
3132         PR optimization/10914
3133         * expr.h (get_condition, canonicalize_condition): Declaration changed.
3134         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
3135         and canonicalize_condition calls.
3136         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
3137         delete_null_pointer_checks): Ditto.
3138         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
3139         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
3140         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
3141         (canonicalize_condition, get_condition): Allow to return comparisons
3142         of cc mode registers.
3143         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
3144         cc mode registers comparison in condition.
3145
3146 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
3147
3148         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
3149         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
3150         function.
3151         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
3152
3153 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * combine.c (simplify_comparison): Convert
3156         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
3157         (eq (and (lshiftrt X Y) 1) 0).
3158
3159 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3160
3161         * alias.c: Follow spelling conventions.
3162         * cpphash.h: Likewise.
3163         * fold-const.c: Likewise.
3164
3165 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
3166
3167         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
3168         * c-lex.c (cb_line_change): Skip line changing whenever
3169         c-ppoutput.c would.
3170
3171 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
3172
3173         * ra.c: Convert to ISO C90 prototypes.
3174         * ra-build.c: Likewise.
3175         * ra-colorize.c: Likewise.
3176         * ra-debug.c: Likewise.
3177         * ra-rewrite.c: Likewise.
3178
3179 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
3180
3181         * Makefile.in (%.dvi): Remove excess $(docdir).
3182
3183 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
3184
3185         * function.c (STACK_BYTES): Move definition to head of file.
3186         (assign_parms): Don't pass current_function_pretend_args_size
3187         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
3188         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
3189         excess before laying out the argument.
3190
3191 2003-09-14  Andreas Jaeger  <aj@suse.de>
3192
3193         * objc/objc-act.c: Convert to ISO C90 prototypes.
3194         * objc/objc-act.h: Likewise.
3195
3196 2003-09-14  Olaf Hering  <olh@suse.de>
3197
3198         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
3199
3200 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
3201
3202         PR target/12021
3203         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
3204         as they already are done in config/m68k/m68k.h.
3205         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
3206
3207         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
3208         (machopic_output_stub): Only generate pic base symbols when using pic
3209         and generate them in the form L00000000$spb.
3210
3211 2003-09-13  Richard Henderson  <rth@redhat.com>
3212
3213         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
3214         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
3215         * cgraph.h: Update.
3216
3217 2003-09-12  Dale Johannesen  <dalej@apple.com>
3218
3219         * config/rs6000/rs6000.c: Fix typos in previous.
3220
3221 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
3222
3223         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
3224         when allocating pp->buffer.
3225
3226 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
3227
3228         * config/darwin.c (machopic_select_rtx_section): Use
3229         const_data_section for things that might require relocation.
3230
3231 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
3232
3233         PR bootstrap/12264
3234         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
3235
3236 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
3237
3238         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
3239         * config/xtensa/linux.h (ASM_SPEC): Likewise.
3240         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
3241         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
3242         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
3243         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
3244         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
3245         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
3246         and redefine corresponding TARGET_* macros with constants from the
3247         xtensa-config.h header.
3248         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
3249         for the options listed above.
3250
3251 2003-09-12  Dale Johannesen  <dalej@apple.com>
3252
3253         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
3254         * config/rs6000/rs6000-c.c:  Ditto.
3255         * config/rs6000/rs6000.c:  Ditto.
3256         * config/rs6000/ sysv4.h:  Ditto.
3257
3258 2003-09-12  Chris Lattner <sabre@nondot.org>
3259
3260         * loop.c: Move comments describing BIV's and GIV's to top of file
3261
3262 2003-09-12  Roger Sayle  <roger@eyesopen.com>
3263
3264         PR optimization/8967
3265         * alias.c (write_dependence_p): Modify to take an additional constp
3266         argument that controls whether the UNCHANGING_RTX_P flags are used.
3267         (anti_dependence, output_dependence): Adjust write_dependence_p
3268         callers to pass this additional argument, to return the same result.
3269         (unchanging_anti_dependence): New variant of anti_dependence that
3270         ignores the UNCHANGING_RTX_P property on memory references.
3271         * rtl.h (unchaning_anti_dependence): Prototype here.
3272         * flow.c (init_propagate_block): Place fake constant mem writes on
3273         the mem_set_list so that dead writes to const variables are deleted.
3274         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
3275         (mark_used_regs): Likewise.
3276
3277 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
3278
3279         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
3280         (mcore_secondary_reload_class): Declare.
3281         (mcore_output_inline_const_forced): Remove.
3282         * config/mcore/mcore.md (movsi): Remove the code that forced
3283         non-inlineable constants into a register if the target was r15
3284         or the stack pointer.  Remove constant restrictions from the main
3285         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
3286         of an r <- P alternative.  Remove fallback define_insn for reload.
3287         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
3288         define_insn.  Use mcore_output_move in the remaining define_insn.
3289         Adjust condition and constraints in the way as for movsi.
3290         (movdi): Always split unacceptable constants into two.  Use
3291         simplify_gen_subreg instead of operand_subword{,_force}.
3292         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
3293         (mcore_output_move): Support HImode and QImode moves as well.
3294         (mcore_m15_operand_p): New function.
3295         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
3296         (mcore_secondary_reload_class): New function.
3297         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
3298         terms of mcore_secondary_reload_class.
3299
3300 2003-09-11  Mike Stump  <mrs@apple.com>
3301
3302         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
3303
3304 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3305
3306         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
3307         MODE exactly, then only convert logN(N) -> 1.0 if
3308         flag_unsafe_math_optimizations is set.
3309
3310         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
3311         init_builtin_dconsts): Delete.
3312         * emit-rtl.c (dconstpi, dconste): Define.
3313         (init_emit_once): Initialize dconstpi & dconste.
3314         * real.h (dconstpi, dconste): Declare.
3315
3316 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
3317
3318         PR fortran/11522
3319         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
3320         for ultimate origin even if block is abstract.
3321
3322 2003-09-11  Roger Sayle  <roger@eyesopen.com>
3323
3324         * combine.c (combine_simplify_rtx): Move several NOT and NEG
3325         optimizations from here...
3326         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
3327         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
3328
3329 2003-09-11  Richard Henderson  <rth@redhat.com>
3330
3331         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
3332         Tweek tests for function already generated.
3333         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
3334         * cgraph.h (cgraph_finalize_function): Update for extra arg.
3335         * c-decl.c (finish_function): Likewise.
3336
3337 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
3338
3339         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
3340
3341 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
3342
3343         * real.c: Update URL to VAX floating point docs.
3344         (decode_vax_d): Extract 8 exponent bits instead of 7.
3345
3346 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
3347
3348         * combine.c (force_to_mode): Set fuller_mask based only on mask,
3349         not op_mode.
3350
3351 2003-09-11  Jan Hubicka  <jh@suse.cz>
3352
3353         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
3354         on why function is not inlinable; do not check
3355         the body.
3356         (inline_forbidden_p): Move to...
3357         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
3358         deal with alloca, longjmp.
3359         (inline_forbidden_p): New static function.
3360         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
3361         find_builtin_longjmp_call): Kill.
3362
3363 2003-09-10  Richard Henderson  <rth@redhat.com>
3364
3365         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
3366         * cgraphunit.c: Update to match.
3367         (record_call_1): Rearrange.  Call lang hook for language nodes.
3368         (cgraph_analyze_function): Don't call lower_function.
3369         * langhooks.h (struct lang_hooks_for_callgraph): Replace
3370         lower_function with analyze_expr.
3371         * langhooks-def.h: Update to match.
3372         * langhooks.c (lhd_callgraph_analyze_expr): New.
3373
3374 2003-09-10  Martin Husemann  <martin@duskware.de>
3375
3376         PR target/11965
3377         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
3378         constants greater than 63.
3379         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
3380         against constants greater than 31.
3381         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
3382         constants greater than 63.
3383
3384 2003-09-09  Richard Henderson  <rth@redhat.com>
3385
3386         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
3387         * cgraph.h (cgraph_finalize_function): Update.
3388         * c-decl.c (finish_function): Update.
3389
3390 2003-09-09  Devang Patel  <dpatel@apple.com>
3391
3392         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
3393         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
3394
3395 2003-09-09  Eric Christopher  <echristo@redhat.com>
3396
3397         * configure.in: Change usage of 'head' to 'sed 1q'.
3398         * configure: Regenerate.
3399
3400 2003-09-09  Richard Henderson  <rth@redhat.com>
3401
3402         * except.c: Include cgraph.h.
3403         (output_function_exception_table): Invoke
3404         cgraph_varpool_mark_needed_node.
3405         * Makefile.in (except.o): Update.
3406
3407 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
3408
3409         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
3410         and use it throughout.
3411
3412 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3413
3414         * builtins.c (real_dconstp, fold_builtin_logarithm,
3415         fold_builtin_exponent): New, split out from fold_builtin.  Also
3416         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
3417         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
3418         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
3419         of hardcoded array size.
3420         * fold-const.c (fold): Add cases for exp2, exp10 and