OSDN Git Service

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