OSDN Git Service

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