OSDN Git Service

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