OSDN Git Service

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