OSDN Git Service

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