OSDN Git Service

* config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
2
3         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
4         Resurrect -mrtd option.
5
6 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
7
8         PR target/12281
9         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
10         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
11
12 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
13
14         PR target/9786
15         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
16         after potential deletion of trapping insn. Avoids later ICE
17         from call to fixup_abnormal_edges.
18         (convert_regs_2): Stack the current block successors before
19         processing this block, that is, before the potential deletion of
20         dead edges by convert_regs_1, because these edges have been used
21         to initialize the predecessors count.
22
23 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
24
25         * real.c: Fix several nits in the head comment.
26
27 2003-09-21  Richard Henderson  <rth@redhat.com>
28
29         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c, 
30         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
31         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
32         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
33         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
34
35 2003-09-21  Richard Henderson  <rth@redhat.com>
36
37         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
38         (TREE_FILENAME, TREE_LINENO): Likewise.
39         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
40         (TREE_LOCUS_SET_P): New.
41         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c, 
42         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
43         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
44         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
45         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
46
47 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
48
49         * config/vax/vax-protos.h: Convert to ISO C90.
50         * config/vax/vax.c: Convert to ISO C90.
51
52 2003-09-21  Graham Stott  <grahams@btinternet.com>
53
54        PR target/12353
55        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
56
57 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
58
59         PR target/12301
60         * reorg.c (stop_search_p): Return 1 for insns that can
61         throw internally.
62
63 2003-09-20  Richard Henderson  <rth@redhat.com>
64
65         * c-format.c (gcc_diag_char_table): Add %J.
66         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
67         (check_format_types): Fix wanted_type name lookup.
68         (init_dynamic_diag_info): Setup %J.
69         * diagnostic.c (text_specifies_location): Implement %J.
70         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
71         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
72         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
73         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
74         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
75
76         * tree-inline.c: Include intl.h
77         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
78         * Makefile.in (tree-inline.o): Update.
79
80 2003-09-20  Roger Sayle  <roger@eyesopen.com>
81
82         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
83         transformation of a>=0 into (unsigned)a<0x80000000.
84
85 2003-09-20  Andrew Pinski <apinski@apple.com>
86
87         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
88
89 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
90
91         * Makefile.in: Don't set (unused) DLLTOOL.
92
93         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
94         Remove obsolete references to ENQUIRE.
95
96 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
97
98         * configure.in: Remove --with-elf, which doesn't work.
99         * configure: Regenerate.
100         * config.gcc: Remove references to $elf, which does nothing.
101
102         * config/i386/xm-vsta.h: Remove xm-file believed useless.
103         * config.build (i386-vsta): Remove reference to it.
104         * config.host (i386-vsta): Remove reference to it.
105
106 2003-09-19  Phil Edwards  <phil@codesourcery.com>
107
108         * doc/install.texi:  Document the multiple testsuite options.
109
110 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
111
112         * doc/install.texi (Specific): Add the specific versions of GCC
113         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
114         version 3 and older was discontinued.
115         
116 2003-09-19      Joel Sherrill <joel@oarcorp.com>
117
118         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
119         68881.
120
121 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
122
123         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
124         for -m68030, -m68020-60 and -m68020-40.
125         * config/m68k/m68k.h (TARGET_68030): New target flag.
126         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
127         TARGET_REGPARM): Remove.
128         * config/m68k/m68k.h: Regroup and renumber target flags.
129         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
130         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
131         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
132         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
133         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
134
135 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
136
137         * config/m68k/t-rtems (m68k-*-rtems*): New.
138         * config.gcc: Use config/m68k/t-rtems.
139
140 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
141
142         * config/mips/t-rtems: New.
143         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
144
145 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
146
147         * cgraph.c: Fix typo in debugging output.
148
149 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
150             Eric Botcazou <ebotcazou@libertysurf.fr>
151
152         PR target/12166
153         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
154
155 2003-09-18  Mike Stump  <mrs@apple.com>
156
157         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
158         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
159         cb_ident, cb_def_pragma):  Use fileline typedef.
160         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
161
162 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
163
164         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
165         total parm size if a parm has incomplete type.
166         (gen_fastcall_suffix): Likewise.
167
168 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
169
170         * except.c (output_function_exception_table): Adjust last change
171         to handle TYPE of INTEGER_CST.
172
173 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
174
175         PR target/11184
176         * builtins.c (expand_builtin_apply): Use convert_memory_address
177         before returning the value.
178         
179         * alias.c (find_base_value): Simplify use of
180         convert_memory_address.
181         (find_base_term): Likewise.
182         * builtins.c (expand_builtin_stejmp_setup): Likewise.
183         (expand_builtin_longjmp): Likewise.
184         (expand_builtin_prefetch): Likewise.
185         (get_memory_rtx): Likewise.
186         (expand_builtin_return): Likewise.
187         (expand_builtin_memcpy): Likewise.
188         (expand_builtin_strncpy): Likewise.
189         (expand_builtin_memset): Likewise.
190         (expand_builtin_va_arg): Likewise.
191         (expand_builtin_va_copy): Likewise.
192         (expand_builtin_alloca): Likewise.
193         * calls.c (expand_call): Likewise.
194         * except.c (expand_builtin_extract_return_addr): Likewise.
195         (expand_builtin_eh_return): Likewise.
196         * explow.c (convert_memory_address): Define even when
197         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
198         is already in the right mode.
199         * explow.c (memory_address): Simplify use of convert_memory_address.
200         (probe_stack_range): Likewise.
201         * expmed.c (make_tree): Likewise.
202         * expr.c (emit_block_move_in_libcall): Likewise.
203         (expand_assignment): Likewise.
204         (expand_expr): Likewise.
205         * function.c (assign_parms): Likewise.
206         (expand_function_end): Likewise.
207         * integrate.c (copy_rtx_and_substitute): Likewise.
208         * stmt.c (expand_computed_goto): Likewise.
209
210 2003-09-18  Roger Sayle  <roger@eyesopen.com>
211
212         * simplify-rtx.c (simplify_unary_operation): Only transform
213         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
214         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
215
216 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
217
218         PR target/11674
219         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
220
221 2003-09-18  Roger Sayle  <roger@eyesopen.com>
222
223         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
224         PARITY_EXPR): Delete unused tree codes.
225         * c-common.c (c_common_truthvalue_conversion): Delete references
226         to FFS_EXPR and POPCOUNT_EXPR.
227         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
228         (pp_c_expression): Likewise.
229         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
230         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
231         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
232         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
233         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
234         and long long variants.
235
236 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
237
238         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
239         * c-pretty-print.c: Fix formatting.
240         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
241         (pp_c_type_specifier): Tidy.
242         (pp_c_compound_literal): New function.
243         (pp_c_initializer): Simplify..
244         (pp_c_initializer_list): Likewise.
245         (pp_c_brace_enclosed_initializer_list): New function.
246         (pp_c_postfix_expression): Simplify.
247
248 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
249
250         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
251         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
252
253 2003-09-17  Richard Henderson  <rth@redhat.com>
254
255         * tree-optimize.c (tree_rest_of_compilation): Save and restore
256         input_location.
257
258 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
259
260         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
261
262 2003-09-17  Richard Henderson  <rth@redhat.com>
263
264         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
265
266 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
267
268         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
269         * configure: Regenerate.
270
271 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
272
273         PR debug/12066
274         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
275         * langhooks-def.h (lhd_return_null_tree_v): New function.
276         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
277         (LANG_HOOKS_DECLS): Add it to the intializer.
278         * langhooks.c (lhd_return_null_tree_v): New function.
279         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
280
281 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
282
283         * configure.in: Quote gcc_config_arguments for configargs.h.
284         * configure: Regenerated.
285         * gccbug.in: Don't shell-expand gcc_config_arguments.
286
287 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
288
289         PR c++/11357
290         * c-pretty-print.c (pp_c_floating_constant): Append
291         type-annotation to floating constants.
292
293 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
294
295         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
296         Define _ABIO32.
297         Use it for _MIPS_SIM.
298         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
299
300         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
301         Moved ...
302         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
303         updating comment.
304         Fixes PR target/10190.
305
306 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
307
308         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
309         to shared libraries.
310
311 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
312
313         PR optimization/11646
314         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
315         EDGE_ABNORMAL flag for EH edges.
316         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
317         if dead edges were purged.
318
319 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
320
321         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
322         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
323         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
324         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
325
326 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
327
328         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
329         returned by tablejump_p.
330
331 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
332
333         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
334
335 2003-09-16  Roger Sayle  <roger@eyesopen.com>
336
337         PR bootstrap/12269
338         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
339         argument to be VOIDmode, taking the mode of the comparison from
340         the operands.  Only call simplify_relational_operation if we
341         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
342         if comparison has a floating point result.  Ensure that the
343         result is always of the specified mode.
344         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
345         (simplify_unary_operation): Ensure the correct mode and cmp_mode
346         are always passed to simplify_gen_relational.  Simplify NOT of
347         comparison operator in any mode, not just BImode.
348         (simplify_ternary_operation): Correct tests on the return value
349         of simplify_relational_operation to use const_true_rtx, not
350         const1_rtx.  Abort if it ever returns a non-constant result.
351
352         * cfgloopanal.c (count_strange_loop_iterations): Use the function
353         simplify_relational_operation, not simplify_gen_relational, if
354         we're only interested in constant comparisons and will ignore
355         non-constant results.
356
357 2003-09-16  Roger Sayle  <roger@eyesopen.com>
358
359         * fold-const.c (tree_swap_operands_p): New function to determine
360         the prefered ordering of operands.
361         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
362         operands to commutative, comparison or ternary operators.  Replace
363         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
364         transformation of A ? B : C into !A ? C : B.
365
366 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
367
368         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
369         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
370         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
371         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
372         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
373         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
374         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
375         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
376
377 2003-09-16  Jason Merrill  <jason@redhat.com>
378             Jakub Jelinek  <jakub@redhat.com>
379
380         * c-common.c (handle_warn_unused_result_attribute): New function.
381         (c_common_attribute_table): Add warn_unused_result.
382         (c_expand_expr): Issue warning when result of inlined function
383         with warn_unused_result attribute is ignored.
384         * calls.c (expand_call): Issue warning when result of function
385         with warn_unused_result attribute is ignored.
386         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
387         * expr.c (expr_wfl_stack): Define.
388         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
389         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
390         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
391         bit if inlined function has warn_unused_result attribute.
392         * input.h (expr_wfl_stack): Declare.
393         * doc/extend.texi: Document warn_unused_result attribute.
394
395 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
396
397         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
398
399 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
400
401         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
402         ATTRIBUTE_UNUSED.
403         (call_insn_operand): For PIC, don't allow a direct call to a
404         function in a different section than the current one.
405
406 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
407         
408         * doc/invoke.texi (Warning Options): Add missing hyphen before
409         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
410         Move "-Wold-style-definition" to the C-only section.
411         Fix the ordering of the warning options.
412
413 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
414             Jeff Law  <law@redhat.com>
415
416         * gcse.c (remove_reachable_equiv_notes): New.
417         replace_store_insn): Call it.  Update antic list.
418         (store_killed_in_insn): Take REG_EQUAL notes into account.
419         (build_store_vectors, delete_store): Add parameter to
420         replace_store_insn call.
421
422 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
423
424         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
425         SYMBOL_REF_LOCAL_P.
426
427 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
428
429         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
430         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
431         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
432         Likewise.
433         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
434         Likewise.
435         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
436         * config/sparc/sparc.c (function_arg_padding): Likewise.
437
438 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
439
440         * haifa-sched.c (schedule_block): Use ready_remove_first instead
441         of choose_ready for non-dfa insn scheduling.
442
443 2003-09-15  Andreas Jaeger  <aj@suse.de>
444             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
445
446         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
447         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
448         * c-parse.in: Warn about old-style parameter definition.
449         * c-common.c: Define warn_old_style_defintion.
450         * c-common.h: Declare it.
451         * c.opt: Add Wold-style-defintion.
452
453 2003-09-15  Andreas Jaeger  <aj@suse.de>
454
455         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
456         * config/rs6000/rs6000.c: Likewise.
457
458 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
459
460         PR optimization/10914
461         * expr.h (get_condition, canonicalize_condition): Declaration changed.
462         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
463         and canonicalize_condition calls.
464         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
465         delete_null_pointer_checks): Ditto.
466         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
467         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
468         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
469         (canonicalize_condition, get_condition): Allow to return comparisons
470         of cc mode registers.
471         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
472         cc mode registers comparison in condition.
473
474 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
475
476         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
477         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
478         function.
479         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
480         
481 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
482
483         * combine.c (simplify_comparison): Convert
484         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
485         (eq (and (lshiftrt X Y) 1) 0).
486
487 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
488
489         * alias.c: Follow spelling conventions.
490         * cpphash.h: Likewise.
491         * fold-const.c: Likewise.
492
493 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
494
495         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
496         * c-lex.c (cb_line_change): Skip line changing whenever
497         c-ppoutput.c would.
498
499 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
500
501         * ra.c: Convert to ISO C90 prototypes.
502         * ra-build.c: Likewise.
503         * ra-colorize.c: Likewise.
504         * ra-debug.c: Likewise.
505         * ra-rewrite.c: Likewise.
506
507 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
508
509         * Makefile.in (%.dvi): Remove excess $(docdir).
510
511 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
512
513         * function.c (STACK_BYTES): Move definition to head of file.
514         (assign_parms): Don't pass current_function_pretend_args_size
515         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
516         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
517         excess before laying out the argument.
518
519 2003-09-14  Andreas Jaeger  <aj@suse.de>
520
521         * objc/objc-act.c: Convert to ISO C90 prototypes.
522         * objc/objc-act.h: Likewise.
523
524 2003-09-14  Olaf Hering  <olh@suse.de>
525
526         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
527
528 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
529
530         PR target/12021
531         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
532         as they already are done in config/m68k/m68k.h.
533         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
534
535         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
536         (machopic_output_stub): Only generate pic base symbols when using pic
537         and generate them in the form L00000000$spb.
538
539 2003-09-13  Richard Henderson  <rth@redhat.com>
540
541         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
542         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
543         * cgraph.h: Update.
544
545 2003-09-12  Dale Johannesen  <dalej@apple.com>
546
547         * config/rs6000/rs6000.c: Fix typos in previous.
548
549 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
550
551         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
552         when allocating pp->buffer.
553
554 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
555
556         * config/darwin.c (machopic_select_rtx_section): Use
557         const_data_section for things that might require relocation.
558
559 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
560
561         PR bootstrap/12264
562         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
563
564 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
565         
566         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
567         * config/xtensa/linux.h (ASM_SPEC): Likewise.
568         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
569         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
570         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
571         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
572         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
573         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
574         and redefine corresponding TARGET_* macros with constants from the
575         xtensa-config.h header.
576         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
577         for the options listed above.
578         
579 2003-09-12  Dale Johannesen  <dalej@apple.com>
580
581         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
582         * config/rs6000/rs6000-c.c:  Ditto. 
583         * config/rs6000/rs6000.c:  Ditto.
584         * config/rs6000/ sysv4.h:  Ditto.
585
586 2003-09-12  Chris Lattner <sabre@nondot.org>
587
588         * loop.c: Move comments describing BIV's and GIV's to top of file
589
590 2003-09-12  Roger Sayle  <roger@eyesopen.com>
591
592         PR optimization/8967
593         * alias.c (write_dependence_p): Modify to take an additional constp
594         argument that controls whether the UNCHANGING_RTX_P flags are used.
595         (anti_dependence, output_dependence): Adjust write_dependence_p
596         callers to pass this additional argument, to return the same result.
597         (unchanging_anti_dependence): New variant of anti_dependence that
598         ignores the UNCHANGING_RTX_P property on memory references.
599         * rtl.h (unchaning_anti_dependence): Prototype here.
600         * flow.c (init_propagate_block): Place fake constant mem writes on
601         the mem_set_list so that dead writes to const variables are deleted.
602         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
603         (mark_used_regs): Likewise.
604
605 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
606
607         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
608         (mcore_secondary_reload_class): Declare.
609         (mcore_output_inline_const_forced): Remove.
610         * config/mcore/mcore.md (movsi): Remove the code that forced
611         non-inlineable constants into a register if the target was r15
612         or the stack pointer.  Remove constant restrictions from the main
613         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
614         of an r <- P alternative.  Remove fallback define_insn for reload.
615         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
616         define_insn.  Use mcore_output_move in the remaining define_insn.
617         Adjust condition and constraints in the way as for movsi.
618         (movdi): Always split unacceptable constants into two.  Use
619         simplify_gen_subreg instead of operand_subword{,_force}.
620         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
621         (mcore_output_move): Support HImode and QImode moves as well.
622         (mcore_m15_operand_p): New function.
623         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
624         (mcore_secondary_reload_class): New function.
625         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
626         terms of mcore_secondary_reload_class.
627
628 2003-09-11  Mike Stump  <mrs@apple.com>
629
630         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
631
632 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
633
634         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
635         MODE exactly, then only convert logN(N) -> 1.0 if
636         flag_unsafe_math_optimizations is set.
637
638         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
639         init_builtin_dconsts): Delete.
640         * emit-rtl.c (dconstpi, dconste): Define.
641         (init_emit_once): Initialize dconstpi & dconste.
642         * real.h (dconstpi, dconste): Declare.
643
644 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
645
646         PR fortran/11522
647         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
648         for ultimate origin even if block is abstract.
649
650 2003-09-11  Roger Sayle  <roger@eyesopen.com>
651
652         * combine.c (combine_simplify_rtx): Move several NOT and NEG
653         optimizations from here...
654         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
655         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
656
657 2003-09-11  Richard Henderson  <rth@redhat.com>
658
659         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
660         Tweek tests for function already generated.
661         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
662         * cgraph.h (cgraph_finalize_function): Update for extra arg.
663         * c-decl.c (finish_function): Likewise.
664
665 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
666
667         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
668
669 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
670
671         * real.c: Update URL to VAX floating point docs.
672         (decode_vax_d): Extract 8 exponent bits instead of 7.
673
674 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
675
676         * combine.c (force_to_mode): Set fuller_mask based only on mask,
677         not op_mode.
678
679 2003-09-11  Jan Hubicka  <jh@suse.cz>
680
681         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
682         on why function is not inlinable; do not check
683         the body.
684         (inline_forbidden_p): Move to...
685         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
686         deal with alloca, longjmp.
687         (inline_forbidden_p): New static function.
688         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
689         find_builtin_longjmp_call): Kill.
690
691 2003-09-10  Richard Henderson  <rth@redhat.com>
692
693         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
694         * cgraphunit.c: Update to match.
695         (record_call_1): Rearrange.  Call lang hook for language nodes.
696         (cgraph_analyze_function): Don't call lower_function.
697         * langhooks.h (struct lang_hooks_for_callgraph): Replace 
698         lower_function with analyze_expr.
699         * langhooks-def.h: Update to match.
700         * langhooks.c (lhd_callgraph_analyze_expr): New.
701
702 2003-09-10  Martin Husemann  <martin@duskware.de>
703
704         PR target/11965
705         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
706         constants greater than 63.
707         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
708         against constants greater than 31.
709         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
710         constants greater than 63.
711
712 2003-09-09  Richard Henderson  <rth@redhat.com>
713
714         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
715         * cgraph.h (cgraph_finalize_function): Update.
716         * c-decl.c (finish_function): Update.
717
718 2003-09-09  Devang Patel  <dpatel@apple.com>
719
720         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
721         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
722         
723 2003-09-09  Eric Christopher  <echristo@redhat.com>
724
725         * configure.in: Change usage of 'head' to 'sed 1q'.
726         * configure: Regenerate.
727
728 2003-09-09  Richard Henderson  <rth@redhat.com>
729
730         * except.c: Include cgraph.h.
731         (output_function_exception_table): Invoke
732         cgraph_varpool_mark_needed_node.
733         * Makefile.in (except.o): Update.
734
735 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
736
737         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
738         and use it throughout.
739
740 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
741
742         * builtins.c (real_dconstp, fold_builtin_logarithm,
743         fold_builtin_exponent): New, split out from fold_builtin.  Also
744         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
745         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
746         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
747         of hardcoded array size.
748         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
749         (tree_expr_nonnegative_p): Likewise.
750         * real.h (dconst3, dconst10, dconstthird): New.
751
752 2003-09-09  Jan Hubicka  <jh@suse.cz>
753
754         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
755         inline functions.
756         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
757         DECL_SAVED_TREE.
758
759 2003-09-09  Roger Sayle  <roger@eyesopen.com>
760
761         * builtins.c (fold_builtin_cabs): Protect the complex argument
762         against multiple evaluation when optimizing cabs* into sqrt*.
763
764 2003-09-09  Jan Hubicka  <jh@suse.cz>
765
766         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
767
768 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
769
770         * Makefile.in: Revert yesterday's change.
771
772 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
773             Peter Barada <peter@baradas.org>
774
775         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
776         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
777         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
778         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
779         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
780         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
781         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
782         (m68k_compute_frame_layout): New function.
783         (m68k_initial_elimination_offset): New function.
784         (m68k_output_function_prologue): ColdFire-specific movem handling.
785         (m68k_output_function_epilogue): Likewise.
786         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
787         (ARG_POINTER_REGNUM): Add new definition.
788         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
789         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
790         (CAN_ELIMINATE): Likewise.
791         (INITIAL_ELIMINATION_OFFSET): Likewise.
792
793 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
794
795         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
796         by removing redundant variable cfa_store_offset.
797
798 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
799
800         * langhooks-def.h (lhd_register_builtin_type): New function.
801         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
802         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
803         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
804         * langhooks.c (lhd_register_builtin_type): New function.
805         * c-common.h (c_register_builtin_type): Declare.
806         * c-common.c (c_register_builtin_type): New function.
807         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
808         c_register_builtin_type.
809         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
810         __float80, and __float128 macros.
811         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
812         __float80, and __float128 types.
813
814 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
815
816         * builtin-types.def
817         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
818         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
819         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
820         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
821         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
822         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
823         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
824         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
825         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
826         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
827         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
828         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
829         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
830         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
831         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
832         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
833         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
834         New.
835         * doc/extend.texi: Document new builtins.
836
837 2003-09-09  Jan Hubicka  <jh@suse.cz>
838
839         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
840         finalization.
841         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
842         functions, check for COMDAT.
843         (cgraph_assemble_pending_functions): Break out from...
844         (cgraph_finalize_function): ... here; allow redefinig of extern inline
845         functions.
846         (record_call_1): Record function references only in non-unit-at-a-time
847         mode.
848         (cgraph_analyze_function): Reset current_function_decl.
849         (cgraph_finalize_compilation_unit):  Assemble pending functions.
850
851 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
852
853         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
854         (libgov.a): Likewise.
855         (libgcc_eh.a): Likewise.
856
857 2003-09-08  Roger Sayle  <roger@eyesopen.com>
858
859         * fold-const.c (operand_equal_p): Clarify documentation.
860
861 2003-09-08  Richard Henderson  <rth@redhat.com>
862
863         * c-decl.c (c_expand_body_1): Push and pop function context here.
864         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
865         nested argument instead of computing nesting ourselves.
866
867 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
868
869         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
870         regstack if optimizing but not scheduling after reload.
871
872 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
873
874         * config/sparc/sparc.c (struct machine_function): New type.
875         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
876         (sparc_override_options): Initialize init_machine_status.
877         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
878         tie_symbolic_operand, tle_symbolic_operand): New functions.
879         (symbolic_operand): Disallow tls_symbolic_operand.
880         (symbolic_memory_operand): Likewise.
881         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
882         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
883         New functions.
884         (sparc_tls_symbol): New variable.
885         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
886         legitimize_address): New functions.
887         (print_operand): Handle %&.
888         (sparc_init_machine_status, get_some_local_dynamic_name,
889         get_some_local_dynamic_name_1): New functions.
890         (sparc_output_dwarf_dtprel): New function.
891         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
892         constant_address_p.
893         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
894         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
895         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
896         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
897         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
898         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
899         (ASM_OUTPUT_DWARF_DTPREL): Define.
900         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
901         tie_symbolic_operand, tle_symbolic_operand.
902         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
903         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
904         (tls_call_delay): New attribute.
905         (in_call_delay): Use it.
906         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
907         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
908         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
909         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
910         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
911         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
912         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
913         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
914         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
915         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
916         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
917         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
918         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
919         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
920         insns.
921         * config/sparc/sparc-protos.h (legitimate_constant_p,
922         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
923         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
924         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
925         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
926         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
927         * configure.in (sparc*-*-*): Add TLS check.
928         * configure: Rebuilt.
929
930 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
931
932         PR target/11689
933         * config/i386/i386.c (memory_address_length): Fix computation when
934         the base is esp or ebp.
935
936 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
937
938         PR c++/11852
939         * varasm.c (initializer_constant_valid_p): Correct logic for
940         CONSTRUCTORs.
941
942 2003-09-07  Roger Sayle  <roger@eyesopen.com>
943
944         * expr.c (expand_operands): New function to expand an operand pair.
945         (expand_expr): Call expand_operands whenever we need to expand both
946         operands of a binary operator.
947         (do_store_flag): Likewise for operands of comparison operations.
948
949 2003-09-07  Roger Sayle  <roger@eyesopen.com>
950
951         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
952         (-A)*B if we care about sign-dependent rounding.
953
954 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
955
956         * c-pretty-print.h (pp_c_left_brace): Declare.
957         (pp_c_right_brace): Likewise.
958         * c-pretty-print.c (pp_c_left_brace): Now a function
959         (pp_c_right_brace): Likewise.
960
961 2003-09-07  Jan Hubicka  <jh@suse.cz>
962
963         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
964
965 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
966
967         * diagnostic.c (warn_deprecated_use): Move to toplev.c
968
969 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
970
971         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
972         * Makefile.in (langhooks.o): Depend on diagnostic.h
973
974 2003-09-06  James E Wilson  <wilson@tuliptree.org>
975
976         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
977         simplify.
978
979 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
980
981         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
982         and use it throughout.
983
984 2003-09-07  Jan Hubicka  <jh@suse.cz>
985
986         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
987
988         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
989         virables.
990
991         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
992         functions.
993         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
994
995 2003-09-06  Jan Hubicka  <jh@suse.cz>
996
997         PR target/12070
998         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
999
1000         PR opt/12082
1001         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
1002
1003 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1004
1005         * diagnostic.c (announce_function): Move to toplev.c.
1006
1007 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1008
1009         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
1010         volatile mem.
1011
1012 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1013
1014         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
1015         when gc checking is enabled.
1016
1017 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
1018
1019         PR c/9862
1020         * c-decl.c (c_expand_body_1): Move return warning from here...
1021         (finish_function): ...to here.
1022
1023 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
1024
1025         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
1026         a subset of the input class.
1027
1028 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
1029
1030         * config/i860/i860.c: Follow spelling conventions.
1031         * config/i860/i860.h: Likewise.
1032         * config/sh/sh.h: Likewise.
1033
1034 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
1035
1036         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
1037         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
1038         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
1039
1040 2003-09-05  Roger Sayle  <roger@eyesopen.com>
1041             Richard Henderson  <rth@redhat.com>
1042
1043         PR optimization/1823
1044         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
1045         multiplication to implement division by constant integer.
1046
1047 2003-09-05  Jan Hubicka  <jh@suse.cz>
1048
1049         * opts.c (decode_options): Enable unit-at-a-time at -O2.
1050         * params.def (max-inline-insns-single): Set to 500
1051         (max-inline-insns-auto): Set to 150
1052         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
1053
1054 2003-09-04  Richard Henderson  <rth@redhat.com>
1055
1056         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
1057         (cgraph_mark_needed_node): Remove needed argument.
1058         * cgraph.h: Update to match.
1059         * cgraphunit.c (decide_is_function_needed): Split out from ...
1060         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
1061         if we generated the function.
1062         (record_call_1): Update for cgraph_mark_reachable_node.
1063         * varasm.c (mark_referenced): Likewise.
1064         * objc/objc-act.c (mark_referenced_methods): Likewise.
1065
1066 2003-09-04  DJ Delorie  <dj@redhat.com>
1067
1068         * targhooks.c: Add comment explaining the migration process.
1069
1070 2003-09-04  Eric Christopher  <echristo@redhat.com>
1071
1072         * config/frv/t-frv: Fix path for frv-abi.h.
1073         * config/frv/frv-asm.h: Fix string concatenation.
1074
1075 2003-09-04  DJ Delorie  <dj@redhat.com>
1076
1077         * builtins.c (apply_args_size): Guard against a NULL cfun.
1078         (expand_builtin_apply_args_1): Likewise.
1079         (expand_builtin_apply): Likewise.
1080         Fixes PR bootstrap/12172.
1081
1082 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1083
1084         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
1085         assembler supports Sun syntax for cmov.
1086         * configure: Regenerate.
1087         * config.in: Likewise.
1088         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
1089         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
1090         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
1091         Fixes PR target/12101.
1092
1093 2003-09-04  Matt Austern  <austern@apple.com>
1094
1095         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
1096         with verbosity 0, instead of DECL_NAME, for human-readable string.
1097
1098 2003-09-04  Eric Christopher  <echristo@redhat.com>
1099
1100         * targhooks.c (default_return_in_memory): Allow
1101         unconverted ports.
1102
1103 2003-09-04  Eric Christopher  <echristo@redhat.com>
1104
1105         * targhooks.c (default_return_in_memory): Fix typo
1106         in last checkin.
1107
1108 2003-09-04  Eric Christopher  <echristo@redhat.com>
1109
1110         * targhooks.c (default_return_in_memory): Fix default
1111         definition.
1112
1113 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
1114
1115         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
1116         deleted function.
1117         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
1118         enable coff-only code in m68k.c.
1119
1120 2003-09-04  Nick Clifton  <nickc@redhat.com>
1121
1122         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
1123         v850e1.
1124         * config/v850/v850.h: Accept v850e1 as a default CPU.
1125         Accept -mv850e1 as a command line option.
1126         * doc/invoke.texi: Document new -mv850e1 command line switch.
1127         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
1128         -mv850e.
1129
1130 2003-09-04  Nick Clifton  <nickc@redhat.com>
1131
1132         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
1133         * config/v850/t-v850: Only produce one extra multilib - for
1134         the v850e.
1135         * config/v850/t-v850e: New file: Only produce one extra
1136         multilib - for the v850.
1137
1138 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
1139
1140         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
1141         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
1142         * unwind.h (_Unwind_GetBSP): New prototype.
1143         * libgcc-std.ver: Add empty GCC_3.3.2 version.
1144         * mkmap-symver.awk: For symbol versions with no exported symbols,
1145         don't put anything into version script, just change all symbol
1146         versions which inherit from it to inherit from its ancestor.
1147
1148 2003-09-04  Eric Christopher  <echristo@redhat.com>
1149
1150         * config/mips/mips.c (mips_expand_prologue): Convert to
1151         calls.struct_value_rtx hook.
1152         (reg_or_const_float_1_operand): New.
1153         * config/mips/mips.h: Update Comments.
1154         (mips_arg): Add reg_or_const_float_1_operand.
1155         * config/mips/mips.md (divdf3); Convert to expander.
1156         (divsf3): Ditto.
1157         (*divdf3): New pattern.
1158         (*divsf3): Ditto.
1159
1160 2003-09-04  Jan Hubicka  <jh@suse.cz>
1161
1162         * toplev.c (wrapup_global_declarations): Fix final pass in
1163         unit-at-atime mode.
1164
1165 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
1166
1167         * doc/extend.texi: Document removal of cast-as-lvalue extension in
1168         C++.
1169
1170 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
1171
1172         * gcc.c (process_command): Fix typo.
1173
1174 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
1175
1176         optimization/11980
1177         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
1178         (PTRDIFF_TYPE): Likewise.
1179         (WCHAR_TYPE_SIZE): Likewise.
1180
1181 2003-09-03  DJ Delorie  <dj@redhat.com>
1182
1183         * targhooks.c: New file.
1184         * targhooks.h: New file.
1185         * Makefile.in: Add targhooks.o support.
1186         (function.o): Depend on$(TARGET_H).
1187         (stmt.o): Likewise.
1188         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
1189         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
1190         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
1191         (expand_builtin_saveregs): Convert to
1192         calls.expand_builtin_saveregs hook.
1193         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
1194         here, instead of ...
1195         (get_parm_info) ... here.
1196         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
1197         hook.
1198         (finish_function): Handle calls.promote_prototypes hook here too.
1199         * c-typeck.c (convert_arguments): Convert to
1200         calls.promote_prototypes hook.
1201         (c_convert_parm_for_inlining): Likewise.
1202         * calls.c (initialize_argument_information): Convert to
1203         calls.promote_function_args hook.
1204         (expand_call): Convert to calls.struct_value_rtx,
1205         calls.strict_argument_naming,
1206         calls.pretend_outgoing_varargs_named, and
1207         calls.promote_function_return hooks.  Pass fndecl to
1208         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
1209         hooks, so they can use that.
1210         (emit_library_call_value_1): Likewise.
1211         * combine.c (setup_incoming_promotions): Convert to
1212         calls.promote_function_args hook.
1213         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
1214         * expr.c (expand_assignment): Pass call to aggregate_value_p.
1215         (expand_expr): Likewise.
1216         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
1217         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1218         RETURN_IN_MEMORY macro defaults.
1219         * final.c (profile_function): Convert to calls.struct_value_rtx
1220         hook.
1221         * function.c (aggregate_value_p): Accept function type tree as
1222         second parameter; try to deduce fntype from it.  Convert to
1223         calls.return_in_memory hook.
1224         (assign_parms): Convert to calls.setup_incoming_varargs,
1225         calls.strict_argument_naming, calls.promote_function_args,
1226         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
1227         aggregate_value_p.
1228         (expand_function_start): Likewise.  Convert to
1229         calls.struct_value_rtx hook.
1230         (expand_function_end): Convert to calls.promote_function_return hook.
1231         (allocate_struct_function): Pass fndecl to aggregate_value_p.
1232         * hard-reg-set.h: Update comments to new hook names.
1233         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
1234         * reg-stack.c (stack_result): Likewise.
1235         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
1236         * stmt.c (expand_value_return): Convert to
1237         calls.promote_function_return hook.
1238         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
1239         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
1240         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
1241         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
1242         TARGET_STRICT_ARGUMENT_NAMING,
1243         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
1244         * target.h: Likewise.
1245         * tree.h (aggregate_value_p): Also takes a tree to deduce function
1246         attributes from (for target hooks).
1247         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
1248         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
1249         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
1250         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
1251         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
1252         to hooks.
1253
1254         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
1255         to aggregate_value_p.
1256         * config/arm/arm.c (arm_init_cumulative_args,
1257         arm_output_mi_thunk): Likewise.
1258         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
1259         Likewise.
1260         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
1261         mips_can_use_return_insn): Likewise.
1262         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1263         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1264         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
1265         aggregate_value_p.
1266         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
1267         function to aggregate_value_p.
1268         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
1269         aggregate_value_p.
1270
1271         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
1272         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
1273         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
1274         (sh_handle_renesas_attribute, sh_promote_prototypes,
1275         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
1276         sh_setup_incoming_varargs, sh_strict_argument_naming,
1277         sh_pretend_outgoing_varargs_named): New decls.
1278         (targetm): Add new hooks.
1279         (calc_live_regs): Save MACL and MACH if the function has the
1280         renesas attribute.
1281         (sh_expand_prologue): Support renesas attribute.
1282         (sh_builtin_saveregs): Make static.
1283         (sh_build_va_list): Support renesas attribute.
1284         (sh_va_start): Likewise.
1285         (sh_va_arg): Likewise.
1286         (sh_promote_prototypes): New.
1287         (sh_function_arg): New, moved from sh.h.  Support renesas
1288         attribute.
1289         (sh_function_arg_advance): Likewise.
1290         (sh_return_in_memory): Likewise.
1291         (sh_strict_argument_naming): Likewise.
1292         (sh_pretend_outgoing_varargs_named): Likewise.
1293         (sh_struct_value_rtx): New.
1294         (sh_attribute): Add renesas attribute.
1295         (sh_handle_renesas_attribute): New.
1296         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
1297         (sh_ms_bitfield_layout_p): Support renesas attribute also.
1298         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
1299         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
1300         -mhitachi.
1301         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
1302         target hooks.
1303         (sh_args): Add renesas_abi flag.
1304         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
1305         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
1306         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
1307         stack for the renesas abi.
1308         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1309         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
1310         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
1311         call cookie to indicate renesas calls.
1312
1313 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
1314
1315         * gcse.c (replace_one_set): New function.
1316         (pre_insert_copy_insn): Change the order of copying
1317         to make copy propagation discover additional PRE opportunities.
1318
1319 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1320
1321         PR optimization/11700.
1322         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
1323         of a hard register is representable before trying to simplify it
1324         using subreg_hard_regno.
1325
1326 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1327
1328         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
1329         * configure: Regenerate.
1330
1331 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1332
1333         * intl.h (N_): Remove parentheses.
1334
1335 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
1336
1337         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
1338         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
1339         definition and code blocks compiled when not defined.
1340         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
1341         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
1342         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
1343         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
1344
1345 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
1346
1347         * cgraphunit.c (visited_nodes): New static variable.
1348         (record_call_1): Use walk_tree with visited_nodes.
1349         (cgraph_create_edges): Use walk_tree with visited_nodes.
1350         Setup/teardown visited_nodes hashtable.
1351
1352 2003-09-03  Roger Sayle  <roger@eyesopen.com>
1353
1354         * toplev.c (flag_rounding_math): New global variable.
1355         (f_options): Add to the list of language independent options.
1356         * flags.h (flag_rounding_math): Prototype here.
1357         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
1358         * common.opt (frounding-math): New common command line option.
1359         * opts.c (common_handle_option): Handle OPT_frounding_math.
1360         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
1361
1362         * doc/invoke.texi: Document this new command line option.
1363
1364 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1365
1366         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
1367
1368 2003-09-03  Jan Hubicka  <jh@suse.cz>
1369
1370         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
1371         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
1372         * c-objc-common.c: Kill include of gt-c-objc-common.h
1373         (expand_deferred_fns, deffer_fn): Kill function.
1374         (deferred_fns): Kill variable.
1375         (finish_cdtor): Update finish_function call.
1376         (c_objc_common_finish_file): Always call cgraph code.
1377         * c-parse.c: Regenerate.
1378         * c-parse.y: Regenerate.
1379         * c-tree.h (finish_function): Update prototype.
1380         * objc-acct.c (build_module_descriptor, finish_method_def):
1381         Update call of finish_function.
1382         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
1383         forward prototype.
1384         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
1385         function and assemble it if needed.
1386         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
1387         mode.
1388         (cgraph_optimize): Likewise.
1389         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
1390         even when it has no inline callees.
1391         * c-parse.in: Update calls to finish_function.
1392
1393 2003-09-03  Nick Clifton  <nickc@redhat.com>
1394
1395         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
1396         Use #error to generate the message if TARGET_DEFAULT is not
1397         recognised.
1398
1399 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
1400
1401         * config/mips/mips.h (MASK_UNUSED1): Remove.
1402         (MASK_XGOT, TARGET_XGOT): Define.
1403         (TARGET_SWITCHES): Add an entry for -mxgot.
1404         (ASM_SPEC): Map -mxgot to -xgot.
1405         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1406         whether we're using a big-GOT sequences.
1407         (mips_legitimize_const_move, mips_expand_call): Likewise.
1408         (override_options): Revert 2003-01-09 change.
1409         * doc/invoke.texi: Document -mxgot.
1410
1411 2003-09-02  Jason Merrill  <jason@redhat.com>
1412
1413         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1414         * config/sparc/sol2.h: Not here.
1415
1416 2003-09-02  Roger Sayle  <roger@eyesopen.com>
1417
1418         * expr.c (expand_expr): The code following both_summands performs
1419         the same task as simplify_gen_binary.  Replace all gotos to
1420         both_summands with a call to simplify_gen_binary and delete the
1421         now unused label.
1422
1423 2003-09-02  Jason Merrill  <jason@redhat.com>
1424
1425         PR c++/7327
1426         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1427
1428 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
1429
1430         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1431         (cgraph_optimize_function): Set current_function_decl to the
1432         fndecl we're integrating from.
1433
1434 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1435
1436         * builtins.def: Break out _Complex math functions into their
1437         own category.
1438
1439 2003-09-02  Andreas Jaeger  <aj@suse.de>
1440
1441         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1442
1443 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
1444
1445         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1446         finding the note again.
1447
1448 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1449
1450         * config.gcc: Remove host-specific rewrites of target_alias.
1451
1452 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
1453
1454         * Makefile.in (genprogs): Fix typo.
1455
1456         * Makefile.in (gencheck.o): Remove build commands.
1457         (dummy-conditions.o): Likewise.
1458         (read-rtl.o): Likewise.
1459         (gensupport.o): Likewise.
1460         (genconfig$(build_exeext)): Remove rule.
1461         (genconfig.o): Remove build commands.
1462         (genflags$(build_exeext)): Remove rule.
1463         (genflags.o): Remove build commands.
1464         (gencodes$(build_exeext)): Remove rule.
1465         (gencodes.o): Remove build commands.
1466         (genconstants.o): Remove build commands.
1467         (genemit$(build_exeext)): Remove rule.
1468         (genemit.o): Remove build commands.
1469         (genrecog$(build_exeext)): Remove rule.
1470         (genrecog.o): Remove build commands.
1471         (genextract$(build_exeext)): Remove rule.
1472         (genextract.o): Remove build commands.
1473         (genpeep$(build_exeext)): Remove rule.
1474         (genpeep.o): Remove build commands.
1475         (genattr$(build_exeext)): Remove rule.
1476         (genattr.o): Remove build commands.
1477         (genprognames): New variable.
1478         (genprogs): Likewise.
1479         (genobjs): Likewise.
1480         (genprogs): New rule.
1481         (genobjs): Likewise.
1482         (genattrtab.o): Remove build commands.
1483         (genautomata.o): Likewise.
1484         (genoutput$(build_exeext)): Remove rule.
1485         (genoutput.o): Remove build commands.
1486         (gengenrtl.o): Likewise.
1487         (genpreds.o): Likewise.
1488         (gengtype.o): Likewise.
1489         (genconditions.o): Likewise.
1490         (gen-protos.o): Likewise.
1491         (scan.o): Likewise.
1492         (fix-header.o): Likewise.
1493         (scan-decls.o): Likewise.
1494         (check-g++): Combine with other check targets.
1495         (check-gcc): Likewise.
1496         (check-g77): Likewise.
1497         (check-objc): Likewise.
1498
1499 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1500
1501         * config.gcc: Remove host-specific stuff which is unused here
1502         since the introduction of config.host.
1503
1504         * doc/fragments.texi: Mention config.host.
1505         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
1506         of config.build, config.host, and config.gcc.
1507
1508 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
1509
1510         * c-decl.c (pushdecl): Don't put variables on
1511         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
1512         incomplete.
1513
1514 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1515
1516         * config.host: New file.
1517         * config.gcc: Remove some host-specific stuff and some
1518         logic needed only for repeated invocation.
1519         * configure.in: Use config.host.
1520         * configure: Regenerate.
1521
1522 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
1523
1524         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
1525         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
1526         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
1527         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
1528         * tree.def (BIT_ANDTC_EXPR): Kill.
1529
1530 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1531
1532         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
1533         * configure: Regenerate.
1534
1535         * config.gcc:  Remove references to install_headers_dir, now unused
1536         since introduction of config.build.
1537         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
1538
1539         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
1540         config.build.
1541
1542         * config.build: New file.
1543         * config.gcc: Remove some build-specific stuff.
1544         * configure.in: Use config.build.
1545         * configure: Regnerate.
1546
1547 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
1548             Roger Sayle  <roger@eyesopen.com>
1549
1550         PR middle-end/11823
1551         * stmt.c (expand_end_case_type): Only use jump tables for dense
1552         switch statements when optimizing for size.
1553
1554 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
1555
1556         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
1557         the != 0 case, which ensures pending stack adjustments are flushed.
1558
1559 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1560
1561         * configure.frag: Delete file.
1562         * configure.in: Rename the substitution variables
1563         dep_host_xmake_file and dep_tmake_file to xmake_file and
1564         tmake_file respectively.  Do not expand $srcdir in the
1565         value of these; leave that for Make.  Introduce a new
1566         substitution varaible, all_lang_makefrags, which lists
1567         subdirectory Make-lang.in files; exclude these from
1568         all_lang_makefiles, which is now only for subdirectory
1569         outputs.  Do not invoke configure.frag.  Do not set nor
1570         AC_SUBST_FILE target_overrides, host_overrides, or
1571         language_fragments. Create build subdirectories in
1572         config.status extra commands.
1573         * configure: Regenerate.
1574         * Makefile.in: Update substitutions to match changes to
1575         configure.  Use include directives instead of @-insertions
1576         to read in host, target, and language fragments.
1577         (Makefile rule): Do not invoke configure.frag.  Do not copy
1578         config.status to config.run before executing it.  Set
1579         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
1580         regenerated.
1581         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
1582
1583 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1584
1585         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
1586         * c-typeck.c (same_translation_unit_p): New function.
1587         (comptypes): Use it instead of flags parameter to identify
1588         structure types from different translation units.
1589         * c-decl.c (duplicate_decls): Always call comptypes with
1590         COMPTYPE_STRICT flags argument.
1591         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
1592         to file_scope_decl.
1593
1594 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1595
1596         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
1597         * c-decl.c (struct c_scope): Remove "incomplete" field.
1598         (pushdecl): Attach variables with incomplete types to
1599         the TYPE_MAIN_VARIANT of the incomplete type in question.
1600         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
1601         to complete, not at current_scope->incomplete.  All such
1602         variables do need completion.
1603
1604 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
1605         Nicolas Pitre <nico@cam.org>
1606
1607         * arm/lib1funcs.asm (RETCOND): Delete.
1608         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
1609         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
1610         (__ARM_ARCH__): Move here from ieee754-?f.S.
1611         (RET, RETc): Clean up definitions.
1612         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
1613         (FUNC_END): New macro that marks the end of any function.
1614         (ARM_FUNC_START): New macro that allows an assembler routine to be
1615         implemented in ARM code even if a Thumb-only build.
1616         Unconditionally include ieee754-?f.S.
1617         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
1618         Mark ends of functions.
1619         Split into separate conditionally-compiled units.
1620         Use RETLDM to return from routines.
1621         * arm/ieee754-sf.S: Similarly.
1622         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
1623         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
1624         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
1625         _fixsfsi and _fixunssfsi.
1626
1627         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
1628         multiplication underflows to zero.
1629         (__adddf3): Fix bug when using VFP ordering on little-endian
1630         processors.
1631         (__fixdfsi): Use rrx to extract the carry into a register instead of
1632         MRS instruction.  Optimize later use of result.
1633         * arm/ieee754-sf.S (__fixsfsi): Likewise.
1634         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
1635
1636 2003-08-29  Richard Henderson  <rth@redhat.com>
1637
1638         * tree-optimize.c: New file.
1639         * Makefile.in (OBJS-archive): Add tree-optimize.o.
1640         (tree-optimize.o): New.
1641         * c-decl.c (store_parm_decls): Use allocate_struct_function.
1642         (finish_function): Don't free_after_parsing or free_after_compilation.
1643         (set_save_expr_context): Move to tree-optimize.c.
1644         (c_expand_body_1): Use tree_rest_of_compilation.
1645         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1646         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1647         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1648         iterate until closure.
1649         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1650         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1651         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1652         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1653         * toplev.h (tree_rest_of_compilation): Declare it.
1654
1655 2003-08-29  Richard Henderson  <rth@redhat.com>
1656
1657         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1658         * integrate.c (save_for_inline): Set saved_for_inline.
1659         * c-semantics.c (genrtl_scope_stmt): Check it.
1660         * toplev.c (wrapup_global_declarations): Check it.
1661         (rest_of_handle_inlining): Set and check rtl_inline_init.
1662         (rest_of_compilation): Remove out of date comment.
1663
1664 2003-08-29  Richard Henderson  <rth@redhat.com>
1665
1666         * function.c (allocate_struct_function): New, split out of ...
1667         (prepare_function_start, init_function_start): ... here.
1668         * expr.c (init_expr): Use ggc_alloc_cleared.
1669         * stmt.c (init_stmt_for_function): Likewise.
1670         * tree.h (allocate_struct_function): Declare.
1671
1672 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1673
1674         * config.gcc: Don't use negated character class in shell case
1675         clause.
1676
1677 2003-08-29  Richard Henderson  <rth@redhat.com>
1678
1679         * function.h (struct function): Move function_frequency and
1680         max_jumptable_ents before start of bit field members.
1681
1682 2003-08-29  Richard Henderson  <rth@redhat.com>
1683
1684         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1685         (fold_builtin_constant_p) ... not here.
1686
1687 2003-08-29  Richard Henderson  <rth@redhat.com>
1688
1689         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1690         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1691         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1692
1693 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1694
1695         * builtins.def: Fix typos.
1696         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1697         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1698         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1699         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1700         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1701
1702         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1703         Use ATTR_MATHFN_FPROUNDING_ERRNO.
1704
1705 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1706
1707         * config.gcc (i386-*-vsta): Fix obvious bogosity.
1708
1709         * fixinc/inclhack.def:  Remove special cases for unsupported
1710         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1711         * fixinc/fixincl.x: Regenerate.
1712
1713 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
1714
1715         * Makefile.in (cpp.info): Just state dependencies.
1716         (gcc.info): Likewise.
1717         (gccint.info): Likewise.
1718         (gccinstall.info): Likewise.
1719         (cppinternals.info): Likewise.
1720         (cpp.dvi): Likewise.
1721         (gcc.dvi): Likewise.
1722         (gccint.dvi): Likewise.
1723         (gccinstall.dvi): Likewise.
1724         (cppinternals.dvi): Likewise.
1725         (gcov.1): Likewise.
1726         (cpp.1): Likewise.
1727         (gcc.1): Likewise.
1728         (gfdl.7): Likewise.
1729         (gpl.7): Likewise.
1730         (fsf-funding.7): Likewise.
1731         ($(objdir)/%.info): New pattern rule.
1732         (%.dvi): Likewise.
1733
1734 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
1735
1736         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1737         (restage2): Likewise.
1738         (restage3): Likewise.
1739         (restage4): Likewise.
1740         (restageprofile): Likewise.
1741         (restagefeedback): Likewise.
1742         (bubblestrap): Likewise.
1743
1744 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1745
1746         * config.gcc: Narrow unsupported target match to avoid clobbering
1747         i?86-sequent-sysv4*.
1748
1749 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1750
1751         * builtins.c (mathfn_built_in): Handle new math builtins.
1752
1753 2003-08-28  Per Bothner  <per@bothner.com>
1754
1755         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1756         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
1757         (_cpp_lex_buffer):  Likewise.
1758         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
1759
1760 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1761
1762         * config/s390/s390.md ("*mulsi3_sign"): New insn.
1763         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1764         ("mulsidi3"): ... this new insn.
1765         ("umulsidi3"): New insn.
1766         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1767         mixed-mode matching constraints.
1768         ("udivmodsi4", "udivmoddisi3"): New insns.
1769         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1770
1771 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1772
1773         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1774         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1775         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1776         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1777         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1778         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1779         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1780         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1781         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1782         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1783         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1784         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1785         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1786         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1787         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1788         * tree.c: Assign new type_nodes.
1789         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1790         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1791         (float_ptr_type_node, double_ptr_type_node,
1792         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1793
1794         * doc/extend.texi: Document new builtins.
1795
1796 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1797
1798         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1799         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1800
1801         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1802         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1803         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1804         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1805         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1806         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1807         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1808         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1809         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1810         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1811
1812         * doc/extend.texi: Document new builtins.
1813
1814 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
1815
1816         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1817         variants of i?86, powerpcle, and thumb.
1818         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1819         arm and hppa variants.
1820
1821 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1822
1823         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1824         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1825         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1826         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1827         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1828         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1829         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1830         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1831         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1832         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1833
1834         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1835         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1836         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1837         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1838         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1839         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1840         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1841         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1842         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1843         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1844         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1845         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1846         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1847         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1848         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1849         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1850         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1851         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1852         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1853         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1854         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1855         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1856         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1857         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1858         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1859         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1860         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1861         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1862         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1863         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1864         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1865
1866         * doc/extend.texi: Document new builtins.
1867
1868 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1869
1870         * config/s390/s390.c (legitmate_constant_p): Use LARL on
1871         zSeries machines even in 31-bit addressing mode.
1872         (legitimate_reload_constant_p): Likewise.
1873         (legitimize_pic_address): Likewise.
1874         (legitimize_tls_address): Likewise.
1875         (s390_split_branches): Likewise.
1876         (s390_dump_pool): Likewise.
1877         (s390_mainpool_finish): Likewise.
1878         (s390_chunkify_start): Likewise.
1879         (s390_select_rtx_section): Likewise.
1880         * config/s390/s390.md ("doloop_si"): Likewise.
1881         ("pool_start_31", "pool_end_31"): Likewise.
1882         ("pool_start_64", "pool_end_64"): Likewise.
1883         ("main_base_31_small", "main_base_31_large"): Likewise.
1884         ("main_base_64"): Likewise.
1885         ("reload_base_31", "reload_base_64"): Likewise.
1886         ("*movsi_larl"): New insn.
1887         ("cjump", "icjump"): Use long branches on zSeries machines.
1888         ("jump"): Likewise.
1889         ("call"): Use BRASL on zSeries machines.
1890         ("call_value", "call_value_tls"): Likewise.
1891         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1892         and replace by ...
1893         ("*bras", "*brasl", "*basr") ... these new insns.
1894         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1895         "bas_31_r"): Remove and replace by ...
1896         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1897         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1898         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1899         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1900         ("*return_si", "*return_di"): Remove and replace by ...
1901         ("*return"): ... this new insn.
1902         ("rotlsi3"): Allow on zSeries machines.
1903
1904         * config/s390/s390.c (legitimize_reload_constant_p): Use
1905         LL/LH type instructions in z/Architecture mode.
1906         * config/s390/s390.md ("*movsi_lli"): Likewise.
1907         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1908         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1909         ("*extendqisi2"): Use LB in z/Architecture mode.
1910         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1911         z/Architecture mode.
1912         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1913         Likewise.
1914
1915         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1916         and 31-bit mode.
1917         ("ptr_extend"): Allow only in 64-bit mode.
1918
1919 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
1920
1921         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1922         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1923         definitions.
1924         (main): Only use standard_startfile_prefix if native.
1925         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1926
1927 2003-08-27  Per Bothner  <pbothner@apple.com>
1928
1929         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
1930         test fails following my 08-21 change, and it seems unnecessary anyway.
1931         (cpp_error):  Likewise.
1932
1933 2003-08-27  Jason Merrill  <jason@redhat.com>
1934
1935         * real.c (do_multiply): Initialize with memset.
1936
1937 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1938
1939         * gcov.c (typedef struct arc_info): New field cs_count.
1940         (accumulate_line_counts): Find cycles correctly.
1941
1942 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
1943
1944         * config/s390/s390.c (struct machine_function): Remove member
1945         literal_pool_label.
1946         (s390_optimize_prolog): Replace TEMP_REG argument with
1947         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
1948         (general_s_operand): Accept all immediates before reload if
1949         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
1950         references.
1951         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1952         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1953         (s390_alloc_pool): New function.
1954         (s390_new_pool): Call it.
1955         (s390_dump_pool): Add REMOTE_LABEL argument.
1956         (s390_chunkify_start): Add BASE_REG argument.  Do not check
1957         get_pool_size ().
1958         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
1959         s390_dump_pool call.
1960         (s390_pool_count, s390_nr_constants): Remove.
1961         (s390_output_constant_pool): Remove.
1962         (s390_mainpool_start): New function.
1963         (s390_mainpool_finish): New function.
1964         (s390_mainpool_cancel): New function.
1965         (s390_reorg): Implement main literal pool handling.
1966         (s390_emit_prologue): Emit main_pool placeholder instead of
1967         literal_pool_31 / literal_pool_64 insns.
1968         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1969         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1970         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1971         ("main_base_31_small", "main_base_31_large"): New insns.
1972         ("main_base_64",  "main_pool"): New insns.
1973         ("literal_pool_31", "literal_pool_64"): Remove.
1974
1975 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1976
1977         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1978         fixinc.ptx.
1979         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
1980         Prettify a little.
1981         * fixinc/fixincl.x: Regenerate.
1982
1983 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
1984
1985         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
1986         (L_ieee754_dp): New.  Include ieee754-df.S.
1987         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1988         and compilation in apcs-26 mode.
1989         * arm/ieee754-df.S: Likewise.
1990         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1991         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1992
1993 2003-08-27  Nicolas Pitre  <nico@cam.org>
1994
1995         * arm/ieee754-sf.S: New.
1996         * arm/ieee754-df.S: New.
1997
1998 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
1999
2000         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
2001         and restore it if returning NULL.
2002
2003 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
2004
2005         * calls.c (initialize_argument_information): If an argument has no
2006         stack space associated with it, and BLOCK_REG_PADDING is defined,
2007         use it to decide at which end the argument should be padded.
2008         * function.c (assign_parms): Allocate BLKmode stack slots.
2009         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
2010         (mips_pad_reg_upward): Declare.
2011         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
2012         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
2013         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
2014         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
2015         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
2016         (mips_expand_call): Remove code for generating structure shifts.
2017         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
2018         types unless using the EABI.
2019         (function_arg_advance): Don't generate shift instructions.
2020         (function_arg): Don't return them.  Don't short-circuit the
2021         check for double structure chunks for DFmode arguments.
2022         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
2023         (mips_expand_prologue): Remove code to emit structure shifts.
2024         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
2025         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
2026         comments to say that only structure returns are a problem.
2027
2028 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2029
2030         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
2031         Fix to match produced versions.
2032         * fixinc/inclhack.def (longlong_t): New disabled test, ported
2033         from fixinc.svr4.
2034         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
2035         from fixinc.ptx.
2036         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
2037         ported from fixinc.ptx.
2038
2039 2003-08-26  Per Bothner  <pbothner@apple.com>
2040
2041         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
2042         (cpp_error_with_line):  Use fileline for appropriate parameter.
2043         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
2044         (struct cpp_reader):  Likewise for fields line and directive_line.
2045         (_cpp_begin_message):  Use fileline for appropriate parameter.
2046         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
2047         cpp_error):  Use fileline for appropriate parameters and variables.
2048         (print_location):  New local lin, since it is not a fileline.
2049
2050 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2051
2052         PR middle-end/12002
2053         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
2054         (FLOAT_TYPE_P): Define in terms of these two new macros.
2055         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
2056         for complex floating point types.
2057
2058 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
2059
2060         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
2061         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
2062         s390_output_pool_entry.
2063
2064 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2065
2066         * fixinc/inclhack.def (svr4_preproc_lint_on,
2067         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
2068         fixes, ported from fixinc.svr4.
2069
2070 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
2071
2072         * doc/install.texi (Prerequisites): Mention GNU make requirement.
2073
2074         * Makefile.in (AR_FOR_TARGET): Export it.
2075         (AR_CREATE_FOR_TARGET): Likewise.
2076         (AR_FLAGS_FOR_TARGET): Likewise.
2077         (AR_EXTRACT_FOR_TARGET): Likewise.
2078         (AWK): Likewise.
2079         (BUILD_PREFIX): Likewise.
2080         (BUILD_PREFIX_1): Likewise.
2081         (DESTDIR): Likewise.
2082         (GCC_FOR_TARGET): Likewise.
2083         (INCLUDES): Likewise.
2084         (INSTALL_DATA): Likewise.
2085         (LIB1ASMSRC): Likewise.
2086         (LIBGCC2_CFLAGS): Likewise.
2087         (MACHMODE_H): Likewise.
2088         (NM_FOR_TARGET): Likewise.
2089         (RANLIB_FOR_TARGET): Likewise.
2090         (libsubdir): Likewise.
2091         (slibdir): Likewise.
2092         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
2093         exporting.
2094         (libgcc.a): Don't pass them here.
2095         (stmp-multilib): Or here.
2096         (install-libgcc): Or here.
2097         (install-multilib): Or here.
2098         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
2099         (stage1_build): Or here.
2100
2101 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
2102
2103         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
2104         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
2105
2106 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
2107
2108         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
2109         "*fmaddsf", "*fmsubsf"): New insns.
2110
2111 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2112
2113         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
2114         (C1*C2)/X when unsafe math optimizations are allowed.
2115         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
2116         math optimizations.  Minor code clean-ups.  Recursively call
2117         fold when constructing sub-expressions.
2118
2119 2003-08-26  Roger Sayle  <roger@eyesopen.com>
2120
2121         * builtins.c (fold_builtin_bitop): New function to perform constant
2122         folding of ffs, clz, ctz, popcount and parity builtin functions
2123         and their long and long long variants (such as ffsl and ffsll).
2124         (fold_builtin): fold_builtin_bitop when appropriate.
2125         * simplify-rtx.c (simplify_unary_operation): Honor both
2126         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
2127         evaluating clz and ctz at compile-time, for operands wider
2128         than HOST_WIDE_INT.
2129
2130 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
2131
2132         * builtins.c (build_function_call_expr): Don't set
2133         TREE_SIDE_EFFECTS here.
2134         * expr.c (emit_block_move_via_libcall): Likewise.
2135         (clear_storage_via_libcall): Likewise.
2136         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
2137         CALL_EXPRs.
2138
2139         * gcse.c (is_too_expensive): New function.
2140         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
2141
2142 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2143
2144         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
2145         commented-out logic to use DCE threads (if present), add
2146         support for POSIX threads.
2147         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
2148         #defines for -pthread.  Add -lpthread to LIB_SPEC when
2149         -pthread.  In both cases take -mt as a synonym for -pthread
2150         for acc compatibility.
2151         Define GTHREAD_USE_WEAK to 0.
2152         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
2153         Remove old logic for DCE threads from LIB_SPEC.
2154         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
2155
2156 2003-08-25  Roger Sayle  <roger@eyesopen.com>
2157
2158         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
2159         return 0 for invalid argument types.  Instead drop through to a
2160         call of expand_call at the bottom of function.  If op is SQRT,
2161         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
2162
2163 2003-08-25  Richard Henderson  <rth@redhat.com>
2164
2165         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
2166         result when op0 is SImode.
2167
2168 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
2169
2170         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
2171         from fixinc.svr4.
2172         * fixinc/fixincl.x: Regenerate.
2173         * fixinc/tests/base/sys/signal.h: Regenerate.
2174
2175 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2176
2177         * combine.c (simplify_comparison): Re-enable widening of comparisons
2178         with non-paradoxical subregs of non-REG expressions.
2179
2180 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2181
2182         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
2183
2184 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
2185
2186         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
2187
2188 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2189
2190         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
2191         * c-pretty-print.h (c_pretty_printer): Now typedef to the
2192         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
2193         (struct c_pretty_print_info): Document.  Add new fields.
2194         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
2195         (pp_direct_abstract_declarator): New macro.
2196         (pp_ptr_operator): Likewise.
2197         (pp_simple_type_specifier): Likewise.
2198         (pp_expression): Likewise.
2199         (pp_parameter_list): Rename from pp_parameter_declaration.
2200         * c-pretty-print.c (pp_c_whitespace): Now a function.
2201         (pp_c_left_paren): Likewise.
2202         (pp_c_right_paren): Likewise.
2203         (pp_c_dot): Likewise.
2204         (pp_c_ampersand): Likewise.
2205         (pp_c_arrow): Likewise.
2206         (pp_c_semicolon): Likewise.
2207         (pp_c_type_cast): New function.
2208         (pp_c_space_for_pointer_operator): Likewise.
2209         (pp_c_call_argument_list): Likewise.
2210         (pp_c_cv_qualifier): Adjust prototype.
2211         (pp_c_type_qualifier_list): Likewise.
2212         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
2213         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
2214         Adjust to follow standard grammar.
2215         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
2216         REFERENCE_TYPE.  Tidy.
2217         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
2218         (pp_c_parameter_declaration): Remove.
2219         (pp_c_abstract_declarator): Adjust prototype.
2220         (pp_c_direct_abstract_declarator): Likewise.
2221         (pp_c_type_id): Likewise.
2222         (pp_c_storage_class_specifier): Likewise.
2223         (pp_c_function_specifier): Likewise.
2224         (pp_c_declaration_specifiers): Likewise.
2225         (pp_c_direct_declarator): Likewise.
2226         (pp_c_declarator): Likewise.
2227         (pp_c_declarator): Likewise.
2228         (pp_c_declaration): Likewise.
2229         (pp_c_attributes): Likewise.  Tidy.
2230         (pp_c_function_definition): Adjust prototype.
2231         (pp_c_char): Likewise.
2232         (pp_c_string_literal): Likewise.
2233         (pp_c_integer_constant): Likewise.
2234         (pp_c_character_constant): Likewise.
2235         (pp_c_bool_constant): Likewise.
2236         (pp_c_enumeration_constant): Likewise.
2237         (pp_c_floating_constant): Likewise.
2238         (pp_c_constant): Likewise.
2239         (pp_c_identifier): Likewise.
2240         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
2241         (pp_c_initializer): Adjust prototype.
2242         (pp_c_init_declarator): Likewise.
2243         (pp_c_initializer_list): Likewise.
2244         (pp_c_id_expression): Likewise.
2245         (pp_c_postfix_expression): Likewise.
2246         (pp_c_expression_list): Likewise.
2247         (pp_c_unary_expression): Likewise.
2248         (pp_c_cast_expression): Likewise.
2249         (pp_c_multiplicative_expression): Likewise.
2250         (pp_c_additive_expression): Likewise.
2251         (pp_c_shift_expression): Likewise.
2252         (pp_c_relational_expression): Likewise.
2253         (pp_c_equality_expression): Likewise.
2254         (pp_c_and_expression): Likewise.
2255         (pp_c_exclusive_or_expression): Likewise.
2256         (pp_c_inclusive_or_expression): Likewise.
2257         (pp_c_logical_and_expression): Likewise.
2258         (pp_c_logical_or_expression): Likewise.
2259         (pp_c_conditional_expression): Likewise.
2260         (pp_c_assignment_expression): Likewise.
2261         (pp_c_expression): Likewise.  Tidy.
2262         (pp_c_statement): Likewise.  Document.
2263         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
2264
2265         * c-lang.c (c_initialize_diagnostics): Update.
2266         * c-common.h (strip_pointer_operator): Declare.
2267         * c-common.c (strip_pointer_operator): Define.
2268
2269 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
2270
2271         PR c++/8795
2272         * tree.h (build_method_type_directly): Declare.
2273         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
2274         (vector_size_helper): Likewise.
2275         * tree.c (build_method_type_directly): New function.
2276         (build_method_type): Use it.
2277
2278 2003-08-24  Richard Henderson  <rth@redhat.com>
2279
2280         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
2281         for 16-byte vector modes if sse not enabled; warn for abi change.
2282         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
2283
2284 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
2285
2286         * rtlanal.c (may_trap_p): Simplify an integer comparison.
2287
2288 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2289
2290         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
2291         comment.  Enable for DYNIX/ptx systems (when they switch to
2292         regular fixincludes).
2293         * fixinc/fixincl.x: Regenerate.
2294
2295 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2296
2297         * config/i860/t-i860: New.
2298         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
2299
2300 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
2301
2302         * c-decl.c (pushdecl): Only put decls which finish_struct will do
2303         something about onto incomplete chain.
2304         (finish_struct): If not removing type from incomplete
2305         list, update prev.
2306
2307 2003-08-20  Jan Hubicka  <jh@suse.cz>
2308
2309         PR target/11369
2310         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
2311
2312         PR target/11031
2313         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
2314         const_0_to_15_operand, const_0_to_255_operand): New predicates.
2315         * i386.h (PREDICATE_CODES): Add these.
2316         * i386.c (pinsrw and pextrw patterns): Use them.
2317
2318         PR target/10984
2319         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
2320
2321         PR target/8869
2322         * expr.c (convert_modes): Deal properly with integer to vector
2323         constant conversion.
2324
2325         PR target/8871
2326         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
2327
2328 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2329
2330         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
2331         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
2332         ("*movhi"): ... this.
2333         ("movqi", "*movqi"): Likewise.
2334         ("movqi_64"): Remove.
2335         ("*zero_extendhisi2_31"): Change predicate to s_operand.
2336
2337 2003-08-23  Dale Johannesen  <dalej@apple.com>
2338         * calls.c (emit_library_call_value_1): Fix obvious errors in
2339         arguments to emit_group_store.
2340
2341 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2342
2343         * calls.c (emit_library_call_value_1): Remove code related
2344         to LIBGCC_NEEDS_DOUBLE.
2345         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
2346         * doc/tm.texi: Likewise.
2347         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
2348
2349 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
2350
2351         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2352
2353 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
2354
2355         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
2356         as well.  Put memory references in the varargs alias set.
2357         (mips_expand_prologue): Remove varargs handling from here.
2358
2359 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2360
2361         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
2362         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
2363         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
2364         for function pointer calls.
2365         * config/s390/s390.md ("*negdi2_31"): Likewise.
2366
2367 2003-08-23  Roger Sayle  <roger@eyesopen.com>
2368
2369         * combine.c (apply_distributive_law): Correct comment.
2370
2371 2003-08-23  Jason Eckhardt  <jle@rice.edu>
2372
2373         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
2374
2375 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2376
2377         * config/i860/i860.c (i860_build_va_list): Create the va_decl
2378         declaration.  Document the va_list structure.
2379         (i860_va_start): Initialize the va_list structure.
2380         (i860_va_arg): Rewrite completely.
2381         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
2382         * config/i860/varargs.asm: Do not allocate or initialize
2383         a va_list.  Return the address of the register save area.
2384
2385 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2386
2387         * config/iq2000/iq2000.c: Fix comment typos.
2388         * config/iq2000/iq2000.md: Likewise.
2389
2390 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2391
2392         * config/iq2000/iq2000.c: Follow spelling conventions.
2393         * config/iq2000/iq2000.h: Likewise.
2394         * config/mn10300/mn10300.c: Likewise.
2395
2396 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2397
2398         * config/i860/i860.c (output_move_double): Don't set latehalf
2399         to zero for CONST_INT (since it could be, e.g., -1).
2400
2401         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
2402         (MODSI3_LIBCALL): ...with this one.
2403         (UREMSI3_LIBCALL): Replace this macro...
2404         (UMODSI3_LIBCALL): ...with this one.
2405
2406 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2407
2408         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2409         (output_delayed_branch): Remove prototype.
2410         (single_insn_src_p): Remove prototype.
2411         * config/i860/i860.c (single_insn_src_p): Remove function.
2412         (output_delayed_branch): Remove function.
2413         (output_delay_insn): Remove function.
2414         (va_start): Remove unconditional test and dead code, re-format.
2415         Fix coding style and spelling problems in various comments.
2416         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2417         (blockage pattern): ...and use it here.
2418         (all define_peephole patterns related to delayed branches): Remove.
2419         Fix coding style and spelling problems in various comments.
2420
2421 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2422
2423         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2424         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
2425         Convert all function definitions from traditional to ISO C90 syntax.
2426         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2427         with 'GCC'.  Remove all uses of the PARAMS macro.
2428         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2429         * config/i860/i860.md: Likewise.
2430         * config/i860/sysv4.h: Likewise.
2431         * config/i860/varargs.asm: Likewise.
2432
2433 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2434
2435         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2436         argument.
2437         (tdesc_section): Add prototype.
2438         Update copyright dates.
2439         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2440         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2441         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2442         (targetm): Likewise.
2443         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2444         for '%d' where necessary.
2445         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
2446         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
2447         by UNITS_PER_WORD when referencing (likewise for .floats).
2448         (I860_SVR4_VARARGS): Rename...
2449         (I860_SVR4_VA_LIST): ...to this.
2450         Call build() with 't' rather than 'field'.
2451         (i860_rtx_costs): New function.
2452         (TARGET_RTX_COSTS): Define.
2453         (i860_internal_label): New function.
2454         (TARGET_ASM_INTERNAL_LABEL): Define.
2455         (i860_file_start): New function.
2456         Update copyright dates.
2457         * config/i860/i860.h (CPP_PREDEFINES): Remove.
2458         (TARGET_CPU_CPP_BUILTINS): Define.
2459         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2460         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2461         (ASM_FILE_START): Remove.
2462         (ASM_FILE_START_1): Remove.
2463         (ASM_GLOBALIZE_LABEL): Remove.
2464         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2465         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2466         with targetm.asm_out.internal_label.
2467         Update copyright dates.
2468         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2469         (CPP_PREDEFINES): Remove.
2470         (TARGET_OS_CPP_BUILTINS): Define.
2471         (GLOBAL_ASM_OP): Define.
2472         (ASM_FILE_START): Remove.
2473         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
2474         (TARGET_ASM_FILE_START): Define.
2475         Update copyright dates.
2476
2477 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2478
2479         * gcc/config.gcc (i860-*-sysv4*): Add target.
2480         * config/i860/i860-protos.h: New.
2481         * config/i860/i860.c: New.
2482         * config/i860/i860.h: New.
2483         * config/i860/i860.md: New.
2484         * config/i860/sysv4.h: New.
2485         * config/i860/varargs.asm: New.
2486         * config/i860/x-sysv4: New.
2487
2488 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2489
2490         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
2491         Remove all uses of PARAMS macro.
2492         Convert all function definitions to ISO C90 syntax.
2493         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
2494         * config/pa/fptr.c: Likewise.
2495         * config/pa/lib2funcs.asm: Likewise.
2496         * config/pa/long_double.h: Likewise.
2497         * config/pa/milli64.S: Likewise.
2498         * config/pa/pa-64.h: Likewise.
2499         * config/pa/pa-hpux.h: Likewise.
2500         * config/pa/pa-hpux10.h: Likewise.
2501         * config/pa/pa-hpux11.h: Likewise.
2502         * config/pa/pa-linux.h: Likewise.
2503         * config/pa/pa-modes.def: Likewise.
2504         * config/pa/pa-osf.h: Likewise.
2505         * config/pa/pa-pro-end.h: Likewise.
2506         * config/pa/pa.md: Likewise.
2507         * config/pa/pa32-linux.h: Likewise.
2508         * config/pa/pa64-linux.h: Likewise.
2509         * config/pa/pa64-hpux.h: Likewise.
2510         * config/pa/pa64-regs.h: Likewise.
2511         * config/pa/quadlib.c: Likewise.
2512         * config/pa/rtems.h: Likewise.
2513         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
2514         all uses of the PARAMS macro.
2515         * config/pa/pa.h: Likewise.
2516         * config/pa/som.h: Likewise.
2517
2518         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
2519         Remove all uses of PARAMS macro.
2520         Convert all function definitions to ISO C90 syntax.
2521         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
2522         Remove all uses of PARAMS macro.
2523         * config/iq2000.h: Remove all uses of PARAMS macro.
2524         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2525
2526 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2527
2528         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
2529         * config/s390/s390.c (gen_consttable): Remove.
2530         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
2531         (s390_output_pool_entry): New function.
2532         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
2533         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
2534         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
2535         (UNSPECV_POOL_ENTRY): ... this new constant.
2536         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2537         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
2538         ("*pool_entry"): ... and replace by this new insn.
2539         ("literal_pool_31"): Do not emit anchor label if pool empty.
2540
2541         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
2542         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
2543         (s390_fixup_clobbered_return_reg): Remove.
2544         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
2545         (s390_return_addr_rtx): Always retrieve return address from save area
2546         slot.  Use save_return_addr_p to force slot to be filled.
2547         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
2548
2549 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
2550
2551         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
2552         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
2553         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
2554         around SB-1 errata if TARGET_FIX_SB1 is set.
2555         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
2556         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
2557
2558 2003-08-22  Roger Sayle  <roger@eyesopen.com>
2559
2560         * hashtable.c (ht_expand): Avoid calculating rehash for the common
2561         case that the first probe hits an empty hash table slot.
2562
2563 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
2564
2565         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
2566
2567 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
2568
2569         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
2570         (ptr_extend_plus_imm): ... this.
2571         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
2572         optimization in C++.
2573         (ia64_output_mi_thunk): Support ILP32 mode.
2574
2575 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
2576
2577         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
2578         function.
2579         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
2580
2581 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2582
2583         * config/i386/i386.c (const_int_1_operand): Simplify an
2584         integer comparison.
2585
2586 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
2587
2588         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
2589         * config/rs6000/ppc64-fp.c: Likewise.
2590
2591 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2592
2593         * cfgcleanup.c: Fix comment typos.
2594         * emit-rtl.c: Likewise.
2595         * optabs.c: Likewise.
2596         * ra-build.c: Likewise.
2597         * rtlanal.c: Likewise.
2598         * tree.h: Likewise.
2599
2600 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2601
2602         * c-decl.c: Fix comment formatting.
2603         * cfgrtl.c: Likewise.
2604         * combine.c: Likewise.
2605         * convert.c: Likewise.
2606         * dominance.c: Likewise.
2607         * dwarf2out.c: Likewise.
2608         * dwarfout.c: Likewise.
2609         * expmed.c: Likewise.
2610         * fold-const.c: Likewise.
2611         * gcov.c: Likewise.
2612         * genattrtab.c: Likewise.
2613         * ggc-common.c: Likewise.
2614         * mips-tfile.c: Likewise.
2615         * regmove.c: Likewise.
2616
2617 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2618
2619         * builtin-attrs.def: Fix comment formatting.
2620         * c-pretty-print.c: Likewise.
2621         * diagnostic.h: Likewise.
2622         * langhooks.h: Likewise.
2623         * recog.c: Likewise.
2624         * simplify-rtx.c: Likewise.
2625         * tree.def: Likewise.
2626
2627 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
2628
2629         * config/m68k/m68k-protos.h: Convert to ISO C90.
2630         * config/m68k/m68k.c: Likewise.
2631
2632 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
2633             Paul Dale  <pauli@snapgear.com>
2634             Peter Barada <peter@baradas.org>
2635
2636         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
2637         ColdFire cores.
2638
2639 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
2640
2641         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
2642         * config.gcc (*-*-openbsd): Don't set tm_file.
2643         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2644         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2645         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2646         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2647         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2648         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2649         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2650         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2651         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2652         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2653         xscale-*-coff): Use explicit and complete lists of target headers
2654         to include.  Move definitions to tm_defines where appropriate.
2655         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2656         not-yet-contributed configuration.
2657
2658         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2659         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2660         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2661         * config/i386/nto.h, config/iq2000/iq2000.h,
2662         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2663         * config/m68k/linux.h, config/m68k/m68k-aout.h
2664         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2665         * config/m68k/netbsd.h, config/m68k/openbsd.h
2666         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2667         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2668         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2669         Remove includes of other target config headers, and
2670         definitions of macros moved to tm_defines lists.  Add #undefs
2671         where now necessary to prevent redefinition warnings.
2672
2673         * config/h8300/coff.h: New file split out of...
2674         * config/h8300/elf.h: ...here.
2675         * config/m68k/hp320base.h: New file split out of...
2676         * config/m68k/hp320.h: ...here.
2677         * config/rs6000/lynxbase.h: New file split out of...
2678         * config/rs6000/lynx.h: ...here.
2679
2680         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2681         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2682
2683         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2684         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2685         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2686         Remove unnecessary #ifndef.
2687         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2688         [under IN_LIBGCC2] with config/.
2689
2690 2003-08-21  Per Bothner  <pbothner@apple.com>
2691
2692         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
2693         to cpp_push_buffer.
2694         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
2695         by return_at_eof check.  Always call _cpp_pop_buffer at end.
2696
2697 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
2698
2699         PR target/11805
2700         * config/h8300/h8300.md (two anonymous patterns): Remove.
2701
2702 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
2703
2704         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2705         * config/mips/mips.c (function_arg_pass_by_reference): Never return
2706         true for n32 & n64.
2707
2708 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
2709
2710         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2711         and similarly in (A | C) == D where C & ~D != 0.
2712
2713 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
2714
2715         PR 8180
2716         * configure.in: When testing with_libs and with_headers, treat
2717         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
2718         * configure: Regenerate.
2719
2720 2003-08-20  Peter Barada <peter@baradas.org>
2721
2722         * longlong.h (umul_ppmm): Add ColdFire support.
2723
2724 2003-08-20  Peter Barada <peter@baradas.org>
2725             Bernardo Innocenti  <bernie@develer.com>
2726
2727         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2728         * config/m68k/m68k.h: Likewise.
2729         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2730         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2731         * config/m68k/linux.h: Likewise.
2732         * config/m68k/m68k.c: Likewise.
2733         * config/m68k/m68k.md: Likewise.
2734         * config/m68k/m68kelf.h: Likewise.
2735         * config/m68k/netbsd-elf.h: Likewise.
2736         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2737
2738 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
2739
2740         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2741         * config/m68k/m68k.md: Likewise.
2742
2743 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
2744
2745         PR java/11996
2746         Revert this change:
2747         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2748         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2749         types with precisions other than those given by native machine
2750         modes.
2751
2752 2003-08-20  Gunther Nikl  <gni@gecko.de>
2753
2754         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2755         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2756         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2757         * config/m68k/m68k.md (anonymous define_insn): Likewise
2758         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2759         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2760         code selected by NO_ASM_FMOVECR
2761
2762 2003-08-20  Gunther Nikl  <gni@gecko.de>
2763
2764         * config/m68k/m68k.c (output_move_const_into_data_reg,
2765         output_move_himode): unify MOTOROLA/MIT handling of moveq
2766         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2767         Likewise
2768
2769 2003-08-20  Gunther Nikl  <gni@gecko.de>
2770
2771         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2772         label name
2773         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2774         HOST_WIDE_INT_PRINT_DEC with %wd
2775
2776 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
2777
2778         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2779         redefine warning.
2780
2781 2003-08-20  Roger Sayle  <roger@eyesopen.com>
2782
2783         PR middle-end/11984
2784         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2785         operands before calling tree_int_cst_lt when performing associative
2786         transformations.
2787
2788 2003-08-20  Jason Merrill  <jason@redhat.com>
2789
2790         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2791         (EXPR_CHECK): Don't check for 'r' or 's' if we're
2792         checking IS_EXPR_CODE_CLASS.
2793         * calls.c (calls_function_1): Likewise.
2794         * fold-const.c (fold): Likewise.
2795         * tree.c (iterative_hash_expr): Likewise.
2796         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2797
2798 2003-08-20  Gunther Nikl  <gni@gecko.de>
2799
2800         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2801         depending on MOTOROLA_BSR
2802         * config/m68k/m68k.md (anonymous define_insn): Likewise
2803
2804 2003-08-20  Jason Merrill  <jason@redhat.com>
2805
2806         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2807         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2808         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2809         * dojump.c (do_jump): Likewise.
2810         * fold-const.c (operand_equal_p, fold): Likewise.
2811         (tree_expr_nonnegative_p): Likewise.
2812
2813         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2814         TYPE_USER_ALIGN for FIELD_DECLs.
2815
2816         * attribs.c (decl_attributes): Rebuild the function pointer type after
2817         changing the target type.
2818         * tree.c (get_qualified_type): Also check that the attributes match.
2819
2820 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
2821
2822         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2823         * objc/config-lang.in (stagestuff): ... to here.
2824
2825 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2826
2827         PR c++/11946
2828         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2829         NOP_EXPR) when necessary.
2830         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2831         types with precisions other than those given by native machine
2832         modes.
2833
2834 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2835
2836         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2837         because some macro is defined.
2838
2839         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2840         options.
2841         * config/i386/darwin.h (ASM_SPEC): New.
2842         (SUBTARGET_EXTRA_SPECS): New.
2843         * config/rs6000/darwin.h (ASM_SPEC): New.
2844         (SUBTARGET_EXTRA_SPECS): New.
2845         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2846         a cross-compiler between two different processors on Darwin.
2847         * configure: Regenerate.
2848
2849 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2850
2851         * builtins.c: Fix comment typos.
2852         * c-common.c: Likewise.
2853         * c-decl.c: Likewise.
2854         * c-pretty-print.c: Likewise.
2855         * cfgbuild.c: Likewise.
2856         * cfglayout.c: Likewise.
2857         * cfgloopanal.c: Likewise.
2858         * cgraphunit.c: Likewise.
2859         * cppfiles.c: Likewise.
2860         * dwarfout.c: Likewise.
2861         * expr.c: Likewise.
2862         * fold-const.c: Likewise.
2863         * gcse.c: Likewise.
2864         * ggc-page.c: Likewise.
2865         * haifa-sched.c: Likewise.
2866         * pretty-print.c: Likewise.
2867         * tree.c: Likewise.
2868         * tree.h: Likewise.
2869         * value-prof.c: Likewise.
2870
2871 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2872
2873         * c-decl.c: Follow spelling conventions.
2874         * cppfiles.c: Likewise.
2875
2876 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2877
2878         * c-common.c: Fix comment formatting.
2879         * c-common.h: Likewise.
2880         * c-decl.c: Likewise.
2881         * cppinit.c: Likewise.
2882         * cpplib.h: Likewise.
2883         * emit-rtl.c: Likewise.
2884         * input.h: Likewise.
2885         * line-map.h: Likewise.
2886         * opts.c: Likewise.
2887         * opts.h: Likewise.
2888         * simplify-rtx.c: Likewise.
2889
2890 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
2891
2892         * unwind-c.c: Add libgcc-style exception.
2893         * unwind-dw2.c: Likewise.
2894         * unwind-pe.h: Likewise.
2895         * unwind-sjlj.c: Likewise.
2896         * unwind.inc: Likewise.
2897
2898 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2899
2900         PR c/5582 PR c++/10538
2901         * langhooks-def.h (lhd_decl_uninit): Declare.
2902         (LANG_HOOKS_DECL_UNINIT): New macro.
2903         (LANG_HOOKS_INITIALIZER): Adjust.
2904         * langhooks.h (struct lang_hooks): Add new field
2905         decl_uninit.
2906         * langhooks.c (lhd_decl_uninit): Define.
2907         * c-common.c (c_decl_uninit_1): New function.
2908         (c_decl_uninit): New function.
2909         (warn_init_self): Define.
2910         * c-common.h (c_decl_uninit): Declare.
2911         (warn_init_self): Declare.
2912         * c.opt: Introduce -Winit-self.
2913         * c-opts.c (c_common_handle_options): Set warn_init_self.
2914         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2915         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
2916         * function.c (uninitialized_vars_warning): Call the language hook.
2917         * doc/invoke.texi: Document -Winit-self.
2918
2919 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
2920
2921         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2922         to use better predicates and constraints.  Define new
2923         instruction to handle "trap_if" with DI-mode arguments.
2924         (conditional_trap): FAIL if trap code is not 0.
2925
2926 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2927
2928         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2929         strstr with $pb to a strcompare with "<pic base>"
2930         (ix86_output_addr_diff_elt): Output the real pic base.
2931
2932 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2933
2934         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2935         (LANG_HOOKS_INITIALIZER): Correct.
2936         * c-lang.c: Likewise.
2937
2938 2003-08-19  Jan Hubicka  <jh@suse.cz>
2939
2940         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2941         (cgraph_varpool_mark_needed_node): Likewise.
2942         * cgraph.h (notice_global_symbol): Declare
2943         * varasm.c (notice_global_symbol): Break out from ...
2944         (assemble_start_function): ... here; update for variables.
2945         (assemble_variable): Use notice_global_symbol.
2946
2947 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2948
2949         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2950         expect SFmode and DFmode arguments to be passed in FPRs,
2951         regardless of the underlying type.
2952
2953 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2954
2955         PR target/11924
2956         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2957         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2958
2959 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
2960
2961         PR c/11207
2962         * c-typeck.c (set_init_index): Check for negative index.
2963
2964 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
2965
2966         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2967         call0 ABI.
2968         * config/xtensa/crtn.asm (_init, _fini): Likewise.
2969         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2970         __umodsi3, __modsi3): Likewise.
2971         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2972         $(INCLUDES).
2973
2974 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
2975
2976         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2977
2978 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2979
2980         * config/mips/mips.md: Quote C code in braces.  Remove use of
2981         fake const0_rtx operands.  Remove double backslashes.  Use \;.
2982         Remove workarounds for bogus warnings.
2983
2984 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2985
2986         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2987         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2988         rather than TARGET_MIPS4300.
2989         (mulsf3_internal, mulsf3_r4300): Likewise.
2990
2991 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2992
2993         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
2994
2995 2003-08-17  Roger Sayle  <roger@eyesopen.com>
2996
2997         * simplify-rtx.c (associative_constant_p): New function to test
2998         whether an RTX expression is an immediate constant.
2999         (simplify_associative_operation): New function to perform some
3000         reassociation optimizations of associative binary expressions.
3001         (simplify_binary_operation): Use simplify_associative_operation
3002         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
3003         Floating point expressions are only reassociated when unsafe
3004         math optimizations are permitted.
3005
3006 2003-08-17  Andreas Jaeger  <aj@suse.de>
3007
3008         * config/alpha/alpha.md: Remove usage of PARAMS.
3009
3010         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
3011         * config/i386/i386-interix.h: Likewise.
3012         * config/i386/winnt.c: Likewise.
3013         * config/i386/cygming.h: Likewise.
3014         * config/i386/cygwin2.c: Likewise.
3015         * config/darwin.c: Likewise.
3016         * config/darwin-c.c: Likewise.
3017         * config/darwin-protos.h: Likewise.
3018         * config/darwin.h: Likewise.
3019         * config/s390/s390-protos.h: Likewise.
3020         * config/s390/s390.c: Likewise.
3021         * config/ia64/ia64.c: Likewse
3022         * config/ia64/ia64-protos.h: Likewise.
3023         * config/ia64/ia64-c.c: Likewise.
3024
3025 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3026
3027         * config/sparc/sparc.c: Convert to ISO C.
3028
3029         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
3030         * config/sparc/sparc.c: Likewise.
3031
3032 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
3033
3034         PR c++/11512
3035         * stmt.c (expand_expr_stmt_value): Don't warn about any void
3036         typed expression.
3037
3038 2003-08-16  Jan Hubicka  <jh@suse.cz>
3039
3040         * i386.c (ix86_fntype_regparm): Rename from ...
3041         (ix86_function_regparm): ... this one; add fastcall and local
3042         functions.
3043         (ix86_function_ok_for_sibcall): Update.
3044         (ix86_return_pops_args): Likewise.
3045         (init_cumulative_args): Likewise.
3046         (x86_can_output_mi_thunk): Likewise.
3047         (function_arg): Fix formating.
3048         (x86_this_parameter): Fix fastcall.
3049         (x86_output_mi_thunk): Likewise.
3050
3051         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
3052         body as reachable; mark nested functions as needed too.
3053         (dump_cgraph): Do not output global.calls.
3054         * cgraph.h (cgraph_global_info): Kill.
3055         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
3056         (record_call_1): Speedup.
3057         (cgraph_analyze_function): Break out from ...; compute inlining
3058         parameters.
3059         (cgraph_finalize_compilation_unit): ... here.
3060         (cgraph_mark_inline): Kill computation of calls.
3061         (cgraph_decide_inlining): Do not compute most of initial values.
3062
3063 2003-08-14  Roger Sayle  <roger@eyesopen.com>
3064
3065         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
3066         to negate if either operand is easy to negate, if we don't care
3067         about sign-dependent rounding.
3068         (negate_expr): Make the logic to negate a REAL_CST explicit.
3069         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
3070         that's easy to negate, if we don't honor sign-dependent rounding.
3071         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
3072         negate, and the symmetric A * -B as -A * B if A is easy to negate.
3073         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
3074         -C/D if B and C are cheap to negate.  Add an explicit rule to
3075         optimize X/-1.0 as -X when we don't care about signaling NaNs.
3076
3077 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
3078
3079         * Makefile.in (tm_file): Rename tm_include_list.
3080         (tm_p_file): Rename tm_p_include_list.
3081         (build_xm_file): Rename build_xm_include_list.
3082         (host_xm_file): Rename host_xm_include_list.
3083         (xm_file): Rename xm_include_list.
3084         (xm_file_list): Add to be substituted.
3085         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
3086         Update to match.
3087         (bt-load.o): Add missing dependency on $(TM_H).
3088         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
3089         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
3090         build_xm_file, generate both *_file_list and *_include_list
3091         values from it.  (xm_file_list was formerly not being generated.)
3092         In *_include_list, prefix the names of all headers found in
3093         $(srcdir)/config with config/.  In each loop, consider only
3094         the special case files that can actually appear in that list.
3095         AC_SUBST all *_file_list and all *_include_list variables; do
3096         not AC_SUBST the plain *_file variables.
3097         * configure: Regenerate.
3098
3099 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3100
3101         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
3102
3103 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3104
3105         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
3106         direct calls.
3107         (attr_length_call): Include it here.  Improve length estimate for
3108         local calls.
3109         (output_call): Use targetm.binds_local_p.
3110
3111 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3112
3113         * builtins.c (CASE_MATHFN): New helper macro.
3114         (mathfn_built_in): Simplify and sort.
3115
3116         * protoize.c (substr): Delete, callers changed to `strstr'.
3117
3118 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
3119
3120         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
3121         * config/iq2000/xm-iq2000.h: Delete file.
3122
3123 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
3124
3125         * gengtype.c (walk_type): Process a subobject before processing
3126         the pointer that points to the subobject.
3127
3128 2003-08-13  Per Bothner  <pbothner@apple.com>
3129
3130         * regclass.c (init_reg_modes):  Make non-static.
3131         Rename to init_reg_modes_once per new naming convention.
3132         (init_regs):  Don't call init_reg_modes here.
3133         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
3134         * rtl.h (init_reg_modes_once):  New declaration.
3135         * toplev.c (backend_init):  Call init_regs after init_emit_once.
3136
3137 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
3138
3139         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
3140         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
3141
3142 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
3143
3144         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
3145         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
3146
3147 2003-08-13  Dale Johannesen  <dalej@apple.com>
3148
3149         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
3150         handling of decrement-and-branch farther than 32 bits.
3151
3152 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
3153
3154         * configure.in (make_compare_target): Move test to ...
3155         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
3156         * configure: Regenerate.
3157
3158 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
3159
3160         * config/mips/iris6.h: Convert to C90 prototypes.
3161         * config/mips/irix6-libc-compat.c: Likewise.
3162         * config/mips/mips-protos.h: Likewise.
3163         * config/mips/mips.c: Likewise.
3164
3165 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3166
3167         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
3168         for selected machines.  Comment heavily.
3169         fixinc/fixincl.x: Rebuild.
3170         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
3171
3172 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
3173
3174         * config/mips/mips.h: Tweak various comments.
3175         * config/mips/mips.c: Likewise.
3176
3177 2003-08-11  James E Wilson  <wilson@tuliptree.org>
3178
3179         PR optimization/11319
3180         PR target/10021
3181         * alias.c (find_base_value, case REG): Return 0 not src if no base
3182         found.
3183
3184 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3185
3186         * gcse.c (gmalloc): Fix last change.
3187
3188 2003-08-11  Roger Sayle  <roger@eyesopen.com>
3189
3190         * simplify-rtx.c (simplify_binary_operation): Replace calls to
3191         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
3192         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
3193         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
3194
3195 2003-08-11  Roger Sayle  <roger@eyesopen.com>
3196
3197         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
3198         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
3199         typecode for an ABS_EXPR.
3200
3201         * doc/c-tree.texi: Document ABS_EXPR.
3202
3203 2003-08-11  Roger Sayle  <roger@eyesopen.com>
3204
3205         * fold-const.c (fold): Optimize any associative floating point
3206         operator with -funsafe-math-optimizations, not just MULT_EXPR.
3207
3208 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
3209
3210         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
3211         information in SHmedia case too.
3212         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
3213         Likewise.
3214         (__set_fpscr): Use an access via GOT for PIC case.
3215
3216 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
3217
3218         * configure.in (intermodule): Make switch test more portable.
3219         * configure: Regenerate.
3220
3221 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
3222
3223         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
3224         (restrap): Likewise.
3225
3226 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3227
3228         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
3229         (grealloc): Size argument is a size_t.
3230         (gcalloc): New function.  Use throughout in lieu of
3231         gmalloc/memset.
3232
3233         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
3234         xmalloc/memset.
3235         * config/ia64/ia64.c (ia64_reorg): Likewise.
3236         * conflict.c (conflict_graph_new): Likewise.
3237         * fixinc/fixincl.c (run_compiles): Likewise.
3238         * genattrtab.c (optimize_attrs): Likewise.
3239         * genrecog.c (new_decision): Likewise.
3240         * haifa-sched.c (schedule_block): Likewise.
3241         * hashtable.c (ht_create): Likewise.
3242
3243 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
3244
3245         * config/xtensa/lib2funcs.S: Fix whitespace.
3246         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
3247         syntax where appropriate.  Remove unnecessary backslash escapes.
3248         Reformat comments and fix some code formatting.
3249         (extendqisi2): Rearrange conditional.
3250         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
3251         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
3252         of fatal_insn.
3253
3254 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
3255
3256         * config/mips/mips.c: Various formatting fixes.
3257         (override_options): Resync -mtune handling with gas.
3258         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
3259         * config/mips/mips.h: More formatting fixes.
3260         (mips_abi): Move declaration.
3261         * config/mips/mips.md (exception_receiver): Add mode to
3262         unspec_volatile.
3263
3264 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
3265
3266         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
3267         evsplatfi here.
3268         (bdesc_1arg): Remove evsplati and evsplatfi.
3269
3270 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
3271
3272         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
3273         into account.
3274
3275 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3276
3277         * builtins.c (expand_builtin_strcat): Optimize constant strings.
3278
3279 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3280
3281         * pretty-print.c (pp_base_indent): Rename from pp_indent.
3282         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
3283         (struct c_pretty_print_info): Add more fields.
3284         (pp_c_left_paren): Move to c-pretty-print.c.
3285         (pp_c_right_paren): Likewise.
3286         (pp_c_left_brace): Likewise.
3287         (pp_c_right_brace): Likewise.
3288         (pp_c_left_bracket): Likewise.
3289         (pp_c_right_bracket): Likewise.
3290         (pp_c_declarator): Declare.
3291         (pp_c_direct_declarator): Likewise.
3292         (pp_c_specifier_qualifier_list): Likewise.
3293         (pp_c_type_id): Likewise.
3294         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
3295         (pp_c_type_qualifier_list): New.
3296         (pp_c_pointer): Likewise.
3297         (pp_c_parameter_type_list): Likewise.
3298         (pp_c_function_definition): Likewise.
3299         (pp_c_id_expression): Likewise.
3300         (pp_c_simple_type_specifier): Tidy.
3301         (pp_c_unary_expression): Likewise.
3302         (pp_c_expression): Likewise.
3303         (pp_c_pretty_printer_init): Likewise.
3304         (pp_c_specifier_qualifier_list): Rework..
3305         (pp_c_abstract_declarator): Likewise.
3306         (pp_c_postfix_expression): Likewise.
3307         (pp_c_primary_expression): Likewise.
3308         (pp_c_cast_expression): Likewise.
3309         (pp_c_direct_abstract_declarator): Likewise.
3310         (pp_c_storage_class_specifier): Likewise.
3311         (pp_c_function_specifier): Likewise.
3312         (pp_c_declaration_specifiers): Likewise.
3313         (pp_c_direct_declarator): Likewise.
3314         (pp_c_declarator): Likewise.
3315         (pp_c_declaration): Likewise.
3316         (pp_c_statement): Likewise.
3317         (pp_c_integer_constant): Rename from pp_c_integer_literal.
3318         (pp_c_character_constant): Rename from pp_c_character_literal.
3319         (pp_c_bool_constant): Rename from pp_c_bool_literal.
3320         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
3321         (pp_c_floating_constant): Rename from pp_c_real_literal.
3322         (pp_c_constant): Rename from pp_c_literal.
3323         * c-lang.c: Include diagnostic.h and c-pretty-print.h
3324         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
3325         (c_initialize_diagnostics): New.
3326         * Makefile.in (c-lang.o): Update dependency.
3327
3328 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
3329
3330         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
3331
3332 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
3333
3334         * config/mips/mips.c (mips_no_mips16_string): Remove.
3335         (override_options): Don't handle -mips16 as part of -mipsN.
3336         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
3337         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
3338         (TARGET_OPTIONS): Remove -mno-mips16.
3339
3340 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
3341
3342         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
3343         (coprocessor2_operand): Likewise.
3344         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
3345         (lookup_name): Remove declaration.
3346         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
3347         (mips16, mips_abicalls): Remove.
3348         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
3349         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
3350         (coprocessor_operand, coprocessor2_operand): Remove.
3351         (override_options): Don't set mips16 or mips_abicalls.
3352         (print_operand): Don't expect SIGN_EXTEND operands.
3353         (mips_secondary_reload_class): Likewise.
3354         (mips_output_conditional_branch): Remove disabled long-branch code.
3355         * config/mips/mips.h (call_used_regs): Remove declaration.
3356         (may_call_alloca): Likewise.
3357         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
3358         (mips_abicalls, mips16): Remove declarations.
3359         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
3360         (CC1_SPEC): Remove outdated comment.
3361         (MIPS_VERSION, MACHINE_TYPE): Remove.
3362         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3363         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
3364         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
3365         (PUSH_ROUNDING): Likewise.
3366         (ASSEMBLER_SCRATCH_REGNUM): Remove.
3367         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
3368         and mips16 with TARGET_MIPS16.
3369
3370 2003-08-09  Per Bothner  <pbothner@apple.com>
3371
3372         * cppinit.c (cpp_read_main_file):  Split out source-independent
3373         initialization to separate function ...
3374         (cpp_post_options):  New function.
3375         * cppfiles.c (cpp_stack_file):  Rename public name to ...
3376         (_cpp_stack_file):  New internal function name.
3377         * cpplib.h:  Update accordingly.
3378         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
3379         (cpp_read_main_file):  Don't initialize line here.
3380         * c-opts.c (c_common_post_options):  Call cpp_post_options.
3381         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
3382         * fix-header.c (read_scan_file):  Call cpp_post_options.
3383
3384 2003-08-09  Per Bothner  <per@bothner.com>
3385
3386         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
3387
3388 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3389
3390         * pa.c (pa_asm_output_mi_thunk): Fix typo.
3391
3392 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
3393
3394         PR preprocessor/11839
3395         * cppfiles.c (open_file): Handle ENOTDIR.
3396
3397 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
3398
3399         PR target/11699
3400         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
3401
3402 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3403
3404         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
3405         source/destination is not a register operand.
3406
3407 2003-08-08  Richard Henderson  <rth@redhat.com>
3408
3409         PR target/11535
3410         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
3411         RETURN_ADDRESS_POINTER_REGNUM.
3412         (ia64_expand_prologue): Don't frob it.
3413         (ia64_output_function_epilogue): Likewise.
3414         (ia64_return_addr_rtx): New.
3415         (ia64_split_return_addr_rtx): New.
3416         * config/ia64/ia64-protos.h: Update.
3417         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
3418         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
3419         (GENERAL_REGNO_P): Don't check it.
3420         (AR_*_REGNUM): Renumber.
3421         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
3422         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
3423         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
3424         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
3425         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
3426         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
3427         (movdi_ret_addr): New.
3428
3429 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
3430
3431         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
3432
3433 2003-08-08  Roger Sayle  <roger@eyesopen.com>
3434
3435         * tree.h (get_identifier) Define a macro form of get_identifier
3436         that calls get_identifier_with_length when the string is constant.
3437         (get_identifier_with_length): Change type of second argument to
3438         size_t in prototype.
3439         * stringpool.c (get_identifier): Undefine the macro before giving