Cleaned up Jan's ChangeLog entries
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
2
3         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
4
5 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
6
7         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
8         ATTRIBUTE_UNUSED.
9         (call_insn_operand): For PIC, don't allow a direct call to a
10         function in a different section than the current one.
11
12 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13         
14         * doc/invoke.texi (Warning Options): Add missing hyphen before
15         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
16         Move "-Wold-style-definition" to the C-only section.
17         Fix the ordering of the warning options.
18
19 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20             Jeff Law  <law@redhat.com>
21
22         * gcse.c (remove_reachable_equiv_notes): New.
23         replace_store_insn): Call it.  Update antic list.
24         (store_killed_in_insn): Take REG_EQUAL notes into account.
25         (build_store_vectors, delete_store): Add parameter to
26         replace_store_insn call.
27
28 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
29
30         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
31         SYMBOL_REF_LOCAL_P.
32
33 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
34
35         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
36         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
37         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
38         Likewise.
39         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
40         Likewise.
41         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
42         * config/sparc/sparc.c (function_arg_padding): Likewise.
43
44 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
45
46         * haifa-sched.c (schedule_block): Use ready_remove_first instead
47         of choose_ready for non-dfa insn scheduling.
48
49 2003-09-15  Andreas Jaeger  <aj@suse.de>
50             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
51
52         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
53         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
54         * c-parse.in: Warn about old-style parameter definition.
55         * c-common.c: Define warn_old_style_defintion.
56         * c-common.h: Declare it.
57         * c.opt: Add Wold-style-defintion.
58
59 2003-09-15  Andreas Jaeger  <aj@suse.de>
60
61         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
62         * config/rs6000/rs6000.c: Likewise.
63
64 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
65
66         PR optimization/10914
67         * expr.h (get_condition, canonicalize_condition): Declaration changed.
68         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
69         and canonicalize_condition calls.
70         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
71         delete_null_pointer_checks): Ditto.
72         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
73         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
74         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
75         (canonicalize_condition, get_condition): Allow to return comparisons
76         of cc mode registers.
77         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
78         cc mode registers comparison in condition.
79
80 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
81
82         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
83         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
84         function.
85         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
86         
87 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
88
89         * combine.c (simplify_comparison): Convert
90         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
91         (eq (and (lshiftrt X Y) 1) 0).
92
93 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
94
95         * alias.c: Follow spelling conventions.
96         * cpphash.h: Likewise.
97         * fold-const.c: Likewise.
98
99 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
100
101         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
102         * c-lex.c (cb_line_change): Skip line changing whenever
103         c-ppoutput.c would.
104
105 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
106
107         * ra.c: Convert to ISO C90 prototypes.
108         * ra-build.c: Likewise.
109         * ra-colorize.c: Likewise.
110         * ra-debug.c: Likewise.
111         * ra-rewrite.c: Likewise.
112
113 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
114
115         * Makefile.in (%.dvi): Remove excess $(docdir).
116
117 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
118
119         * function.c (STACK_BYTES): Move definition to head of file.
120         (assign_parms): Don't pass current_function_pretend_args_size
121         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
122         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
123         excess before laying out the argument.
124
125 2003-09-14  Andreas Jaeger  <aj@suse.de>
126
127         * objc/objc-act.c: Convert to ISO C90 prototypes.
128         * objc/objc-act.h: Likewise.
129
130 2003-09-14  Olaf Hering  <olh@suse.de>
131
132         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
133
134 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
135
136         PR target/12021
137         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
138         as they already are done in config/m68k/m68k.h.
139         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
140
141         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
142         (machopic_output_stub): Only generate pic base symbols when using pic
143         and generate them in the form L00000000$spb.
144
145 2003-09-13  Richard Henderson  <rth@redhat.com>
146
147         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
148         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
149         * cgraph.h: Update.
150
151 2003-09-12  Dale Johannesen  <dalej@apple.com>
152
153         * config/rs6000/rs6000.c: Fix typos in previous.
154
155 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
156
157         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
158         when allocating pp->buffer.
159
160 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
161
162         * config/darwin.c (machopic_select_rtx_section): Use
163         const_data_section for things that might require relocation.
164
165 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
166
167         PR bootstrap/12264
168         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
169
170 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
171         
172         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
173         * config/xtensa/linux.h (ASM_SPEC): Likewise.
174         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
175         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
176         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
177         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
178         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
179         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
180         and redefine corresponding TARGET_* macros with constants from the
181         xtensa-config.h header.
182         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
183         for the options listed above.
184         
185 2003-09-12  Dale Johannesen  <dalej@apple.com>
186
187         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
188         * config/rs6000/rs6000-c.c:  Ditto. 
189         * config/rs6000/rs6000.c:  Ditto.
190         * config/rs6000/ sysv4.h:  Ditto.
191
192 2003-09-12  Chris Lattner <sabre@nondot.org>
193
194         * loop.c: Move comments describing BIV's and GIV's to top of file
195
196 2003-09-12  Roger Sayle  <roger@eyesopen.com>
197
198         PR optimization/8967
199         * alias.c (write_dependence_p): Modify to take an additional constp
200         argument that controls whether the UNCHANGING_RTX_P flags are used.
201         (anti_dependence, output_dependence): Adjust write_dependence_p
202         callers to pass this additional argument, to return the same result.
203         (unchanging_anti_dependence): New variant of anti_dependence that
204         ignores the UNCHANGING_RTX_P property on memory references.
205         * rtl.h (unchaning_anti_dependence): Prototype here.
206         * flow.c (init_propagate_block): Place fake constant mem writes on
207         the mem_set_list so that dead writes to const variables are deleted.
208         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
209         (mark_used_regs): Likewise.
210
211 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
212
213         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
214         (mcore_secondary_reload_class): Declare.
215         (mcore_output_inline_const_forced): Remove.
216         * config/mcore/mcore.md (movsi): Remove the code that forced
217         non-inlineable constants into a register if the target was r15
218         or the stack pointer.  Remove constant restrictions from the main
219         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
220         of an r <- P alternative.  Remove fallback define_insn for reload.
221         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
222         define_insn.  Use mcore_output_move in the remaining define_insn.
223         Adjust condition and constraints in the way as for movsi.
224         (movdi): Always split unacceptable constants into two.  Use
225         simplify_gen_subreg instead of operand_subword{,_force}.
226         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
227         (mcore_output_move): Support HImode and QImode moves as well.
228         (mcore_m15_operand_p): New function.
229         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
230         (mcore_secondary_reload_class): New function.
231         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
232         terms of mcore_secondary_reload_class.
233
234 2003-09-11  Mike Stump  <mrs@apple.com>
235
236         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
237
238 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
239
240         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
241         MODE exactly, then only convert logN(N) -> 1.0 if
242         flag_unsafe_math_optimizations is set.
243
244         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
245         init_builtin_dconsts): Delete.
246         * emit-rtl.c (dconstpi, dconste): Define.
247         (init_emit_once): Initialize dconstpi & dconste.
248         * real.h (dconstpi, dconste): Declare.
249
250 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
251
252         PR fortran/11522
253         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
254         for ultimate origin even if block is abstract.
255
256 2003-09-11  Roger Sayle  <roger@eyesopen.com>
257
258         * combine.c (combine_simplify_rtx): Move several NOT and NEG
259         optimizations from here...
260         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
261         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
262
263 2003-09-11  Richard Henderson  <rth@redhat.com>
264
265         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
266         Tweek tests for function already generated.
267         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
268         * cgraph.h (cgraph_finalize_function): Update for extra arg.
269         * c-decl.c (finish_function): Likewise.
270
271 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
272
273         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
274
275 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
276
277         * real.c: Update URL to VAX floating point docs.
278         (decode_vax_d): Extract 8 exponent bits instead of 7.
279
280 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
281
282         * combine.c (force_to_mode): Set fuller_mask based only on mask,
283         not op_mode.
284
285 2003-09-11  Jan Hubicka  <jh@suse.cz>
286
287         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
288         on why function is not inlinable; do not check
289         the body.
290         (inline_forbidden_p): Move to...
291         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
292         deal with alloca, longjmp.
293         (inline_forbidden_p): New static function.
294         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
295         find_builtin_longjmp_call): Kill.
296
297 2003-09-10  Richard Henderson  <rth@redhat.com>
298
299         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
300         * cgraphunit.c: Update to match.
301         (record_call_1): Rearrange.  Call lang hook for language nodes.
302         (cgraph_analyze_function): Don't call lower_function.
303         * langhooks.h (struct lang_hooks_for_callgraph): Replace 
304         lower_function with analyze_expr.
305         * langhooks-def.h: Update to match.
306         * langhooks.c (lhd_callgraph_analyze_expr): New.
307
308 2003-09-10  Martin Husemann  <martin@duskware.de>
309
310         PR target/11965
311         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
312         constants greater than 63.
313         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
314         against constants greater than 31.
315         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
316         constants greater than 63.
317
318 2003-09-09  Richard Henderson  <rth@redhat.com>
319
320         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
321         * cgraph.h (cgraph_finalize_function): Update.
322         * c-decl.c (finish_function): Update.
323
324 2003-09-09  Devang Patel  <dpatel@apple.com>
325
326         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
327         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
328         
329 2003-09-09  Eric Christopher  <echristo@redhat.com>
330
331         * configure.in: Change usage of 'head' to 'sed 1q'.
332         * configure: Regenerate.
333
334 2003-09-09  Richard Henderson  <rth@redhat.com>
335
336         * except.c: Include cgraph.h.
337         (output_function_exception_table): Invoke
338         cgraph_varpool_mark_needed_node.
339         * Makefile.in (except.o): Update.
340
341 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
342
343         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
344         and use it throughout.
345
346 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
347
348         * builtins.c (real_dconstp, fold_builtin_logarithm,
349         fold_builtin_exponent): New, split out from fold_builtin.  Also
350         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
351         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
352         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
353         of hardcoded array size.
354         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
355         (tree_expr_nonnegative_p): Likewise.
356         * real.h (dconst3, dconst10, dconstthird): New.
357
358 2003-09-09  Jan Hubicka  <jh@suse.cz>
359
360         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
361         inline functions.
362         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
363         DECL_SAVED_TREE.
364
365 2003-09-09  Roger Sayle  <roger@eyesopen.com>
366
367         * builtins.c (fold_builtin_cabs): Protect the complex argument
368         against multiple evaluation when optimizing cabs* into sqrt*.
369
370 2003-09-09  Jan Hubicka  <jh@suse.cz>
371
372         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
373
374 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
375
376         * Makefile.in: Revert yesterday's change.
377
378 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
379             Peter Barada <peter@baradas.org>
380
381         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
382         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
383         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
384         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
385         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
386         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
387         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
388         (m68k_compute_frame_layout): New function.
389         (m68k_initial_elimination_offset): New function.
390         (m68k_output_function_prologue): ColdFire-specific movem handling.
391         (m68k_output_function_epilogue): Likewise.
392         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
393         (ARG_POINTER_REGNUM): Add new definition.
394         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
395         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
396         (CAN_ELIMINATE): Likewise.
397         (INITIAL_ELIMINATION_OFFSET): Likewise.
398
399 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
400
401         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
402         by removing redundant variable cfa_store_offset.
403
404 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
405
406         * langhooks-def.h (lhd_register_builtin_type): New function.
407         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
408         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
409         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
410         * langhooks.c (lhd_register_builtin_type): New function.
411         * c-common.h (c_register_builtin_type): Declare.
412         * c-common.c (c_register_builtin_type): New function.
413         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
414         c_register_builtin_type.
415         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
416         __float80, and __float128 macros.
417         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
418         __float80, and __float128 types.
419
420 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
421
422         * builtin-types.def
423         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
424         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
425         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
426         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
427         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
428         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
429         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
430         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
431         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
432         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
433         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
434         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
435         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
436         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
437         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
438         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
439         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
440         New.
441         * doc/extend.texi: Document new builtins.
442
443 2003-09-09  Jan Hubicka  <jh@suse.cz>
444
445         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
446         finalization.
447         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
448         functions, check for COMDAT.
449         (cgraph_assemble_pending_functions): Break out from...
450         (cgraph_finalize_function): ... here; allow redefinig of extern inline
451         functions.
452         (record_call_1): Record function references only in non-unit-at-a-time
453         mode.
454         (cgraph_analyze_function): Reset current_function_decl.
455         (cgraph_finalize_compilation_unit):  Assemble pending functions.
456
457 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
458
459         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
460         (libgov.a): Likewise.
461         (libgcc_eh.a): Likewise.
462
463 2003-09-08  Roger Sayle  <roger@eyesopen.com>
464
465         * fold-const.c (operand_equal_p): Clarify documentation.
466
467 2003-09-08  Richard Henderson  <rth@redhat.com>
468
469         * c-decl.c (c_expand_body_1): Push and pop function context here.
470         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
471         nested argument instead of computing nesting ourselves.
472
473 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
474
475         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
476         regstack if optimizing but not scheduling after reload.
477
478 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
479
480         * config/sparc/sparc.c (struct machine_function): New type.
481         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
482         (sparc_override_options): Initialize init_machine_status.
483         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
484         tie_symbolic_operand, tle_symbolic_operand): New functions.
485         (symbolic_operand): Disallow tls_symbolic_operand.
486         (symbolic_memory_operand): Likewise.
487         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
488         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
489         New functions.
490         (sparc_tls_symbol): New variable.
491         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
492         legitimize_address): New functions.
493         (print_operand): Handle %&.
494         (sparc_init_machine_status, get_some_local_dynamic_name,
495         get_some_local_dynamic_name_1): New functions.
496         (sparc_output_dwarf_dtprel): New function.
497         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
498         constant_address_p.
499         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
500         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
501         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
502         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
503         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
504         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
505         (ASM_OUTPUT_DWARF_DTPREL): Define.
506         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
507         tie_symbolic_operand, tle_symbolic_operand.
508         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
509         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
510         (tls_call_delay): New attribute.
511         (in_call_delay): Use it.
512         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
513         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
514         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
515         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
516         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
517         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
518         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
519         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
520         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
521         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
522         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
523         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
524         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
525         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
526         insns.
527         * config/sparc/sparc-protos.h (legitimate_constant_p,
528         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
529         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
530         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
531         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
532         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
533         * configure.in (sparc*-*-*): Add TLS check.
534         * configure: Rebuilt.
535
536 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
537
538         PR target/11689
539         * config/i386/i386.c (memory_address_length): Fix computation when
540         the base is esp or ebp.
541
542 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
543
544         PR c++/11852
545         * varasm.c (initializer_constant_valid_p): Correct logic for
546         CONSTRUCTORs.
547
548 2003-09-07  Roger Sayle  <roger@eyesopen.com>
549
550         * expr.c (expand_operands): New function to expand an operand pair.
551         (expand_expr): Call expand_operands whenever we need to expand both
552         operands of a binary operator.
553         (do_store_flag): Likewise for operands of comparison operations.
554
555 2003-09-07  Roger Sayle  <roger@eyesopen.com>
556
557         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
558         (-A)*B if we care about sign-dependent rounding.
559
560 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
561
562         * c-pretty-print.h (pp_c_left_brace): Declare.
563         (pp_c_right_brace): Likewise.
564         * c-pretty-print.c (pp_c_left_brace): Now a function
565         (pp_c_right_brace): Likewise.
566
567 2003-09-07  Jan Hubicka  <jh@suse.cz>
568
569         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
570
571 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
572
573         * diagnostic.c (warn_deprecated_use): Move to toplev.c
574
575 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
576
577         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
578         * Makefile.in (langhooks.o): Depend on diagnostic.h
579
580 2003-09-06  James E Wilson  <wilson@tuliptree.org>
581
582         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
583         simplify.
584
585 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
586
587         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
588         and use it throughout.
589
590 2003-09-07  Jan Hubicka  <jh@suse.cz>
591
592         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
593
594         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
595         virables.
596
597         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
598         functions.
599         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
600
601 2003-09-06  Jan Hubicka  <jh@suse.cz>
602
603         PR target/12070
604         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
605
606         PR opt/12082
607         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
608
609 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
610
611         * diagnostic.c (announce_function): Move to toplev.c.
612
613 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
614
615         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
616         volatile mem.
617
618 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
619
620         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
621         when gc checking is enabled.
622
623 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
624
625         PR c/9862
626         * c-decl.c (c_expand_body_1): Move return warning from here...
627         (finish_function): ...to here.
628
629 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
630
631         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
632         a subset of the input class.
633
634 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
635
636         * config/i860/i860.c: Follow spelling conventions.
637         * config/i860/i860.h: Likewise.
638         * config/sh/sh.h: Likewise.
639
640 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
641
642         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
643         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
644         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
645
646 2003-09-05  Roger Sayle  <roger@eyesopen.com>
647             Richard Henderson  <rth@redhat.com>
648
649         PR optimization/1823
650         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
651         multiplication to implement division by constant integer.
652
653 2003-09-05  Jan Hubicka  <jh@suse.cz>
654
655         * opts.c (decode_options): Enable unit-at-a-time at -O2.
656         * params.def (max-inline-insns-single): Set to 500
657         (max-inline-insns-auto): Set to 150
658         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
659
660 2003-09-04  Richard Henderson  <rth@redhat.com>
661
662         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
663         (cgraph_mark_needed_node): Remove needed argument.
664         * cgraph.h: Update to match.
665         * cgraphunit.c (decide_is_function_needed): Split out from ...
666         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
667         if we generated the function.
668         (record_call_1): Update for cgraph_mark_reachable_node.
669         * varasm.c (mark_referenced): Likewise.
670         * objc/objc-act.c (mark_referenced_methods): Likewise.
671
672 2003-09-04  DJ Delorie  <dj@redhat.com>
673
674         * targhooks.c: Add comment explaining the migration process.
675
676 2003-09-04  Eric Christopher  <echristo@redhat.com>
677
678         * config/frv/t-frv: Fix path for frv-abi.h.
679         * config/frv/frv-asm.h: Fix string concatenation.
680
681 2003-09-04  DJ Delorie  <dj@redhat.com>
682
683         * builtins.c (apply_args_size): Guard against a NULL cfun.
684         (expand_builtin_apply_args_1): Likewise.
685         (expand_builtin_apply): Likewise.
686         Fixes PR bootstrap/12172.
687
688 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
689
690         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
691         assembler supports Sun syntax for cmov.
692         * configure: Regenerate.
693         * config.in: Likewise.
694         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
695         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
696         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
697         Fixes PR target/12101.
698
699 2003-09-04  Matt Austern  <austern@apple.com>
700
701         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
702         with verbosity 0, instead of DECL_NAME, for human-readable string.
703
704 2003-09-04  Eric Christopher  <echristo@redhat.com>
705
706         * targhooks.c (default_return_in_memory): Allow
707         unconverted ports.
708
709 2003-09-04  Eric Christopher  <echristo@redhat.com>
710
711         * targhooks.c (default_return_in_memory): Fix typo
712         in last checkin.
713
714 2003-09-04  Eric Christopher  <echristo@redhat.com>
715
716         * targhooks.c (default_return_in_memory): Fix default
717         definition.
718
719 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
720
721         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
722         deleted function.
723         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
724         enable coff-only code in m68k.c.
725
726 2003-09-04  Nick Clifton  <nickc@redhat.com>
727
728         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
729         v850e1.
730         * config/v850/v850.h: Accept v850e1 as a default CPU.
731         Accept -mv850e1 as a command line option.
732         * doc/invoke.texi: Document new -mv850e1 command line switch.
733         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
734         -mv850e.
735
736 2003-09-04  Nick Clifton  <nickc@redhat.com>
737
738         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
739         * config/v850/t-v850: Only produce one extra multilib - for
740         the v850e.
741         * config/v850/t-v850e: New file: Only produce one extra
742         multilib - for the v850.
743
744 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
745
746         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
747         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
748         * unwind.h (_Unwind_GetBSP): New prototype.
749         * libgcc-std.ver: Add empty GCC_3.3.2 version.
750         * mkmap-symver.awk: For symbol versions with no exported symbols,
751         don't put anything into version script, just change all symbol
752         versions which inherit from it to inherit from its ancestor.
753
754 2003-09-04  Eric Christopher  <echristo@redhat.com>
755
756         * config/mips/mips.c (mips_expand_prologue): Convert to
757         calls.struct_value_rtx hook.
758         (reg_or_const_float_1_operand): New.
759         * config/mips/mips.h: Update Comments.
760         (mips_arg): Add reg_or_const_float_1_operand.
761         * config/mips/mips.md (divdf3); Convert to expander.
762         (divsf3): Ditto.
763         (*divdf3): New pattern.
764         (*divsf3): Ditto.
765
766 2003-09-04  Jan Hubicka  <jh@suse.cz>
767
768         * toplev.c (wrapup_global_declarations): Fix final pass in
769         unit-at-atime mode.
770
771 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
772
773         * doc/extend.texi: Document removal of cast-as-lvalue extension in
774         C++.
775
776 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
777
778         * gcc.c (process_command): Fix typo.
779
780 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
781
782         optimization/11980
783         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
784         (PTRDIFF_TYPE): Likewise.
785         (WCHAR_TYPE_SIZE): Likewise.
786
787 2003-09-03  DJ Delorie  <dj@redhat.com>
788
789         * targhooks.c: New file.
790         * targhooks.h: New file.
791         * Makefile.in: Add targhooks.o support.
792         (function.o): Depend on$(TARGET_H).
793         (stmt.o): Likewise.
794         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
795         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
796         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
797         (expand_builtin_saveregs): Convert to
798         calls.expand_builtin_saveregs hook.
799         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
800         here, instead of ...
801         (get_parm_info) ... here.
802         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
803         hook.
804         (finish_function): Handle calls.promote_prototypes hook here too.
805         * c-typeck.c (convert_arguments): Convert to
806         calls.promote_prototypes hook.
807         (c_convert_parm_for_inlining): Likewise.
808         * calls.c (initialize_argument_information): Convert to
809         calls.promote_function_args hook.
810         (expand_call): Convert to calls.struct_value_rtx,
811         calls.strict_argument_naming,
812         calls.pretend_outgoing_varargs_named, and
813         calls.promote_function_return hooks.  Pass fndecl to
814         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
815         hooks, so they can use that.
816         (emit_library_call_value_1): Likewise.
817         * combine.c (setup_incoming_promotions): Convert to
818         calls.promote_function_args hook.
819         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
820         * expr.c (expand_assignment): Pass call to aggregate_value_p.
821         (expand_expr): Likewise.
822         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
823         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
824         RETURN_IN_MEMORY macro defaults.
825         * final.c (profile_function): Convert to calls.struct_value_rtx
826         hook.
827         * function.c (aggregate_value_p): Accept function type tree as
828         second parameter; try to deduce fntype from it.  Convert to
829         calls.return_in_memory hook.
830         (assign_parms): Convert to calls.setup_incoming_varargs,
831         calls.strict_argument_naming, calls.promote_function_args,
832         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
833         aggregate_value_p.
834         (expand_function_start): Likewise.  Convert to
835         calls.struct_value_rtx hook.
836         (expand_function_end): Convert to calls.promote_function_return hook.
837         (allocate_struct_function): Pass fndecl to aggregate_value_p.
838         * hard-reg-set.h: Update comments to new hook names.
839         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
840         * reg-stack.c (stack_result): Likewise.
841         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
842         * stmt.c (expand_value_return): Convert to
843         calls.promote_function_return hook.
844         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
845         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
846         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
847         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
848         TARGET_STRICT_ARGUMENT_NAMING,
849         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
850         * target.h: Likewise.
851         * tree.h (aggregate_value_p): Also takes a tree to deduce function
852         attributes from (for target hooks).
853         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
854         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
855         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
856         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
857         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
858         to hooks.
859
860         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
861         to aggregate_value_p.
862         * config/arm/arm.c (arm_init_cumulative_args,
863         arm_output_mi_thunk): Likewise.
864         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
865         Likewise.
866         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
867         mips_can_use_return_insn): Likewise.
868         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
869         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
870         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
871         aggregate_value_p.
872         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
873         function to aggregate_value_p.
874         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
875         aggregate_value_p.
876
877         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
878         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
879         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
880         (sh_handle_renesas_attribute, sh_promote_prototypes,
881         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
882         sh_setup_incoming_varargs, sh_strict_argument_naming,
883         sh_pretend_outgoing_varargs_named): New decls.
884         (targetm): Add new hooks.
885         (calc_live_regs): Save MACL and MACH if the function has the
886         renesas attribute.
887         (sh_expand_prologue): Support renesas attribute.
888         (sh_builtin_saveregs): Make static.
889         (sh_build_va_list): Support renesas attribute.
890         (sh_va_start): Likewise.
891         (sh_va_arg): Likewise.
892         (sh_promote_prototypes): New.
893         (sh_function_arg): New, moved from sh.h.  Support renesas
894         attribute.
895         (sh_function_arg_advance): Likewise.
896         (sh_return_in_memory): Likewise.
897         (sh_strict_argument_naming): Likewise.
898         (sh_pretend_outgoing_varargs_named): Likewise.
899         (sh_struct_value_rtx): New.
900         (sh_attribute): Add renesas attribute.
901         (sh_handle_renesas_attribute): New.
902         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
903         (sh_ms_bitfield_layout_p): Support renesas attribute also.
904         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
905         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
906         -mhitachi.
907         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
908         target hooks.
909         (sh_args): Add renesas_abi flag.
910         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
911         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
912         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
913         stack for the renesas abi.
914         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
915         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
916         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
917         call cookie to indicate renesas calls.
918
919 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
920
921         * gcse.c (replace_one_set): New function.
922         (pre_insert_copy_insn): Change the order of copying
923         to make copy propagation discover additional PRE opportunities.
924
925 2003-09-03  Roger Sayle  <roger@eyesopen.com>
926
927         PR optimization/11700.
928         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
929         of a hard register is representable before trying to simplify it
930         using subreg_hard_regno.
931
932 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
933
934         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
935         * configure: Regenerate.
936
937 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
938
939         * intl.h (N_): Remove parentheses.
940
941 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
942
943         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
944         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
945         definition and code blocks compiled when not defined.
946         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
947         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
948         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
949         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
950
951 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
952
953         * cgraphunit.c (visited_nodes): New static variable.
954         (record_call_1): Use walk_tree with visited_nodes.
955         (cgraph_create_edges): Use walk_tree with visited_nodes.
956         Setup/teardown visited_nodes hashtable.
957
958 2003-09-03  Roger Sayle  <roger@eyesopen.com>
959
960         * toplev.c (flag_rounding_math): New global variable.
961         (f_options): Add to the list of language independent options.
962         * flags.h (flag_rounding_math): Prototype here.
963         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
964         * common.opt (frounding-math): New common command line option.
965         * opts.c (common_handle_option): Handle OPT_frounding_math.
966         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
967
968         * doc/invoke.texi: Document this new command line option.
969
970 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
971
972         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
973
974 2003-09-03  Jan Hubicka  <jh@suse.cz>
975
976         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
977         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
978         * c-objc-common.c: Kill include of gt-c-objc-common.h
979         (expand_deferred_fns, deffer_fn): Kill function.
980         (deferred_fns): Kill variable.
981         (finish_cdtor): Update finish_function call.
982         (c_objc_common_finish_file): Always call cgraph code.
983         * c-parse.c: Regenerate.
984         * c-parse.y: Regenerate.
985         * c-tree.h (finish_function): Update prototype.
986         * objc-acct.c (build_module_descriptor, finish_method_def):
987         Update call of finish_function.
988         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
989         forward prototype.
990         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
991         function and assemble it if needed.
992         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
993         mode.
994         (cgraph_optimize): Likewise.
995         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
996         even when it has no inline callees.
997         * c-parse.in: Update calls to finish_function.
998
999 2003-09-03  Nick Clifton  <nickc@redhat.com>
1000
1001         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
1002         Use #error to generate the message if TARGET_DEFAULT is not
1003         recognised.
1004
1005 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
1006
1007         * config/mips/mips.h (MASK_UNUSED1): Remove.
1008         (MASK_XGOT, TARGET_XGOT): Define.
1009         (TARGET_SWITCHES): Add an entry for -mxgot.
1010         (ASM_SPEC): Map -mxgot to -xgot.
1011         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1012         whether we're using a big-GOT sequences.
1013         (mips_legitimize_const_move, mips_expand_call): Likewise.
1014         (override_options): Revert 2003-01-09 change.
1015         * doc/invoke.texi: Document -mxgot.
1016
1017 2003-09-02  Jason Merrill  <jason@redhat.com>
1018
1019         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1020         * config/sparc/sol2.h: Not here.
1021
1022 2003-09-02  Roger Sayle  <roger@eyesopen.com>
1023
1024         * expr.c (expand_expr): The code following both_summands performs
1025         the same task as simplify_gen_binary.  Replace all gotos to
1026         both_summands with a call to simplify_gen_binary and delete the
1027         now unused label.
1028
1029 2003-09-02  Jason Merrill  <jason@redhat.com>
1030
1031         PR c++/7327
1032         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1033
1034 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
1035
1036         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1037         (cgraph_optimize_function): Set current_function_decl to the
1038         fndecl we're integrating from.
1039
1040 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1041
1042         * builtins.def: Break out _Complex math functions into their
1043         own category.
1044
1045 2003-09-02  Andreas Jaeger  <aj@suse.de>
1046
1047         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1048
1049 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
1050
1051         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1052         finding the note again.
1053
1054 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1055
1056         * config.gcc: Remove host-specific rewrites of target_alias.
1057
1058 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
1059
1060         * Makefile.in (genprogs): Fix typo.
1061
1062         * Makefile.in (gencheck.o): Remove build commands.
1063         (dummy-conditions.o): Likewise.
1064         (read-rtl.o): Likewise.
1065         (gensupport.o): Likewise.
1066         (genconfig$(build_exeext)): Remove rule.
1067         (genconfig.o): Remove build commands.
1068         (genflags$(build_exeext)): Remove rule.
1069         (genflags.o): Remove build commands.
1070         (gencodes$(build_exeext)): Remove rule.
1071         (gencodes.o): Remove build commands.
1072         (genconstants.o): Remove build commands.
1073         (genemit$(build_exeext)): Remove rule.
1074         (genemit.o): Remove build commands.
1075         (genrecog$(build_exeext)): Remove rule.
1076         (genrecog.o): Remove build commands.
1077         (genextract$(build_exeext)): Remove rule.
1078         (genextract.o): Remove build commands.
1079         (genpeep$(build_exeext)): Remove rule.
1080         (genpeep.o): Remove build commands.
1081         (genattr$(build_exeext)): Remove rule.
1082         (genattr.o): Remove build commands.
1083         (genprognames): New variable.
1084         (genprogs): Likewise.
1085         (genobjs): Likewise.
1086         (genprogs): New rule.
1087         (genobjs): Likewise.
1088         (genattrtab.o): Remove build commands.
1089         (genautomata.o): Likewise.
1090         (genoutput$(build_exeext)): Remove rule.
1091         (genoutput.o): Remove build commands.
1092         (gengenrtl.o): Likewise.
1093         (genpreds.o): Likewise.
1094         (gengtype.o): Likewise.
1095         (genconditions.o): Likewise.
1096         (gen-protos.o): Likewise.
1097         (scan.o): Likewise.
1098         (fix-header.o): Likewise.
1099         (scan-decls.o): Likewise.
1100         (check-g++): Combine with other check targets.
1101         (check-gcc): Likewise.
1102         (check-g77): Likewise.
1103         (check-objc): Likewise.
1104
1105 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1106
1107         * config.gcc: Remove host-specific stuff which is unused here
1108         since the introduction of config.host.
1109
1110         * doc/fragments.texi: Mention config.host.
1111         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
1112         of config.build, config.host, and config.gcc.
1113
1114 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
1115
1116         * c-decl.c (pushdecl): Don't put variables on
1117         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
1118         incomplete.
1119
1120 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1121
1122         * config.host: New file.
1123         * config.gcc: Remove some host-specific stuff and some
1124         logic needed only for repeated invocation.
1125         * configure.in: Use config.host.
1126         * configure: Regenerate.
1127
1128 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
1129
1130         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
1131         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
1132         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
1133         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
1134         * tree.def (BIT_ANDTC_EXPR): Kill.
1135
1136 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1137
1138         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
1139         * configure: Regenerate.
1140
1141         * config.gcc:  Remove references to install_headers_dir, now unused
1142         since introduction of config.build.
1143         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
1144
1145         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
1146         config.build.
1147
1148         * config.build: New file.
1149         * config.gcc: Remove some build-specific stuff.
1150         * configure.in: Use config.build.
1151         * configure: Regnerate.
1152
1153 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
1154             Roger Sayle  <roger@eyesopen.com>
1155
1156         PR middle-end/11823
1157         * stmt.c (expand_end_case_type): Only use jump tables for dense
1158         switch statements when optimizing for size.
1159
1160 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
1161
1162         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
1163         the != 0 case, which ensures pending stack adjustments are flushed.
1164
1165 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1166
1167         * configure.frag: Delete file.
1168         * configure.in: Rename the substitution variables
1169         dep_host_xmake_file and dep_tmake_file to xmake_file and
1170         tmake_file respectively.  Do not expand $srcdir in the
1171         value of these; leave that for Make.  Introduce a new
1172         substitution varaible, all_lang_makefrags, which lists
1173         subdirectory Make-lang.in files; exclude these from
1174         all_lang_makefiles, which is now only for subdirectory
1175         outputs.  Do not invoke configure.frag.  Do not set nor
1176         AC_SUBST_FILE target_overrides, host_overrides, or
1177         language_fragments. Create build subdirectories in
1178         config.status extra commands.
1179         * configure: Regenerate.
1180         * Makefile.in: Update substitutions to match changes to
1181         configure.  Use include directives instead of @-insertions
1182         to read in host, target, and language fragments.
1183         (Makefile rule): Do not invoke configure.frag.  Do not copy
1184         config.status to config.run before executing it.  Set
1185         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
1186         regenerated.
1187         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
1188
1189 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1190
1191         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
1192         * c-typeck.c (same_translation_unit_p): New function.
1193         (comptypes): Use it instead of flags parameter to identify
1194         structure types from different translation units.
1195         * c-decl.c (duplicate_decls): Always call comptypes with
1196         COMPTYPE_STRICT flags argument.
1197         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
1198         to file_scope_decl.
1199
1200 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
1201
1202         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
1203         * c-decl.c (struct c_scope): Remove "incomplete" field.
1204         (pushdecl): Attach variables with incomplete types to
1205         the TYPE_MAIN_VARIANT of the incomplete type in question.
1206         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
1207         to complete, not at current_scope->incomplete.  All such
1208         variables do need completion.
1209
1210 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
1211         Nicolas Pitre <nico@cam.org>
1212
1213         * arm/lib1funcs.asm (RETCOND): Delete.
1214         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
1215         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
1216         (__ARM_ARCH__): Move here from ieee754-?f.S.
1217         (RET, RETc): Clean up definitions.
1218         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
1219         (FUNC_END): New macro that marks the end of any function.
1220         (ARM_FUNC_START): New macro that allows an assembler routine to be
1221         implemented in ARM code even if a Thumb-only build.
1222         Unconditionally include ieee754-?f.S.
1223         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
1224         Mark ends of functions.
1225         Split into separate conditionally-compiled units.
1226         Use RETLDM to return from routines.
1227         * arm/ieee754-sf.S: Similarly.
1228         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
1229         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
1230         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
1231         _fixsfsi and _fixunssfsi.
1232
1233         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
1234         multiplication underflows to zero.
1235         (__adddf3): Fix bug when using VFP ordering on little-endian
1236         processors.
1237         (__fixdfsi): Use rrx to extract the carry into a register instead of
1238         MRS instruction.  Optimize later use of result.
1239         * arm/ieee754-sf.S (__fixsfsi): Likewise.
1240         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
1241
1242 2003-08-29  Richard Henderson  <rth@redhat.com>
1243
1244         * tree-optimize.c: New file.
1245         * Makefile.in (OBJS-archive): Add tree-optimize.o.
1246         (tree-optimize.o): New.
1247         * c-decl.c (store_parm_decls): Use allocate_struct_function.
1248         (finish_function): Don't free_after_parsing or free_after_compilation.
1249         (set_save_expr_context): Move to tree-optimize.c.
1250         (c_expand_body_1): Use tree_rest_of_compilation.
1251         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1252         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1253         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1254         iterate until closure.
1255         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1256         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1257         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1258         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1259         * toplev.h (tree_rest_of_compilation): Declare it.
1260
1261 2003-08-29  Richard Henderson  <rth@redhat.com>
1262
1263         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1264         * integrate.c (save_for_inline): Set saved_for_inline.
1265         * c-semantics.c (genrtl_scope_stmt): Check it.
1266         * toplev.c (wrapup_global_declarations): Check it.
1267         (rest_of_handle_inlining): Set and check rtl_inline_init.
1268         (rest_of_compilation): Remove out of date comment.
1269
1270 2003-08-29  Richard Henderson  <rth@redhat.com>
1271
1272         * function.c (allocate_struct_function): New, split out of ...
1273         (prepare_function_start, init_function_start): ... here.
1274         * expr.c (init_expr): Use ggc_alloc_cleared.
1275         * stmt.c (init_stmt_for_function): Likewise.
1276         * tree.h (allocate_struct_function): Declare.
1277
1278 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1279
1280         * config.gcc: Don't use negated character class in shell case
1281         clause.
1282
1283 2003-08-29  Richard Henderson  <rth@redhat.com>
1284
1285         * function.h (struct function): Move function_frequency and
1286         max_jumptable_ents before start of bit field members.
1287
1288 2003-08-29  Richard Henderson  <rth@redhat.com>
1289
1290         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1291         (fold_builtin_constant_p) ... not here.
1292
1293 2003-08-29  Richard Henderson  <rth@redhat.com>
1294
1295         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1296         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1297         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1298
1299 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1300
1301         * builtins.def: Fix typos.
1302         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1303         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1304         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1305         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1306         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1307
1308         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1309         Use ATTR_MATHFN_FPROUNDING_ERRNO.
1310
1311 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1312
1313         * config.gcc (i386-*-vsta): Fix obvious bogosity.
1314
1315         * fixinc/inclhack.def:  Remove special cases for unsupported
1316         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1317         * fixinc/fixincl.x: Regenerate.
1318
1319 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
1320
1321         * Makefile.in (cpp.info): Just state dependencies.
1322         (gcc.info): Likewise.
1323         (gccint.info): Likewise.
1324         (gccinstall.info): Likewise.
1325         (cppinternals.info): Likewise.
1326         (cpp.dvi): Likewise.
1327         (gcc.dvi): Likewise.
1328         (gccint.dvi): Likewise.
1329         (gccinstall.dvi): Likewise.
1330         (cppinternals.dvi): Likewise.
1331         (gcov.1): Likewise.
1332         (cpp.1): Likewise.
1333         (gcc.1): Likewise.
1334         (gfdl.7): Likewise.
1335         (gpl.7): Likewise.
1336         (fsf-funding.7): Likewise.
1337         ($(objdir)/%.info): New pattern rule.
1338         (%.dvi): Likewise.
1339
1340 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
1341
1342         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1343         (restage2): Likewise.
1344         (restage3): Likewise.
1345         (restage4): Likewise.
1346         (restageprofile): Likewise.
1347         (restagefeedback): Likewise.
1348         (bubblestrap): Likewise.
1349
1350 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1351
1352         * config.gcc: Narrow unsupported target match to avoid clobbering
1353         i?86-sequent-sysv4*.
1354
1355 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1356
1357         * builtins.c (mathfn_built_in): Handle new math builtins.
1358
1359 2003-08-28  Per Bothner  <per@bothner.com>
1360
1361         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1362         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
1363         (_cpp_lex_buffer):  Likewise.
1364         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
1365
1366 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1367
1368         * config/s390/s390.md ("*mulsi3_sign"): New insn.
1369         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1370         ("mulsidi3"): ... this new insn.
1371         ("umulsidi3"): New insn.
1372         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1373         mixed-mode matching constraints.
1374         ("udivmodsi4", "udivmoddisi3"): New insns.
1375         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1376
1377 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1378
1379         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1380         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1381         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1382         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1383         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1384         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1385         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1386         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1387         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1388         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1389         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1390         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1391         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1392         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1393         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1394         * tree.c: Assign new type_nodes.
1395         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1396         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1397         (float_ptr_type_node, double_ptr_type_node,
1398         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1399
1400         * doc/extend.texi: Document new builtins.
1401
1402 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1403
1404         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1405         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1406
1407         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1408         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1409         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1410         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1411         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1412         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1413         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1414         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1415         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1416         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1417
1418         * doc/extend.texi: Document new builtins.
1419
1420 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
1421
1422         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1423         variants of i?86, powerpcle, and thumb.
1424         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1425         arm and hppa variants.
1426
1427 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1428
1429         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1430         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1431         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1432         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1433         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1434         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1435         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1436         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1437         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1438         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1439
1440         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1441         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1442         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1443         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1444         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1445         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1446         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1447         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1448         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1449         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1450         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1451         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1452         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1453         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1454         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1455         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1456         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1457         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1458         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1459         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1460         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1461         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1462         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1463         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1464         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1465         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1466         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1467         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1468         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1469         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1470         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1471
1472         * doc/extend.texi: Document new builtins.
1473
1474 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1475
1476         * config/s390/s390.c (legitmate_constant_p): Use LARL on
1477         zSeries machines even in 31-bit addressing mode.
1478         (legitimate_reload_constant_p): Likewise.
1479         (legitimize_pic_address): Likewise.
1480         (legitimize_tls_address): Likewise.
1481         (s390_split_branches): Likewise.
1482         (s390_dump_pool): Likewise.
1483         (s390_mainpool_finish): Likewise.
1484         (s390_chunkify_start): Likewise.
1485         (s390_select_rtx_section): Likewise.
1486         * config/s390/s390.md ("doloop_si"): Likewise.
1487         ("pool_start_31", "pool_end_31"): Likewise.
1488         ("pool_start_64", "pool_end_64"): Likewise.
1489         ("main_base_31_small", "main_base_31_large"): Likewise.
1490         ("main_base_64"): Likewise.
1491         ("reload_base_31", "reload_base_64"): Likewise.
1492         ("*movsi_larl"): New insn.
1493         ("cjump", "icjump"): Use long branches on zSeries machines.
1494         ("jump"): Likewise.
1495         ("call"): Use BRASL on zSeries machines.
1496         ("call_value", "call_value_tls"): Likewise.
1497         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1498         and replace by ...
1499         ("*bras", "*brasl", "*basr") ... these new insns.
1500         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1501         "bas_31_r"): Remove and replace by ...
1502         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1503         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1504         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1505         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1506         ("*return_si", "*return_di"): Remove and replace by ...
1507         ("*return"): ... this new insn.
1508         ("rotlsi3"): Allow on zSeries machines.
1509
1510         * config/s390/s390.c (legitimize_reload_constant_p): Use
1511         LL/LH type instructions in z/Architecture mode.
1512         * config/s390/s390.md ("*movsi_lli"): Likewise.
1513         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1514         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1515         ("*extendqisi2"): Use LB in z/Architecture mode.
1516         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1517         z/Architecture mode.
1518         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1519         Likewise.
1520
1521         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1522         and 31-bit mode.
1523         ("ptr_extend"): Allow only in 64-bit mode.
1524
1525 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
1526
1527         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1528         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1529         definitions.
1530         (main): Only use standard_startfile_prefix if native.
1531         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1532
1533 2003-08-27  Per Bothner  <pbothner@apple.com>
1534
1535         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
1536         test fails following my 08-21 change, and it seems unnecessary anyway.
1537         (cpp_error):  Likewise.
1538
1539 2003-08-27  Jason Merrill  <jason@redhat.com>
1540
1541         * real.c (do_multiply): Initialize with memset.
1542
1543 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1544
1545         * gcov.c (typedef struct arc_info): New field cs_count.
1546         (accumulate_line_counts): Find cycles correctly.
1547
1548 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
1549
1550         * config/s390/s390.c (struct machine_function): Remove member
1551         literal_pool_label.
1552         (s390_optimize_prolog): Replace TEMP_REG argument with
1553         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
1554         (general_s_operand): Accept all immediates before reload if
1555         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
1556         references.
1557         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1558         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1559         (s390_alloc_pool): New function.
1560         (s390_new_pool): Call it.
1561         (s390_dump_pool): Add REMOTE_LABEL argument.
1562         (s390_chunkify_start): Add BASE_REG argument.  Do not check
1563         get_pool_size ().
1564         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
1565         s390_dump_pool call.
1566         (s390_pool_count, s390_nr_constants): Remove.
1567         (s390_output_constant_pool): Remove.
1568         (s390_mainpool_start): New function.
1569         (s390_mainpool_finish): New function.
1570         (s390_mainpool_cancel): New function.
1571         (s390_reorg): Implement main literal pool handling.
1572         (s390_emit_prologue): Emit main_pool placeholder instead of
1573         literal_pool_31 / literal_pool_64 insns.
1574         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1575         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1576         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1577         ("main_base_31_small", "main_base_31_large"): New insns.
1578         ("main_base_64",  "main_pool"): New insns.
1579         ("literal_pool_31", "literal_pool_64"): Remove.
1580
1581 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1582
1583         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1584         fixinc.ptx.
1585         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
1586         Prettify a little.
1587         * fixinc/fixincl.x: Regenerate.
1588
1589 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
1590
1591         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
1592         (L_ieee754_dp): New.  Include ieee754-df.S.
1593         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1594         and compilation in apcs-26 mode.
1595         * arm/ieee754-df.S: Likewise.
1596         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1597         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1598
1599 2003-08-27  Nicolas Pitre  <nico@cam.org>
1600
1601         * arm/ieee754-sf.S: New.
1602         * arm/ieee754-df.S: New.
1603
1604 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
1605
1606         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1607         and restore it if returning NULL.
1608
1609 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
1610
1611         * calls.c (initialize_argument_information): If an argument has no
1612         stack space associated with it, and BLOCK_REG_PADDING is defined,
1613         use it to decide at which end the argument should be padded.
1614         * function.c (assign_parms): Allocate BLKmode stack slots.
1615         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1616         (mips_pad_reg_upward): Declare.
1617         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1618         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1619         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1620         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1621         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1622         (mips_expand_call): Remove code for generating structure shifts.
1623         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
1624         types unless using the EABI.
1625         (function_arg_advance): Don't generate shift instructions.
1626         (function_arg): Don't return them.  Don't short-circuit the
1627         check for double structure chunks for DFmode arguments.
1628         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1629         (mips_expand_prologue): Remove code to emit structure shifts.
1630         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1631         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
1632         comments to say that only structure returns are a problem.
1633
1634 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1635
1636         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1637         Fix to match produced versions.
1638         * fixinc/inclhack.def (longlong_t): New disabled test, ported
1639         from fixinc.svr4.
1640         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1641         from fixinc.ptx.
1642         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1643         ported from fixinc.ptx.
1644
1645 2003-08-26  Per Bothner  <pbothner@apple.com>
1646
1647         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
1648         (cpp_error_with_line):  Use fileline for appropriate parameter.
1649         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
1650         (struct cpp_reader):  Likewise for fields line and directive_line.
1651         (_cpp_begin_message):  Use fileline for appropriate parameter.
1652         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1653         cpp_error):  Use fileline for appropriate parameters and variables.
1654         (print_location):  New local lin, since it is not a fileline.
1655
1656 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1657
1658         PR middle-end/12002
1659         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1660         (FLOAT_TYPE_P): Define in terms of these two new macros.
1661         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1662         for complex floating point types.
1663
1664 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
1665
1666         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1667         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1668         s390_output_pool_entry.
1669
1670 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1671
1672         * fixinc/inclhack.def (svr4_preproc_lint_on,
1673         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1674         fixes, ported from fixinc.svr4.
1675
1676 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
1677
1678         * doc/install.texi (Prerequisites): Mention GNU make requirement.
1679
1680         * Makefile.in (AR_FOR_TARGET): Export it.
1681         (AR_CREATE_FOR_TARGET): Likewise.
1682         (AR_FLAGS_FOR_TARGET): Likewise.
1683         (AR_EXTRACT_FOR_TARGET): Likewise.
1684         (AWK): Likewise.
1685         (BUILD_PREFIX): Likewise.
1686         (BUILD_PREFIX_1): Likewise.
1687         (DESTDIR): Likewise.
1688         (GCC_FOR_TARGET): Likewise.
1689         (INCLUDES): Likewise.
1690         (INSTALL_DATA): Likewise.
1691         (LIB1ASMSRC): Likewise.
1692         (LIBGCC2_CFLAGS): Likewise.
1693         (MACHMODE_H): Likewise.
1694         (NM_FOR_TARGET): Likewise.
1695         (RANLIB_FOR_TARGET): Likewise.
1696         (libsubdir): Likewise.
1697         (slibdir): Likewise.
1698         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1699         exporting.
1700         (libgcc.a): Don't pass them here.
1701         (stmp-multilib): Or here.
1702         (install-libgcc): Or here.
1703         (install-multilib): Or here.
1704         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1705         (stage1_build): Or here.
1706
1707 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
1708
1709         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1710         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1711
1712 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
1713
1714         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1715         "*fmaddsf", "*fmsubsf"): New insns.
1716
1717 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1718
1719         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1720         (C1*C2)/X when unsafe math optimizations are allowed.
1721         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1722         math optimizations.  Minor code clean-ups.  Recursively call
1723         fold when constructing sub-expressions.
1724
1725 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1726
1727         * builtins.c (fold_builtin_bitop): New function to perform constant
1728         folding of ffs, clz, ctz, popcount and parity builtin functions
1729         and their long and long long variants (such as ffsl and ffsll).
1730         (fold_builtin): fold_builtin_bitop when appropriate.
1731         * simplify-rtx.c (simplify_unary_operation): Honor both
1732         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1733         evaluating clz and ctz at compile-time, for operands wider
1734         than HOST_WIDE_INT.
1735
1736 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
1737
1738         * builtins.c (build_function_call_expr): Don't set
1739         TREE_SIDE_EFFECTS here.
1740         * expr.c (emit_block_move_via_libcall): Likewise.
1741         (clear_storage_via_libcall): Likewise.
1742         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1743         CALL_EXPRs.
1744
1745         * gcse.c (is_too_expensive): New function.
1746         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1747
1748 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
1749
1750         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1751         commented-out logic to use DCE threads (if present), add
1752         support for POSIX threads.
1753         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1754         #defines for -pthread.  Add -lpthread to LIB_SPEC when
1755         -pthread.  In both cases take -mt as a synonym for -pthread
1756         for acc compatibility.
1757         Define GTHREAD_USE_WEAK to 0.
1758         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1759         Remove old logic for DCE threads from LIB_SPEC.
1760         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1761
1762 2003-08-25  Roger Sayle  <roger@eyesopen.com>
1763
1764         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
1765         return 0 for invalid argument types.  Instead drop through to a
1766         call of expand_call at the bottom of function.  If op is SQRT,
1767         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1768
1769 2003-08-25  Richard Henderson  <rth@redhat.com>
1770
1771         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1772         result when op0 is SImode.
1773
1774 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
1775
1776         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1777         from fixinc.svr4.
1778         * fixinc/fixincl.x: Regenerate.
1779         * fixinc/tests/base/sys/signal.h: Regenerate.
1780
1781 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1782
1783         * combine.c (simplify_comparison): Re-enable widening of comparisons
1784         with non-paradoxical subregs of non-REG expressions.
1785
1786 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1787
1788         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1789
1790 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1791
1792         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1793
1794 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1795
1796         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1797         * c-pretty-print.h (c_pretty_printer): Now typedef to the
1798         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
1799         (struct c_pretty_print_info): Document.  Add new fields.
1800         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1801         (pp_direct_abstract_declarator): New macro.
1802         (pp_ptr_operator): Likewise.
1803         (pp_simple_type_specifier): Likewise.
1804         (pp_expression): Likewise.
1805         (pp_parameter_list): Rename from pp_parameter_declaration.
1806         * c-pretty-print.c (pp_c_whitespace): Now a function.
1807         (pp_c_left_paren): Likewise.
1808         (pp_c_right_paren): Likewise.
1809         (pp_c_dot): Likewise.
1810         (pp_c_ampersand): Likewise.
1811         (pp_c_arrow): Likewise.
1812         (pp_c_semicolon): Likewise.
1813         (pp_c_type_cast): New function.
1814         (pp_c_space_for_pointer_operator): Likewise.
1815         (pp_c_call_argument_list): Likewise.
1816         (pp_c_cv_qualifier): Adjust prototype.
1817         (pp_c_type_qualifier_list): Likewise.
1818         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
1819         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1820         Adjust to follow standard grammar.
1821         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
1822         REFERENCE_TYPE.  Tidy.
1823         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
1824         (pp_c_parameter_declaration): Remove.
1825         (pp_c_abstract_declarator): Adjust prototype.
1826         (pp_c_direct_abstract_declarator): Likewise.
1827         (pp_c_type_id): Likewise.
1828         (pp_c_storage_class_specifier): Likewise.
1829         (pp_c_function_specifier): Likewise.
1830         (pp_c_declaration_specifiers): Likewise.
1831         (pp_c_direct_declarator): Likewise.
1832         (pp_c_declarator): Likewise.
1833         (pp_c_declarator): Likewise.
1834         (pp_c_declaration): Likewise.
1835         (pp_c_attributes): Likewise.  Tidy.
1836         (pp_c_function_definition): Adjust prototype.
1837         (pp_c_char): Likewise.
1838         (pp_c_string_literal): Likewise.
1839         (pp_c_integer_constant): Likewise.
1840         (pp_c_character_constant): Likewise.
1841         (pp_c_bool_constant): Likewise.
1842         (pp_c_enumeration_constant): Likewise.
1843         (pp_c_floating_constant): Likewise.
1844         (pp_c_constant): Likewise.
1845         (pp_c_identifier): Likewise.
1846         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
1847         (pp_c_initializer): Adjust prototype.
1848         (pp_c_init_declarator): Likewise.
1849         (pp_c_initializer_list): Likewise.
1850         (pp_c_id_expression): Likewise.
1851         (pp_c_postfix_expression): Likewise.
1852         (pp_c_expression_list): Likewise.
1853         (pp_c_unary_expression): Likewise.
1854         (pp_c_cast_expression): Likewise.
1855         (pp_c_multiplicative_expression): Likewise.
1856         (pp_c_additive_expression): Likewise.
1857         (pp_c_shift_expression): Likewise.
1858         (pp_c_relational_expression): Likewise.
1859         (pp_c_equality_expression): Likewise.
1860         (pp_c_and_expression): Likewise.
1861         (pp_c_exclusive_or_expression): Likewise.
1862         (pp_c_inclusive_or_expression): Likewise.
1863         (pp_c_logical_and_expression): Likewise.
1864         (pp_c_logical_or_expression): Likewise.
1865         (pp_c_conditional_expression): Likewise.
1866         (pp_c_assignment_expression): Likewise.
1867         (pp_c_expression): Likewise.  Tidy.
1868         (pp_c_statement): Likewise.  Document.
1869         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
1870
1871         * c-lang.c (c_initialize_diagnostics): Update.
1872         * c-common.h (strip_pointer_operator): Declare.
1873         * c-common.c (strip_pointer_operator): Define.
1874
1875 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
1876
1877         PR c++/8795
1878         * tree.h (build_method_type_directly): Declare.
1879         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
1880         (vector_size_helper): Likewise.
1881         * tree.c (build_method_type_directly): New function.
1882         (build_method_type): Use it.
1883
1884 2003-08-24  Richard Henderson  <rth@redhat.com>
1885
1886         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
1887         for 16-byte vector modes if sse not enabled; warn for abi change.
1888         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
1889
1890 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
1891
1892         * rtlanal.c (may_trap_p): Simplify an integer comparison.
1893
1894 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1895
1896         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
1897         comment.  Enable for DYNIX/ptx systems (when they switch to
1898         regular fixincludes).
1899         * fixinc/fixincl.x: Regenerate.
1900
1901 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1902
1903         * config/i860/t-i860: New.
1904         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
1905
1906 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
1907
1908         * c-decl.c (pushdecl): Only put decls which finish_struct will do
1909         something about onto incomplete chain.
1910         (finish_struct): If not removing type from incomplete
1911         list, update prev.
1912
1913 2003-08-20  Jan Hubicka  <jh@suse.cz>
1914
1915         PR target/11369
1916         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
1917
1918         PR target/11031
1919         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
1920         const_0_to_15_operand, const_0_to_255_operand): New predicates.
1921         * i386.h (PREDICATE_CODES): Add these.
1922         * i386.c (pinsrw and pextrw patterns): Use them.
1923
1924         PR target/10984
1925         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
1926
1927         PR target/8869
1928         * expr.c (convert_modes): Deal properly with integer to vector
1929         constant conversion.
1930
1931         PR target/8871
1932         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
1933
1934 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
1935
1936         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
1937         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
1938         ("*movhi"): ... this.
1939         ("movqi", "*movqi"): Likewise.
1940         ("movqi_64"): Remove.
1941         ("*zero_extendhisi2_31"): Change predicate to s_operand.
1942
1943 2003-08-23  Dale Johannesen  <dalej@apple.com>
1944         * calls.c (emit_library_call_value_1): Fix obvious errors in
1945         arguments to emit_group_store.
1946
1947 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1948
1949         * calls.c (emit_library_call_value_1): Remove code related
1950         to LIBGCC_NEEDS_DOUBLE.
1951         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
1952         * doc/tm.texi: Likewise.
1953         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
1954
1955 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
1956
1957         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1958
1959 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
1960
1961         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
1962         as well.  Put memory references in the varargs alias set.
1963         (mips_expand_prologue): Remove varargs handling from here.
1964
1965 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
1966
1967         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1968         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
1969         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
1970         for function pointer calls.
1971         * config/s390/s390.md ("*negdi2_31"): Likewise.
1972
1973 2003-08-23  Roger Sayle  <roger@eyesopen.com>
1974
1975         * combine.c (apply_distributive_law): Correct comment.
1976
1977 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1978
1979         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
1980
1981 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1982
1983         * config/i860/i860.c (i860_build_va_list): Create the va_decl
1984         declaration.  Document the va_list structure.
1985         (i860_va_start): Initialize the va_list structure.
1986         (i860_va_arg): Rewrite completely.
1987         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
1988         * config/i860/varargs.asm: Do not allocate or initialize
1989         a va_list.  Return the address of the register save area.
1990
1991 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1992
1993         * config/iq2000/iq2000.c: Fix comment typos.
1994         * config/iq2000/iq2000.md: Likewise.
1995
1996 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1997
1998         * config/iq2000/iq2000.c: Follow spelling conventions.
1999         * config/iq2000/iq2000.h: Likewise.
2000         * config/mn10300/mn10300.c: Likewise.
2001
2002 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2003
2004         * config/i860/i860.c (output_move_double): Don't set latehalf
2005         to zero for CONST_INT (since it could be, e.g., -1).
2006
2007         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
2008         (MODSI3_LIBCALL): ...with this one.
2009         (UREMSI3_LIBCALL): Replace this macro...
2010         (UMODSI3_LIBCALL): ...with this one.
2011
2012 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2013
2014         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2015         (output_delayed_branch): Remove prototype.
2016         (single_insn_src_p): Remove prototype.
2017         * config/i860/i860.c (single_insn_src_p): Remove function.
2018         (output_delayed_branch): Remove function.
2019         (output_delay_insn): Remove function.
2020         (va_start): Remove unconditional test and dead code, re-format.
2021         Fix coding style and spelling problems in various comments.
2022         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2023         (blockage pattern): ...and use it here.
2024         (all define_peephole patterns related to delayed branches): Remove.
2025         Fix coding style and spelling problems in various comments.
2026
2027 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2028
2029         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2030         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
2031         Convert all function definitions from traditional to ISO C90 syntax.
2032         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2033         with 'GCC'.  Remove all uses of the PARAMS macro.
2034         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2035         * config/i860/i860.md: Likewise.
2036         * config/i860/sysv4.h: Likewise.
2037         * config/i860/varargs.asm: Likewise.
2038
2039 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2040
2041         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2042         argument.
2043         (tdesc_section): Add prototype.
2044         Update copyright dates.
2045         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2046         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2047         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2048         (targetm): Likewise.
2049         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2050         for '%d' where necessary.
2051         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
2052         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
2053         by UNITS_PER_WORD when referencing (likewise for .floats).
2054         (I860_SVR4_VARARGS): Rename...
2055         (I860_SVR4_VA_LIST): ...to this.
2056         Call build() with 't' rather than 'field'.
2057         (i860_rtx_costs): New function.
2058         (TARGET_RTX_COSTS): Define.
2059         (i860_internal_label): New function.
2060         (TARGET_ASM_INTERNAL_LABEL): Define.
2061         (i860_file_start): New function.
2062         Update copyright dates.
2063         * config/i860/i860.h (CPP_PREDEFINES): Remove.
2064         (TARGET_CPU_CPP_BUILTINS): Define.
2065         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2066         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2067         (ASM_FILE_START): Remove.
2068         (ASM_FILE_START_1): Remove.
2069         (ASM_GLOBALIZE_LABEL): Remove.
2070         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2071         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2072         with targetm.asm_out.internal_label.
2073         Update copyright dates.
2074         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2075         (CPP_PREDEFINES): Remove.
2076         (TARGET_OS_CPP_BUILTINS): Define.
2077         (GLOBAL_ASM_OP): Define.
2078         (ASM_FILE_START): Remove.
2079         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
2080         (TARGET_ASM_FILE_START): Define.
2081         Update copyright dates.
2082
2083 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2084
2085         * gcc/config.gcc (i860-*-sysv4*): Add target.
2086         * config/i860/i860-protos.h: New.
2087         * config/i860/i860.c: New.
2088         * config/i860/i860.h: New.
2089         * config/i860/i860.md: New.
2090         * config/i860/sysv4.h: New.
2091         * config/i860/varargs.asm: New.
2092         * config/i860/x-sysv4: New.
2093
2094 2003-08-22  Jason Eckhardt  <jle@rice.edu>
2095
2096         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
2097         Remove all uses of PARAMS macro.
2098         Convert all function definitions to ISO C90 syntax.
2099         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
2100         * config/pa/fptr.c: Likewise.
2101         * config/pa/lib2funcs.asm: Likewise.
2102         * config/pa/long_double.h: Likewise.
2103         * config/pa/milli64.S: Likewise.
2104         * config/pa/pa-64.h: Likewise.
2105         * config/pa/pa-hpux.h: Likewise.
2106         * config/pa/pa-hpux10.h: Likewise.
2107         * config/pa/pa-hpux11.h: Likewise.
2108         * config/pa/pa-linux.h: Likewise.
2109         * config/pa/pa-modes.def: Likewise.
2110         * config/pa/pa-osf.h: Likewise.
2111         * config/pa/pa-pro-end.h: Likewise.
2112         * config/pa/pa.md: Likewise.
2113         * config/pa/pa32-linux.h: Likewise.
2114         * config/pa/pa64-linux.h: Likewise.
2115         * config/pa/pa64-hpux.h: Likewise.
2116         * config/pa/pa64-regs.h: Likewise.
2117         * config/pa/quadlib.c: Likewise.
2118         * config/pa/rtems.h: Likewise.
2119         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
2120         all uses of the PARAMS macro.
2121         * config/pa/pa.h: Likewise.
2122         * config/pa/som.h: Likewise.
2123
2124         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
2125         Remove all uses of PARAMS macro.
2126         Convert all function definitions to ISO C90 syntax.
2127         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
2128         Remove all uses of PARAMS macro.
2129         * config/iq2000.h: Remove all uses of PARAMS macro.
2130         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2131
2132 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
2133
2134         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
2135         * config/s390/s390.c (gen_consttable): Remove.
2136         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
2137         (s390_output_pool_entry): New function.
2138         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
2139         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
2140         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
2141         (UNSPECV_POOL_ENTRY): ... this new constant.
2142         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2143         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
2144         ("*pool_entry"): ... and replace by this new insn.
2145         ("literal_pool_31"): Do not emit anchor label if pool empty.
2146
2147         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
2148         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
2149         (s390_fixup_clobbered_return_reg): Remove.
2150         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
2151         (s390_return_addr_rtx): Always retrieve return address from save area
2152         slot.  Use save_return_addr_p to force slot to be filled.
2153         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
2154
2155 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
2156
2157         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
2158         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
2159         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
2160         around SB-1 errata if TARGET_FIX_SB1 is set.
2161         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
2162         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
2163
2164 2003-08-22  Roger Sayle  <roger@eyesopen.com>
2165
2166         * hashtable.c (ht_expand): Avoid calculating rehash for the common
2167         case that the first probe hits an empty hash table slot.
2168
2169 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
2170
2171         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
2172
2173 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
2174
2175         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
2176         (ptr_extend_plus_imm): ... this.
2177         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
2178         optimization in C++.
2179         (ia64_output_mi_thunk): Support ILP32 mode.
2180
2181 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
2182
2183         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
2184         function.
2185         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
2186
2187 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2188
2189         * config/i386/i386.c (const_int_1_operand): Simplify an
2190         integer comparison.
2191
2192 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
2193
2194         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
2195         * config/rs6000/ppc64-fp.c: Likewise.
2196
2197 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2198
2199         * cfgcleanup.c: Fix comment typos.
2200         * emit-rtl.c: Likewise.
2201         * optabs.c: Likewise.
2202         * ra-build.c: Likewise.
2203         * rtlanal.c: Likewise.
2204         * tree.h: Likewise.
2205
2206 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2207
2208         * c-decl.c: Fix comment formatting.
2209         * cfgrtl.c: Likewise.
2210         * combine.c: Likewise.
2211         * convert.c: Likewise.
2212         * dominance.c: Likewise.
2213         * dwarf2out.c: Likewise.
2214         * dwarfout.c: Likewise.
2215         * expmed.c: Likewise.
2216         * fold-const.c: Likewise.
2217         * gcov.c: Likewise.
2218         * genattrtab.c: Likewise.
2219         * ggc-common.c: Likewise.
2220         * mips-tfile.c: Likewise.
2221         * regmove.c: Likewise.
2222
2223 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
2224
2225         * builtin-attrs.def: Fix comment formatting.
2226         * c-pretty-print.c: Likewise.
2227         * diagnostic.h: Likewise.
2228         * langhooks.h: Likewise.
2229         * recog.c: Likewise.
2230         * simplify-rtx.c: Likewise.
2231         * tree.def: Likewise.
2232
2233 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
2234
2235         * config/m68k/m68k-protos.h: Convert to ISO C90.
2236         * config/m68k/m68k.c: Likewise.
2237
2238 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
2239             Paul Dale  <pauli@snapgear.com>
2240             Peter Barada <peter@baradas.org>
2241
2242         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
2243         ColdFire cores.
2244
2245 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
2246
2247         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
2248         * config.gcc (*-*-openbsd): Don't set tm_file.
2249         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2250         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2251         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2252         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2253         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2254         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2255         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2256         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2257         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2258         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2259         xscale-*-coff): Use explicit and complete lists of target headers
2260         to include.  Move definitions to tm_defines where appropriate.
2261         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2262         not-yet-contributed configuration.
2263
2264         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2265         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2266         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2267         * config/i386/nto.h, config/iq2000/iq2000.h,
2268         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2269         * config/m68k/linux.h, config/m68k/m68k-aout.h
2270         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2271         * config/m68k/netbsd.h, config/m68k/openbsd.h
2272         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2273         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2274         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2275         Remove includes of other target config headers, and
2276         definitions of macros moved to tm_defines lists.  Add #undefs
2277         where now necessary to prevent redefinition warnings.
2278
2279         * config/h8300/coff.h: New file split out of...
2280         * config/h8300/elf.h: ...here.
2281         * config/m68k/hp320base.h: New file split out of...
2282         * config/m68k/hp320.h: ...here.
2283         * config/rs6000/lynxbase.h: New file split out of...
2284         * config/rs6000/lynx.h: ...here.
2285
2286         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2287         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2288
2289         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2290         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2291         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2292         Remove unnecessary #ifndef.
2293         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2294         [under IN_LIBGCC2] with config/.
2295
2296 2003-08-21  Per Bothner  <pbothner@apple.com>
2297
2298         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
2299         to cpp_push_buffer.
2300         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
2301         by return_at_eof check.  Always call _cpp_pop_buffer at end.
2302
2303 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
2304
2305         PR target/11805
2306         * config/h8300/h8300.md (two anonymous patterns): Remove.
2307
2308 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
2309
2310         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2311         * config/mips/mips.c (function_arg_pass_by_reference): Never return
2312         true for n32 & n64.
2313
2314 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
2315
2316         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2317         and similarly in (A | C) == D where C & ~D != 0.
2318
2319 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
2320
2321         PR 8180
2322         * configure.in: When testing with_libs and with_headers, treat
2323         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
2324         * configure: Regenerate.
2325
2326 2003-08-20  Peter Barada <peter@baradas.org>
2327
2328         * longlong.h (umul_ppmm): Add ColdFire support.
2329
2330 2003-08-20  Peter Barada <peter@baradas.org>
2331             Bernardo Innocenti  <bernie@develer.com>
2332
2333         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2334         * config/m68k/m68k.h: Likewise.
2335         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2336         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2337         * config/m68k/linux.h: Likewise.
2338         * config/m68k/m68k.c: Likewise.
2339         * config/m68k/m68k.md: Likewise.
2340         * config/m68k/m68kelf.h: Likewise.
2341         * config/m68k/netbsd-elf.h: Likewise.
2342         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2343
2344 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
2345
2346         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2347         * config/m68k/m68k.md: Likewise.
2348
2349 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
2350
2351         PR java/11996
2352         Revert this change:
2353         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2354         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2355         types with precisions other than those given by native machine
2356         modes.
2357
2358 2003-08-20  Gunther Nikl  <gni@gecko.de>
2359
2360         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2361         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2362         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2363         * config/m68k/m68k.md (anonymous define_insn): Likewise
2364         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2365         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2366         code selected by NO_ASM_FMOVECR
2367
2368 2003-08-20  Gunther Nikl  <gni@gecko.de>
2369
2370         * config/m68k/m68k.c (output_move_const_into_data_reg,
2371         output_move_himode): unify MOTOROLA/MIT handling of moveq
2372         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2373         Likewise
2374
2375 2003-08-20  Gunther Nikl  <gni@gecko.de>
2376
2377         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2378         label name
2379         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2380         HOST_WIDE_INT_PRINT_DEC with %wd
2381
2382 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
2383
2384         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2385         redefine warning.
2386
2387 2003-08-20  Roger Sayle  <roger@eyesopen.com>
2388
2389         PR middle-end/11984
2390         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2391         operands before calling tree_int_cst_lt when performing associative
2392         transformations.
2393
2394 2003-08-20  Jason Merrill  <jason@redhat.com>
2395
2396         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2397         (EXPR_CHECK): Don't check for 'r' or 's' if we're
2398         checking IS_EXPR_CODE_CLASS.
2399         * calls.c (calls_function_1): Likewise.
2400         * fold-const.c (fold): Likewise.
2401         * tree.c (iterative_hash_expr): Likewise.
2402         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2403
2404 2003-08-20  Gunther Nikl  <gni@gecko.de>
2405
2406         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2407         depending on MOTOROLA_BSR
2408         * config/m68k/m68k.md (anonymous define_insn): Likewise
2409
2410 2003-08-20  Jason Merrill  <jason@redhat.com>
2411
2412         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2413         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2414         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2415         * dojump.c (do_jump): Likewise.
2416         * fold-const.c (operand_equal_p, fold): Likewise.
2417         (tree_expr_nonnegative_p): Likewise.
2418
2419         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2420         TYPE_USER_ALIGN for FIELD_DECLs.
2421
2422         * attribs.c (decl_attributes): Rebuild the function pointer type after
2423         changing the target type.
2424         * tree.c (get_qualified_type): Also check that the attributes match.
2425
2426 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
2427
2428         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2429         * objc/config-lang.in (stagestuff): ... to here.
2430
2431 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2432
2433         PR c++/11946
2434         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2435         NOP_EXPR) when necessary.
2436         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2437         types with precisions other than those given by native machine
2438         modes.
2439
2440 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2441
2442         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2443         because some macro is defined.
2444
2445         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2446         options.
2447         * config/i386/darwin.h (ASM_SPEC): New.
2448         (SUBTARGET_EXTRA_SPECS): New.
2449         * config/rs6000/darwin.h (ASM_SPEC): New.
2450         (SUBTARGET_EXTRA_SPECS): New.
2451         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2452         a cross-compiler between two different processors on Darwin.
2453         * configure: Regenerate.
2454
2455 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2456
2457         * builtins.c: Fix comment typos.
2458         * c-common.c: Likewise.
2459         * c-decl.c: Likewise.
2460         * c-pretty-print.c: Likewise.
2461         * cfgbuild.c: Likewise.
2462         * cfglayout.c: Likewise.
2463         * cfgloopanal.c: Likewise.
2464         * cgraphunit.c: Likewise.
2465         * cppfiles.c: Likewise.
2466         * dwarfout.c: Likewise.
2467         * expr.c: Likewise.
2468         * fold-const.c: Likewise.
2469         * gcse.c: Likewise.
2470         * ggc-page.c: Likewise.
2471         * haifa-sched.c: Likewise.
2472         * pretty-print.c: Likewise.
2473         * tree.c: Likewise.
2474         * tree.h: Likewise.
2475         * value-prof.c: Likewise.
2476
2477 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2478
2479         * c-decl.c: Follow spelling conventions.
2480         * cppfiles.c: Likewise.
2481
2482 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2483
2484         * c-common.c: Fix comment formatting.
2485         * c-common.h: Likewise.
2486         * c-decl.c: Likewise.
2487         * cppinit.c: Likewise.
2488         * cpplib.h: Likewise.
2489         * emit-rtl.c: Likewise.
2490         * input.h: Likewise.
2491         * line-map.h: Likewise.
2492         * opts.c: Likewise.
2493         * opts.h: Likewise.
2494         * simplify-rtx.c: Likewise.
2495
2496 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
2497
2498         * unwind-c.c: Add libgcc-style exception.
2499         * unwind-dw2.c: Likewise.
2500         * unwind-pe.h: Likewise.
2501         * unwind-sjlj.c: Likewise.
2502         * unwind.inc: Likewise.
2503
2504 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2505
2506         PR c/5582 PR c++/10538
2507         * langhooks-def.h (lhd_decl_uninit): Declare.
2508         (LANG_HOOKS_DECL_UNINIT): New macro.
2509         (LANG_HOOKS_INITIALIZER): Adjust.
2510         * langhooks.h (struct lang_hooks): Add new field
2511         decl_uninit.
2512         * langhooks.c (lhd_decl_uninit): Define.
2513         * c-common.c (c_decl_uninit_1): New function.
2514         (c_decl_uninit): New function.
2515         (warn_init_self): Define.
2516         * c-common.h (c_decl_uninit): Declare.
2517         (warn_init_self): Declare.
2518         * c.opt: Introduce -Winit-self.
2519         * c-opts.c (c_common_handle_options): Set warn_init_self.
2520         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2521         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
2522         * function.c (uninitialized_vars_warning): Call the language hook.
2523         * doc/invoke.texi: Document -Winit-self.
2524
2525 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
2526
2527         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2528         to use better predicates and constraints.  Define new
2529         instruction to handle "trap_if" with DI-mode arguments.
2530         (conditional_trap): FAIL if trap code is not 0.
2531
2532 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2533
2534         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2535         strstr with $pb to a strcompare with "<pic base>"
2536         (ix86_output_addr_diff_elt): Output the real pic base.
2537
2538 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2539
2540         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2541         (LANG_HOOKS_INITIALIZER): Correct.
2542         * c-lang.c: Likewise.
2543
2544 2003-08-19  Jan Hubicka  <jh@suse.cz>
2545
2546         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2547         (cgraph_varpool_mark_needed_node): Likewise.
2548         * cgraph.h (notice_global_symbol): Declare
2549         * varasm.c (notice_global_symbol): Break out from ...
2550         (assemble_start_function): ... here; update for variables.
2551         (assemble_variable): Use notice_global_symbol.
2552
2553 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2554
2555         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2556         expect SFmode and DFmode arguments to be passed in FPRs,
2557         regardless of the underlying type.
2558
2559 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2560
2561         PR target/11924
2562         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2563         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2564
2565 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
2566
2567         PR c/11207
2568         * c-typeck.c (set_init_index): Check for negative index.
2569
2570 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
2571
2572         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2573         call0 ABI.
2574         * config/xtensa/crtn.asm (_init, _fini): Likewise.
2575         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2576         __umodsi3, __modsi3): Likewise.
2577         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2578         $(INCLUDES).
2579
2580 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
2581
2582         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2583
2584 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2585
2586         * config/mips/mips.md: Quote C code in braces.  Remove use of
2587         fake const0_rtx operands.  Remove double backslashes.  Use \;.
2588         Remove workarounds for bogus warnings.
2589
2590 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2591
2592         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2593         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2594         rather than TARGET_MIPS4300.
2595         (mulsf3_internal, mulsf3_r4300): Likewise.
2596
2597 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2598
2599         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
2600
2601 2003-08-17  Roger Sayle  <roger@eyesopen.com>
2602
2603         * simplify-rtx.c (associative_constant_p): New function to test
2604         whether an RTX expression is an immediate constant.
2605         (simplify_associative_operation): New function to perform some
2606         reassociation optimizations of associative binary expressions.
2607         (simplify_binary_operation): Use simplify_associative_operation
2608         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2609         Floating point expressions are only reassociated when unsafe
2610         math optimizations are permitted.
2611
2612 2003-08-17  Andreas Jaeger  <aj@suse.de>
2613
2614         * config/alpha/alpha.md: Remove usage of PARAMS.
2615
2616         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2617         * config/i386/i386-interix.h: Likewise.
2618         * config/i386/winnt.c: Likewise.
2619         * config/i386/cygming.h: Likewise.
2620         * config/i386/cygwin2.c: Likewise.
2621         * config/darwin.c: Likewise.
2622         * config/darwin-c.c: Likewise.
2623         * config/darwin-protos.h: Likewise.
2624         * config/darwin.h: Likewise.
2625         * config/s390/s390-protos.h: Likewise.
2626         * config/s390/s390.c: Likewise.
2627         * config/ia64/ia64.c: Likewse
2628         * config/ia64/ia64-protos.h: Likewise.
2629         * config/ia64/ia64-c.c: Likewise.
2630
2631 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2632
2633         * config/sparc/sparc.c: Convert to ISO C.
2634
2635         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2636         * config/sparc/sparc.c: Likewise.
2637
2638 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
2639
2640         PR c++/11512
2641         * stmt.c (expand_expr_stmt_value): Don't warn about any void
2642         typed expression.
2643
2644 2003-08-16  Jan Hubicka  <jh@suse.cz>
2645
2646         * i386.c (ix86_fntype_regparm): Rename from ...
2647         (ix86_function_regparm): ... this one; add fastcall and local
2648         functions.
2649         (ix86_function_ok_for_sibcall): Update.
2650         (ix86_return_pops_args): Likewise.
2651         (init_cumulative_args): Likewise.
2652         (x86_can_output_mi_thunk): Likewise.
2653         (function_arg): Fix formating.
2654         (x86_this_parameter): Fix fastcall.
2655         (x86_output_mi_thunk): Likewise.
2656
2657         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2658         body as reachable; mark nested functions as needed too.
2659         (dump_cgraph): Do not output global.calls.
2660         * cgraph.h (cgraph_global_info): Kill.
2661         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2662         (record_call_1): Speedup.
2663         (cgraph_analyze_function): Break out from ...; compute inlining
2664         parameters.
2665         (cgraph_finalize_compilation_unit): ... here.
2666         (cgraph_mark_inline): Kill computation of calls.
2667         (cgraph_decide_inlining): Do not compute most of initial values.
2668
2669 2003-08-14  Roger Sayle  <roger@eyesopen.com>
2670
2671         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2672         to negate if either operand is easy to negate, if we don't care
2673         about sign-dependent rounding.
2674         (negate_expr): Make the logic to negate a REAL_CST explicit.
2675         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2676         that's easy to negate, if we don't honor sign-dependent rounding.
2677         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2678         negate, and the symmetric A * -B as -A * B if A is easy to negate.
2679         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2680         -C/D if B and C are cheap to negate.  Add an explicit rule to
2681         optimize X/-1.0 as -X when we don't care about signaling NaNs.
2682
2683 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
2684
2685         * Makefile.in (tm_file): Rename tm_include_list.
2686         (tm_p_file): Rename tm_p_include_list.
2687         (build_xm_file): Rename build_xm_include_list.
2688         (host_xm_file): Rename host_xm_include_list.
2689         (xm_file): Rename xm_include_list.
2690         (xm_file_list): Add to be substituted.
2691         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2692         Update to match.
2693         (bt-load.o): Add missing dependency on $(TM_H).
2694         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2695         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2696         build_xm_file, generate both *_file_list and *_include_list
2697         values from it.  (xm_file_list was formerly not being generated.)
2698         In *_include_list, prefix the names of all headers found in
2699         $(srcdir)/config with config/.  In each loop, consider only
2700         the special case files that can actually appear in that list.
2701         AC_SUBST all *_file_list and all *_include_list variables; do
2702         not AC_SUBST the plain *_file variables.
2703         * configure: Regenerate.
2704
2705 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2706
2707         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2708
2709 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2710
2711         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2712         direct calls.
2713         (attr_length_call): Include it here.  Improve length estimate for
2714         local calls.
2715         (output_call): Use targetm.binds_local_p.
2716
2717 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2718
2719         * builtins.c (CASE_MATHFN): New helper macro.
2720         (mathfn_built_in): Simplify and sort.
2721
2722         * protoize.c (substr): Delete, callers changed to `strstr'.
2723
2724 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
2725
2726         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2727         * config/iq2000/xm-iq2000.h: Delete file.
2728
2729 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
2730
2731         * gengtype.c (walk_type): Process a subobject before processing
2732         the pointer that points to the subobject.
2733
2734 2003-08-13  Per Bothner  <pbothner@apple.com>
2735
2736         * regclass.c (init_reg_modes):  Make non-static.
2737         Rename to init_reg_modes_once per new naming convention.
2738         (init_regs):  Don't call init_reg_modes here.
2739         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
2740         * rtl.h (init_reg_modes_once):  New declaration.
2741         * toplev.c (backend_init):  Call init_regs after init_emit_once.
2742
2743 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2744
2745         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2746         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2747
2748 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
2749
2750         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2751         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2752
2753 2003-08-13  Dale Johannesen  <dalej@apple.com>
2754
2755         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
2756         handling of decrement-and-branch farther than 32 bits.
2757
2758 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
2759
2760         * configure.in (make_compare_target): Move test to ...
2761         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2762         * configure: Regenerate.
2763
2764 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
2765
2766         * config/mips/iris6.h: Convert to C90 prototypes.
2767         * config/mips/irix6-libc-compat.c: Likewise.
2768         * config/mips/mips-protos.h: Likewise.
2769         * config/mips/mips.c: Likewise.
2770
2771 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2772
2773         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
2774         for selected machines.  Comment heavily.
2775         fixinc/fixincl.x: Rebuild.
2776         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2777
2778 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
2779
2780         * config/mips/mips.h: Tweak various comments.
2781         * config/mips/mips.c: Likewise.
2782
2783 2003-08-11  James E Wilson  <wilson@tuliptree.org>
2784
2785         PR optimization/11319
2786         PR target/10021
2787         * alias.c (find_base_value, case REG): Return 0 not src if no base
2788         found.
2789
2790 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2791
2792         * gcse.c (gmalloc): Fix last change.
2793
2794 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2795
2796         * simplify-rtx.c (simplify_binary_operation): Replace calls to
2797         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2798         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2799         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2800
2801 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2802
2803         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2804         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2805         typecode for an ABS_EXPR.
2806
2807         * doc/c-tree.texi: Document ABS_EXPR.
2808
2809 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2810
2811         * fold-const.c (fold): Optimize any associative floating point
2812         operator with -funsafe-math-optimizations, not just MULT_EXPR.
2813
2814 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
2815
2816         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2817         information in SHmedia case too.
2818         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2819         Likewise.
2820         (__set_fpscr): Use an access via GOT for PIC case.
2821
2822 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
2823
2824         * configure.in (intermodule): Make switch test more portable.
2825         * configure: Regenerate.
2826
2827 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
2828
2829         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
2830         (restrap): Likewise.
2831
2832 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2833
2834         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
2835         (grealloc): Size argument is a size_t.
2836         (gcalloc): New function.  Use throughout in lieu of
2837         gmalloc/memset.
2838
2839         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
2840         xmalloc/memset.
2841         * config/ia64/ia64.c (ia64_reorg): Likewise.
2842         * conflict.c (conflict_graph_new): Likewise.
2843         * fixinc/fixincl.c (run_compiles): Likewise.
2844         * genattrtab.c (optimize_attrs): Likewise.
2845         * genrecog.c (new_decision): Likewise.
2846         * haifa-sched.c (schedule_block): Likewise.
2847         * hashtable.c (ht_create): Likewise.
2848
2849 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
2850
2851         * config/xtensa/lib2funcs.S: Fix whitespace.
2852         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
2853         syntax where appropriate.  Remove unnecessary backslash escapes.
2854         Reformat comments and fix some code formatting.
2855         (extendqisi2): Rearrange conditional.
2856         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
2857         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
2858         of fatal_insn.
2859
2860 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
2861
2862         * config/mips/mips.c: Various formatting fixes.
2863         (override_options): Resync -mtune handling with gas.
2864         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
2865         * config/mips/mips.h: More formatting fixes.
2866         (mips_abi): Move declaration.
2867         * config/mips/mips.md (exception_receiver): Add mode to
2868         unspec_volatile.
2869
2870 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
2871
2872         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
2873         evsplatfi here.
2874         (bdesc_1arg): Remove evsplati and evsplatfi.
2875
2876 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
2877
2878         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
2879         into account.
2880
2881 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2882
2883         * builtins.c (expand_builtin_strcat): Optimize constant strings.
2884
2885 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2886
2887         * pretty-print.c (pp_base_indent): Rename from pp_indent.
2888         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
2889         (struct c_pretty_print_info): Add more fields.
2890         (pp_c_left_paren): Move to c-pretty-print.c.
2891         (pp_c_right_paren): Likewise.
2892         (pp_c_left_brace): Likewise.
2893         (pp_c_right_brace): Likewise.
2894         (pp_c_left_bracket): Likewise.
2895         (pp_c_right_bracket): Likewise.
2896         (pp_c_declarator): Declare.
2897         (pp_c_direct_declarator): Likewise.
2898         (pp_c_specifier_qualifier_list): Likewise.
2899         (pp_c_type_id): Likewise.
2900         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
2901         (pp_c_type_qualifier_list): New.
2902         (pp_c_pointer): Likewise.
2903         (pp_c_parameter_type_list): Likewise.
2904         (pp_c_function_definition): Likewise.
2905         (pp_c_id_expression): Likewise.
2906         (pp_c_simple_type_specifier): Tidy.
2907         (pp_c_unary_expression): Likewise.
2908         (pp_c_expression): Likewise.
2909         (pp_c_pretty_printer_init): Likewise.
2910         (pp_c_specifier_qualifier_list): Rework..
2911         (pp_c_abstract_declarator): Likewise.
2912         (pp_c_postfix_expression): Likewise.
2913         (pp_c_primary_expression): Likewise.
2914         (pp_c_cast_expression): Likewise.
2915         (pp_c_direct_abstract_declarator): Likewise.
2916         (pp_c_storage_class_specifier): Likewise.
2917         (pp_c_function_specifier): Likewise.
2918         (pp_c_declaration_specifiers): Likewise.
2919         (pp_c_direct_declarator): Likewise.
2920         (pp_c_declarator): Likewise.
2921         (pp_c_declaration): Likewise.
2922         (pp_c_statement): Likewise.
2923         (pp_c_integer_constant): Rename from pp_c_integer_literal.
2924         (pp_c_character_constant): Rename from pp_c_character_literal.
2925         (pp_c_bool_constant): Rename from pp_c_bool_literal.
2926         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
2927         (pp_c_floating_constant): Rename from pp_c_real_literal.
2928         (pp_c_constant): Rename from pp_c_literal.
2929         * c-lang.c: Include diagnostic.h and c-pretty-print.h
2930         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
2931         (c_initialize_diagnostics): New.
2932         * Makefile.in (c-lang.o): Update dependency.
2933
2934 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
2935
2936         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2937
2938 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
2939
2940         * config/mips/mips.c (mips_no_mips16_string): Remove.
2941         (override_options): Don't handle -mips16 as part of -mipsN.
2942         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
2943         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
2944         (TARGET_OPTIONS): Remove -mno-mips16.
2945
2946 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
2947
2948         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
2949         (coprocessor2_operand): Likewise.
2950         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
2951         (lookup_name): Remove declaration.
2952         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
2953         (mips16, mips_abicalls): Remove.
2954         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
2955         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
2956         (coprocessor_operand, coprocessor2_operand): Remove.
2957         (override_options): Don't set mips16 or mips_abicalls.
2958         (print_operand): Don't expect SIGN_EXTEND operands.
2959         (mips_secondary_reload_class): Likewise.
2960         (mips_output_conditional_branch): Remove disabled long-branch code.
2961         * config/mips/mips.h (call_used_regs): Remove declaration.
2962         (may_call_alloca): Likewise.
2963         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
2964         (mips_abicalls, mips16): Remove declarations.
2965         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
2966         (CC1_SPEC): Remove outdated comment.
2967         (MIPS_VERSION, MACHINE_TYPE): Remove.
2968         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2969         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
2970         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
2971         (PUSH_ROUNDING): Likewise.
2972         (ASSEMBLER_SCRATCH_REGNUM): Remove.
2973         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
2974         and mips16 with TARGET_MIPS16.
2975
2976 2003-08-09  Per Bothner  <pbothner@apple.com>
2977
2978         * cppinit.c (cpp_read_main_file):  Split out source-independent
2979         initialization to separate function ...
2980         (cpp_post_options):  New function.
2981         * cppfiles.c (cpp_stack_file):  Rename public name to ...
2982         (_cpp_stack_file):  New internal function name.
2983         * cpplib.h:  Update accordingly.
2984         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
2985         (cpp_read_main_file):  Don't initialize line here.
2986         * c-opts.c (c_common_post_options):  Call cpp_post_options.
2987         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
2988         * fix-header.c (read_scan_file):  Call cpp_post_options.
2989
2990 2003-08-09  Per Bothner  <per@bothner.com>
2991
2992         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
2993
2994 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2995
2996         * pa.c (pa_asm_output_mi_thunk): Fix typo.
2997
2998 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
2999
3000         PR preprocessor/11839
3001         * cppfiles.c (open_file): Handle ENOTDIR.
3002
3003 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
3004
3005         PR target/11699
3006         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
3007
3008 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3009
3010         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
3011         source/destination is not a register operand.
3012
3013 2003-08-08  Richard Henderson  <rth@redhat.com>
3014
3015         PR target/11535
3016         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
3017         RETURN_ADDRESS_POINTER_REGNUM.
3018         (ia64_expand_prologue): Don't frob it.
3019         (ia64_output_function_epilogue): Likewise.
3020         (ia64_return_addr_rtx): New.
3021         (ia64_split_return_addr_rtx): New.
3022         * config/ia64/ia64-protos.h: Update.
3023         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
3024         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
3025         (GENERAL_REGNO_P): Don't check it.
3026         (AR_*_REGNUM): Renumber.
3027         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
3028         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
3029         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
3030         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
3031         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
3032         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
3033         (movdi_ret_addr): New.
3034
3035 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
3036
3037         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
3038
3039 2003-08-08  Roger Sayle  <roger@eyesopen.com>
3040
3041         * tree.h (get_identifier) Define a macro form of get_identifier
3042         that calls get_identifier_with_length when the string is constant.
3043         (get_identifier_with_length): Change type of second argument to
3044         size_t in prototype.
3045         * stringpool.c (get_identifier): Undefine the macro before giving
3046         the function definition.
3047         (get_identifier_with_length): Change  type of second argument to
3048         size_t in function definition.
3049         * hashtable.c (calc_hash): Change type of second argument to size_t.
3050         (ht_lookup): Change type of third argument to size_t.  Reorganize
3051         to speed-up the cases where the hash table slot is empty, or the
3052         first probe matches (i.e. there isn't a collision).
3053         * hashtable.h (ht_lookup): Adjust function prototype.
3054
3055 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
3056
3057         PR target/9697
3058         PR target/11777
3059         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
3060
3061 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
3062
3063         * common.opt: Add debug switches.
3064         * flags.h (use_gnu_debug_info_extensions): Boolify.
3065         * opts.c (write_symbols, debug_info_level,
3066         use_gnu_debug_info_extensions): Move from toplev.c.
3067         (set_debug_level): New.
3068         (common_handle_options): Handle debug switches.
3069         (print_help): Display target options directly.
3070         * toplev.c (debug_hooks): Don't initialize.
3071         (write_symbols, debug_info_level,
3072         use_gnu_debug_info_extensions): Move to opts.c.
3073         (debug_args, display_help, decode_g_option): Remove.
3074         (process_options): Set no debug if level zero here,
3075         and no-debug-hooks.  Error here if impossible debug format selected.
3076         * toplev.h (display_help, decode_g_option): Remove.
3077
3078 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
3079
3080         * tree.c (get_file_function_name_long): Fix size of alloca() area.
3081
3082 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
3083
3084         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
3085         and gcc_cv_prog_cmp_skip.
3086         * configure: Regenerate.
3087
3088 2003-08-08  Stan Cox  <scox@redhat.com>
3089
3090         * config/iq2000: New port.
3091         * config.gcc (iq2000-*-elf): Added.
3092         * doc/install.texi (Specific):  Add iq2000 description.
3093
3094 2003-08-08  Andreas Schwab  <schwab@suse.de>
3095
3096         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
3097         and insert missing empty argument.
3098         * configure: Regenerate.
3099
3100 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3101
3102         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
3103         (attr_length_millicode_call): Likewise.
3104         (attr_length_call): Likewise.  Revise some maximum insn lengths.
3105         (attr_length_indirect_call): Likewise.
3106         (output_call): Fix thinko that added extra nop.
3107         * pa.h (IN_NAMED_SECTION_P): Define.
3108
3109         PR c++/11712
3110         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
3111         __STDC_EXT__ when using C++ dialect.
3112
3113 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
3114
3115         * sh.c (calc_live_regs): If the return address pointer is live,
3116         force pr live.
3117         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
3118         for saves / restores.
3119         (sh_expand_epilogue): If sh_media_register_for_return returns a
3120         register number, flag the instructions that restores PR_MEDIA_REG
3121         as possibly dead.
3122         Remove dead update of offset.
3123         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
3124         we can use the result of get_hard_reg_initial_val.
3125         * sh.md (UNSPEC_RA): New constant.
3126         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
3127         (load_ra).  Handle UNSPEC_RA.
3128         (sibcall_media): Use PR_MEDIA_REG.
3129
3130         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
3131         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
3132         needs saving on SHmedia.
3133
3134 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
3135
3136         * config/s390/s390.md: Replace all occurrences of \\t with \t.
3137
3138 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
3139
3140         * local-alloc.c (combine_regs): Fix comment typo.
3141
3142 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
3143
3144         * c-decl.c (builtin_decls): Replace with first_builtin_decl
3145         and last_builtin_decl.
3146         (c_init_decl_processing): Initialize both.
3147         (c_reset_state): Iterate from first_builtin_decl to
3148         last_builtin_decl inclusive to reintroduce builtins.
3149
3150 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
3151
3152         * doc/extend.texi (Function Attributes): Document the IA-64 version
3153         of the "model" attribute.
3154
3155         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
3156         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
3157         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
3158
3159         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
3160         (ia64_encode_section_info): Likewise.
3161         (ia64_attribute_table): Add "model" attribute.
3162         (TARGET_ENCODE_SECTION_INFO): Define.
3163         (small_addr_symbolic_operand): New function.
3164         (got_symbolic_operand): Return 0 for a symbolref to an object
3165         in the small address area.
3166         (enum ia64_addr_area): New type.
3167         (small_ident1): New variable.
3168         (small_ident2): Likewise.
3169         (init_idents): New function.
3170         (ia64_get_addr_area): Likewise.
3171         (ia64_encode_addr_area): Likewise.
3172         (ia64_encode_section_info): Likewise.
3173         (ia64_expand_load_address): For symbolic references to objects in
3174         the small-address-area, load the address via gen_rtx_SET() (which,
3175         eventually, will expand into "addl").
3176
3177 2003-08-06  Per Bothner  <pbothner@apple.com>
3178
3179         * line-map.h (fileline):  New typedef.
3180         (struct line_map, linemap_add, linemap_lookup):  Use it.
3181         * input.h (struct location_s):  Comment notes that long-term we want
3182         to replace it by fileline.
3183
3184 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
3185
3186         Fix SHcompact exception handling:
3187         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
3188         by the prologue, return a MEM with return_address_pointer_rtx
3189         as address.
3190         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
3191         (RETURN_ADDR_OFFSET): Don't define.
3192         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
3193         registers that are visible in compact mode.  Show that SHmedia
3194         registers still exist in compact mode, even if there are not
3195         readily accessible.
3196         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
3197         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
3198         and DW_EH_PE_pcrel for pic data.
3199         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
3200         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
3201         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
3202         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
3203         * sh.md (movsi_media-1): New splitter.
3204
3205 2003-08-06  Graeme Peterson <gp@qnx.com>
3206
3207         * config/i386/nto.h: New.
3208         * config/i386/t-nto: New.
3209         * config.gcc (i[34567]86-*-nto-qnx*): New.
3210
3211 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
3212
3213         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
3214
3215 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
3216
3217         * calls.c (load_register_parameters): Arrange for call_fusage to
3218         report the whole register as used when shifting to the msb.
3219
3220 2003-08-05  Roger Sayle  <roger@eyesopen.com>
3221
3222         * builtins.c (expand_builtin): When not optimizing, call the library
3223         function for all builtins that have library functions (except alloca).
3224
3225 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
3226
3227         * c.opt: Introduce -fworking-directory.
3228         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
3229         * c-common.h (flag_working_directory): Declare.
3230         * c-common.c (flag_working_directory): Define.
3231         * c-opts.c (c_common_handle_options): Set it.
3232         (sanitize_cpp_opts): Set...
3233         * cpplib.h (struct cpp_options): ... working_directory option.
3234         (struct cpp_callbacks): Add dir_change.
3235         * cppinit.c (read_original_filename): Call...
3236         (read_original_directory): New.  Look for # 1 "directory//"
3237         and process it.
3238         (cpp_read_main_file): Call dir_change callback if working_directory
3239         option is set.
3240         * gcc.c (cpp_unique_options): Pass -g*.
3241         * c-lex.c (cb_dir_change): New.
3242         (init_c_lex): Set dir_change callback.
3243         * toplev.c (src_pwd): New static variable.
3244         (set_src_pwd, get_src_pwd): New functions.
3245         * toplev.h (get_src_pwd, set_src_pwd): Declare.
3246         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
3247         * dwarf2out.c (gen_compile_unit_die): Likewise.
3248         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
3249
3250 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3251
3252         * pretty-print.h (pp_set_line_maximum_length): Make macro.
3253         (pp_set_prefix): Likewise.
3254         (pp_destroy_prefix): Likewise.
3255         (pp_remaining_character_count_for_line): Likewise.
3256         (pp_clear_output_area): Likewise.
3257         (pp_formatted_text): Likewise.
3258         (pp_last_position_in_text): Likewise.
3259         (pp_emit_prefix): Likewise.
3260         (pp_append_text): Likewise.
3261         (pp_flush): Likewise.
3262         (pp_format_text): Likewise.
3263         (pp_format_verbatim): Likewise.
3264         (pp_tree_identifier): Tidy.
3265         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
3266         (pp_base_format_verbatim): Rename from pp_format_verbatim.
3267         (pp_base_flush): Rename from pp_flush.
3268         (pp_base_set_line_maximum_length): Rename from
3269         pp_set_line_maximum_length.
3270         (pp_base_clear_output_area): Rename from pp_clear_output_area.
3271         (pp_base_set_prefix): Rename from pp_set_prefix.
3272         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
3273         (pp_base_emit_prefix): Rename from pp_emit_prefix.
3274         (pp_base_append_text): Rename from pp_append_text.
3275         (pp_base_formatted_text): Rename from pp_formatted_text.
3276         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
3277         (pp_base_remaining_character_count_for_line): Rename from
3278         pp_remaining_character_count_for_line.
3279         * diagnostic.h (diagnostic_format_decoder): Tidy.
3280         (diagnostic_flush_buffer): Likewise.
3281         * c-pretty-print.h: (pp_c_string_literal): Declare.
3282         (pp_c_real_literal): Likewise.
3283         (pp_c_integer_literal): Likewise.
3284         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
3285         pp_identifier.
3286         (pp_c_character_literal): Tidy.
3287         (pp_c_string_literal): Make public.
3288         (pp_c_bool_literal): Likewise.
3289         (pp_c_integer_literal): Likewise.
3290         (pp_c_real_literal): Likewise.
3291
3292         * Makefile.in (C_PRETTY_PRINT_H): New variable.
3293         (c-pretty-print.o): Update dependence.
3294
3295 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
3296
3297         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
3298         ".set nomacro" state.
3299         (fix_truncsfsi2_macro): Likewise.
3300
3301 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
3302
3303         * tree.h (DID_INLINE_FUNC): Remove macro.
3304         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
3305         add tree check for FUNCTION_DECL.
3306         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
3307         (struct tree_decl): Rename inlined_function_flag to
3308         declared_inline_flag.
3309         * c-common.h (c_lang_decl): Remove.
3310         (DECL_ESTIMATED_INSNS): Remove.
3311         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
3312         (DECL_DECLARED_INLINE_P): Remove.
3313         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
3314         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
3315         (finish_function): Make uninlinable a bool.  Fixup call to
3316         tree_inlinable_function_p() and fix some code style issues.
3317         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
3318         * cgraph.c (dump_cgraph): Likewise.
3319         * cgraphunit.c (cgraph_decide_inlining): Likewise
3320         (cgraph_finalize_compilation_unit): Likewise.
3321         Also update call to tree_inlinable_function_p().
3322         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
3323         look at DECL_DECLARED_INLINE and reverse logic.
3324         * print-tree.c (print_node): Likewise.
3325         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
3326         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
3327         prototype.
3328         * tree-inline.c (inlinable_function_p): Split up in this function to
3329         check for basic inlining inhibiting conditions, and new
3330         limits_allow_inlining() function.  Warn if inlining is impossible
3331         because the inline candidate calls alloca or uses sjlj exceptions.
3332         (limits_allow_inlining): this new function to check if the inlining
3333         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
3334         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
3335         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
3336         Update prototypes.
3337         (tree_inlinable_function_p): Make a bool.  Update call to
3338         inlinable_function_p
3339         (expand_call_inline): Use limits_allow_inlining() when not in
3340         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
3341         instead see if the function was declared `inline'.
3342
3343 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
3344
3345         * gcse.c (try_replace_reg): Fix updating of note.
3346
3347 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3348
3349         PR middle-end/11771
3350         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
3351         logic in negate_expr, i.e. we don't invert (A-B) for floating
3352         point types unless flag_unsafe_math_optimizations.
3353
3354 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3355
3356         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
3357         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
3358         for floating point expressions with -ffast-math.
3359         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
3360         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
3361
3362 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3363
3364         * c-common.c (flag_noniso_default_format_attributes): Delete.
3365         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
3366         (c_attrs_initialized): Delete.
3367         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
3368         always call c_init_attributes.
3369         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
3370         set c_attrs_initialized when done.
3371         (c_common_insert_default_attributes): Delete.
3372         * c-common.h (flag_noniso_default_format_attributes): Delete.
3373         (c_coomon_insert_default_attributes): Delete prototype.
3374         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
3375         flag_noniso_default_format_attributes.
3376
3377         * c-decl.c (c_insert_default_attributes): Delete.
3378         * c-tree.h (c_insert_default_attributes): Delete prototype.
3379
3380         * attribs.c (decl_attributes): Don't call insert_default_attributes
3381         langhook.  Update function description comment.
3382         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3383         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3384         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3385         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3386
3387         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3388         define.
3389
3390 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
3391
3392         * config/mips/mips.c (override_options): Disable -G on targets that
3393         have no .section support.
3394         (mips_select_section): Use default_select_section for such targets.
3395
3396 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3397
3398         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3399         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3400         * fixinc/fixincl.x: Rebuild.
3401         * fixinc/tests/base/regexp.h: New test.
3402
3403 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
3404
3405         * c-ppoutput.c (cb_line_change): Don't skip line changing while
3406         parsing macro arguments in the top-level context.
3407
3408 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
3409
3410         * config.in: Remove HAVE_LSTAT.
3411         * configure, configure.in: Don't test for lstat.
3412
3413 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3414
3415         * opts.c (decode_options): Do language-specific initialization for
3416         the global diagnostic context.
3417         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3418         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3419         (LANG_HOOKS_INITIALIZER): Adjust.
3420         * langhooks.h (struct lang_hooks): Add new field
3421         initialize_diagnostics.
3422         * langhooks.c (lhd_initialize_diagnostics): Define.
3423
3424 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3425
3426         * pretty-print.h:   Adjust macro definitions.
3427         * pretty-print.c (pp_newline): Rename to pp_base_newline.
3428         (pp_character): Rename to pp_base_character.
3429         (pp_string): Rename to pp_base_string.
3430         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3431         (pp_newline):  Likewise.  Adjust.
3432         (pp_c_char): Adjust.
3433
3434 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3435
3436         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3437         BUILT_IN_LLABS): Move to miscellaneous section.
3438
3439 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
3440
3441         PR preprocessor/11534
3442         * cppexp.c (parse_defined): Warn only if -pedantic.
3443
3444 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
3445
3446         * cppfiles.c (stack_file): Use file path.
3447
3448 2003-08-02  Roger Sayle  <roger@eyesopen.com>
3449
3450         * builtin-types.def (BT_SSIZE): New primitive type.
3451         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
3452         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
3453         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
3454         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
3455         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
3456         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
3457         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
3458         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
3459         few functions that define default attributes using it.
3460         * c-common.c (c_common_insert_default_attributes): Do nothing.
3461
3462         * doc/extend.texi: Document these "new" builtins.
3463
3464 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
3465
3466         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
3467         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
3468         when -mieee-fp set and -shared not set.
3469         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
3470
3471 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
3472
3473         * cppfiles.c (struct _cpp_file): Rename once_only_next to
3474         next_file.  Remove import and pragma_once, add once_only.
3475         (find_file): Add new file structures to the all_files list.
3476         (should_stack_file): Mark #import-ed files once-only, and
3477         don't stack them if the file has already been stacked.
3478         (_cp_mark_file_once_only): Simplify.
3479         * cpphash.h (struct cpp_reader): Rename once_only_files
3480         to all_files.  Rename saw_pragma_once to seen_once_only.
3481         (_cpp_mark_file_once_only): Update prototype.
3482         * cpplib.c (do_pragma_once): Update.
3483
3484 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
3485
3486         * cppfiles.c (ENOTDIR): Remove.
3487         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
3488         other than ENOENT here.
3489         (once_only_file_p): Rename should_stack_file.
3490         (find_file, open_file_failed, read_file_guts): Report errors
3491         with full path name.
3492         (read_file): Move pch handling to should_stack_file.
3493         (should_stack_file): Handle PCH and once-only issues, and
3494         reading the file.
3495         (stack_file): Don't do file reads.
3496
3497 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3498
3499         * libgcov.c (gcov_exit): Cleanup and fix.
3500         * profile.c (compute_value_histograms): Don't try to read profiles
3501         that are not present.
3502
3503 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3504
3505         * builtins.def: Categorize.
3506
3507         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3508         Mind fp rounding.
3509         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
3510
3511 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
3512
3513         * config.gcc: Enable posix threads by default on darwin.
3514
3515 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
3516
3517         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
3518         even if nehedges1 is 0.
3519
3520 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
3521
3522         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
3523         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
3524         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
3525         and defintions.
3526
3527         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
3528         * fixinc/fixincl.x: Regenerate.
3529         * fixinc/tests/base/math.h: Regenerate to match test_text change.
3530
3531 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3532
3533         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
3534
3535 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3536
3537         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
3538         for accesses to exc_ptr.
3539
3540 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
3541
3542         * doc/sourcebuild.texi (Front End Directory): Don't make references
3543         to libsubdir, it's not part of the interface to frontends.
3544         * doc/install.texi (Configuration): Help users read faster by saying
3545         that GCC's configure options are the standard autoconf ones.
3546         Mention --libdir.  Update the default rules for finding the
3547         assembler.  Don't use libsubdir since we haven't said what it means.
3548         (Specific): In the Solaris 7 notes, update the place to put the
3549         assembler.
3550         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
3551         * doc/cpp.texi (Search Path): Actually, the search path
3552         depends on libdir, which can relocate with cpp.
3553         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
3554         now a private interface between the Makefile and the driver.
3555
3556 2003-08-01  Richard Henderson  <rth@redhat.com>
3557
3558         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
3559
3560         * varasm.c (lookup_constant_def): New function.
3561         * rtl.h (lookup_constant_def): Declare it.
3562         * dwarf2out.c (loc_descriptor_from_tree): Use it.
3563         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
3564
3565 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
3566
3567         * c-decl.c (gettags, pushdecl_function_level): Delete.
3568         (last_function_parm_vars): Rename last_function_parm_others.
3569         (current_function_parm_vars): Rename current_function_parm_others.
3570         (struct c_scope): Rewrite comment explaining this data structure.
3571         Add names_last, blocks_last, parms_last fields.  Rename
3572         incomplete_list to incomplete.
3573         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
3574         (poplevel): Ignore second argument.  No need to nreverse
3575         anything.  Restructure such that each list is processed
3576         exactly once.  Use 'const location_t *locus' syntactic sugar
3577         variable where useful.  Issue unused variable warnings
3578         ourselves, do not rely on function.c.
3579         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
3580         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
3581         (implicitly_declare): decl cannot be error_mark_node.
3582         (undeclared_variable): Manipulate scope structure directly.
3583         (c_make_fname_decl): Likewise.
3584         (getdecls, c_init_decl_processing): Fix comment.
3585         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
3586         for 'last' variable.
3587         (grokparms): No need to nreverse parms list.
3588         (store_parm_decls_newstyle): Set up the parms_last and
3589         names_last fields of the new scope too.
3590         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
3591         on parms to begin with; check this under ENABLE_CHECKING.  Set
3592         up parms_last.
3593         (check_for_loop_decls): Refer directly to current_scope->tags.
3594         Use consistent quote style in diagnostics.
3595         (c_write_global_declarations): The names list is not backward.
3596
3597         * c-common.h: Don't prototype gettags.
3598         * c-parse.in: Call poplevel with second argument 0 always.
3599
3600 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3601
3602         * builtins.def: Resort builtins.
3603
3604 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3605
3606         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
3607         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
3608         Prepend "__builtin_" onto NAME with string concatenation.  Remove
3609         explicit "__builtin_" from each macro call.
3610
3611         Reformat entire file.
3612
3613 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3614
3615         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3616         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
3617
3618 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
3619
3620         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
3621         CCL1, or CCL2 modes with floating point operations.
3622
3623         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
3624         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
3625         "*subdf3_cconly"): New insns.
3626         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
3627
3628 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
3629
3630         * Makefile.in: Refine dependencies.
3631         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
3632         * c.opt: Update help for -Wimport.
3633         * cppfiles.c: Include hashtab.h.  Update comments.
3634         (stack_file): Read the file before updating dependencies.
3635         (once_only_file_p): Be smarter about marking once-only files.
3636         (_cpp_mark_file_once_only): Correct the check for existence on
3637         the list.
3638         (open_file_failed): Use name not path, which is NULL.
3639         * cpphash.h: Don't include hashtab.h.
3640         (struct _cpp_file): Remove.
3641         (struct cpp_reader): Update.
3642         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
3643         * cpplib.h (struct cpp_options): Remove warn_import.
3644         (cpp_simplify_path): Remove.
3645
3646 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
3647
3648         PR c++/11295
3649         * doc/extend.texi (Statement Expressions): Document C++ semantics.
3650
3651 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
3652
3653         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
3654
3655 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3656
3657         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
3658         throughout.
3659         * builtins.def: Likewise.
3660
3661 2003-07-31  Jason Merrill  <jason@redhat.com>
3662
3663         * Makefile.in (bubblestrap): Don't require a previous full
3664         bootstrap.
3665
3666         * expr.c (mostly_zeros_p): No longer static.
3667         * tree.h: Declare it.
3668         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
3669         unless we need to do substitutions.
3670
3671 2003-07-31  Roger Sayle  <roger@eyesopen.com>
3672
3673         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
3674         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
3675         as pow(x,2.0) when the latter will be expanded back into x*x.
3676         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
3677         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
3678         pow can never set errno when used with an integer exponent.
3679         Always use expand_powi when exponent is -1, 0, 1 or 2.
3680         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
3681         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
3682         the pow forms of these expressions.
3683
3684 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
3685
3686         * Makefile.in (libexecdir): New.
3687         (libsubdir): Use gcc instead of gcc-lib.
3688         (libexecsubdir): New.
3689         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
3690         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
3691         gcc-lib.
3692         (installdirs): Make libexecsubdir.
3693         (install-common): Put executables in libexecsubdir.
3694         (itoolsdir): Use libexecsubdir.
3695         (itoolsdatadir): New.
3696         (install-mkheaders): Separate data files and executables.
3697         (install-collect2): Put executables in libexecsubdir.
3698         (uninstall): Remove libexecsubdir.
3699         * mkheaders.in: Update for new arrangement of files.
3700         (libexecdir): New.
3701         (libexecsubdir): New.
3702         (itoolsdir): Use libexecsubdir.
3703         (itoolsdatadir): New.
3704         * gcc.c (gcc_libexec_prefix): New.
3705         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
3706         (standard_exec_prefix_1): Use libexec.
3707         (standard_exec_prefix_2): New.
3708         (standard_libexec_prefix): New.
3709         (process_command): Update for new arrangement of files.  Compute
3710         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
3711
3712 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3713
3714         * inclhack.def (stdio_va_list): Avoid bogus replacement which
3715         triggers on Interix.
3716         * fixincl.x: Regenerate.
3717
3718 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
3719
3720         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
3721         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
3722
3723 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3724
3725         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
3726
3727 2003-07-31  Per Bothner  <pbothner@apple.com>
3728
3729         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
3730         (add_input_filename):  New function.
3731         (handle_options):  Call add_input_filename directly instead of
3732         with a lang hook.
3733         * opts.h (in_fnames, num_in_fnames):  Moved here.
3734         (add_input_filename):  Declare.
3735         * c-decl.c:  Need to #include opts.h.
3736         * Makefile.in (c-decl.o):  Also depends on opts.h.
3737         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
3738         (c_common_handle_filename):  Replaced by add_input_filename.
3739         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
3740         Remove.
3741         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
3742         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
3743         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
3744         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
3745
3746 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3747
3748         * combine.c (try_combine): Set JUMP_LABEL for newly created
3749         unconditional jump.
3750
3751 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3752
3753         * fold-const.c (fold): Fold some comparisons of bit operations.
3754
3755 2003-07-31  Jan Hubicka  <jh@suse.cz>
3756
3757         * cgraph.c (create_edge): Fix typo.
3758         * i386.c (pic_symbolic_operand): Reorder tests.
3759
3760 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
3761
3762         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
3763         more fully.
3764         (Gcov Data Files): Update.
3765
3766 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3767
3768         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
3769         default.
3770
3771         * gthr-posix.c: New file.
3772         * gthr-posix.h: Define _REENTRANT if missing.
3773         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
3774
3775         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
3776         by gthr-posix.o.
3777         * config/alpha/t-osf-pthread: New file.
3778
3779         * fixinc/inclhack.def (alpha_pthread): New fix.
3780         * fixinc/fixincl.x: Regenerate.
3781         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
3782
3783         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
3784         warning.
3785         Fixes PR bootstrap/9330.
3786
3787 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3788
3789         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
3790         without GNU ld.
3791         Update comment.
3792         * configure: Regenerate.
3793
3794 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
3795
3796         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
3797         setter.
3798
3799 2003-07-30  Roger Sayle  <roger@eyesopen.com>
3800
3801         * builtins.def: Alphabetize.
3802
3803 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
3804
3805         * doc/c-tree.texi: Normalize spellings of "lowercase" and
3806         "uppercase".
3807         * doc/cpp.texi: Likewise.
3808         * doc/md.texi: Likewise.
3809         * doc/rtl.texi: Likewise.
3810         * doc/tm.texi: Likewise.
3811
3812 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
3813
3814         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
3815         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
3816         of cc1obj.
3817
3818 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
3819
3820         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
3821         macros before defining them.
3822
3823 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
3824
3825         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
3826         UNSPECV_BLOCKAGE): New constants.
3827         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
3828         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
3829         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
3830         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
3831
3832         (all insns and expanders): Write output control string as brace block
3833         where appropriate.  Remove \-escapes for doublequote characters.
3834
3835 2003-07-31  Jan Hubicka  <jh@suse.cz>
3836
3837         * gcse.c (insert_store): Fix typo in previous patch.
3838
3839 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
3840
3841         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
3842
3843 2003-07-30  Andi Kleen  <ak@muc.de>
3844
3845         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
3846
3847 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3848
3849         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
3850         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
3851         GCOV_N_VALUE_COUNTERS): New.
3852         * profile.c (compute_value_histograms): New static function.
3853         (branch_prob): Read back the value histograms.
3854         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
3855         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
3856         * value-prof.c: Add comment on reading the profile.
3857         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
3858         * doc/invoke.texi (-fprofile-values): Document behavior with
3859         -fbranch-probabilities.
3860
3861 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
3862
3863         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
3864
3865 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
3866
3867         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
3868         symbolically.
3869
3870 2003-07-30  Jan Hubicka  <jh@suse.cz>
3871
3872         * gcse.c (insert_store): Ignore fake edges.
3873
3874         * c-common.c (flag_vtable_gc): Kill.
3875         * c-common.g (flag_vtable_gc): Kill.
3876         * c-opts (c_common_handle_option): Kill.
3877         * c.opt (fvtable-gc): Kill.
3878         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
3879         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3880         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3881
3882         * invoke.texi (-ftable-gc): Kill documentation.
3883
3884         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
3885         just because function body is missing.
3886
3887         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
3888
3889 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
3890
3891         * unwind-sjlj.c: Fix typo in file description.
3892
3893 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
3894
3895         * calls.c (load_register_parameters): When shifting reg sized values
3896         to the msb, move the value to a reg first.
3897
3898 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
3899
3900         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
3901         * line-map.h (linemap_add): Update comments.
3902         * line-map.c (linemap_add): Update comments, interpret zero-length
3903         filename as "<stdin>".
3904
3905 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
3906
3907         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
3908
3909 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
3910
3911         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
3912         New static variables.
3913         (struct c_scope): Add parms and warned_forward_parm_decls
3914         fields; remove parm_order.
3915         (storedecls, storetags): Delete.
3916         (poplevel): Also clear bindings on the parms chain.
3917         (pushdecl): Handle forward declarations of parameters, and
3918         chain PARM_DECLs on the parms list, not the names list.
3919         (lookup_name_current_level): Check for PARM_DECLs on the parms
3920         list too.
3921         (push_parm_decl): Don't update parm_order.
3922         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
3923         warning, only once per parameter list, and set TREE_ASM_WRITTEN
3924         on the decls here.  Then move the forward decls to the names list.
3925         (grokparms): Set last_function_parm_vars.
3926         (get_parm_info): Don't use gettags or getdecls.  No need to
3927         extract non-parms from the parms list, or reorganize the parms
3928         list.  Feed nonparms back in the TREE_TYPE of the list node
3929         returned.  Issue only one error per parameter list for "void"
3930         appearing more than once in said parameter list.  Collapse
3931         parmlist_tags_warning into this function to avoid double scan
3932         of tags list.
3933         (start_function): Set current_function_parm_vars.
3934         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
3935         directly.  Get non-parms from current_function_parm_vars; no
3936         need to extract them from the parms chain.  Properly bind tags
3937         in the new scope.
3938         (store_parm_decls_oldstyle): No need to extract non-parameters
3939         from the parms chain, nor to store them back afterward.  Move
3940         declaration to top of function, restructure code reordering
3941         DECL_ARGUMENTS.
3942         (store_parm_decls): No need to save and restore warn_shadow.
3943         * c-parse.in: Don't call parmlist_tags_warning nor
3944         clear_parm_order.  Call mark_forward_parm_decls when forward
3945         parm decls are encountered.
3946         * c-tree.h: Prototype mark_forward_parm_decls; not
3947         clear_parm_order or parmlist_tags_warning.
3948
3949 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
3950
3951         * c-common.c (allow_pch): Remove.
3952         * c-common.h (allow_pch): Remove.
3953         (c_common_no_more_pch): Declare.
3954         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
3955         * c-pch.c: Include hosthooks.h.
3956         (c_common_valid_pch): Don't check allow_pch.
3957         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
3958         (c_common_no_more_pch): New.
3959         * ggc-common.c: Include hosthooks.h.
3960         (gt_pch_save): Call gt_pch_get_address.
3961         (gt_pch_restore): Call gt_pch_use_address.
3962         * hooks.c (hook_voidp_size_t_null): New.
3963         (hook_bool_voidp_size_t_false): New.
3964         * hooks.h (hook_voidp_size_t_null): New.
3965         (hook_bool_voidp_size_t_false): New.
3966         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
3967         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
3968         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
3969         HOST_HOOKS_GT_PCH_USE_ADDRESS.
3970         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
3971         gt_pch_use_address.
3972         * doc/hostconfig.texi (Host Common): Document
3973         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
3974         * Makefile.in (c-pch.o): Depend on hosthooks.h.
3975         (ggc-common.o): Likewise.
3976
3977         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
3978         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
3979         (pch_address_space): New.
3980         (darwin_rs6000_gt_pch_get_address): New.
3981         (darwin_rs6000_gt_pch_use_address): New.
3982
3983 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
3984
3985         PR preprocessor/11569
3986         PR preprocessor/11649
3987         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
3988         * cppfiles.c: Completely rewritten.
3989         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
3990         struct cpp_path is now struct cpp_dir.
3991         (remove_duplicates): Don't simplify path names.
3992         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
3993         cpp_stack_file.
3994         * cpphash.h: Include hashtab.h.
3995         (_cpp_file): Declare.
3996         (struct cpp_buffer): struct include_file is now struct _cpp_file,
3997         and struct cpp_path is now struct cpp_dir.  Rename members.
3998         (struct cpp_reader): Similarly.  New members once_only_files,
3999         file_hash, file_hash_entries, quote_ignores_source_dir,
4000         no_search_path, saw_pragma_once.  Remove all_include_files and
4001         max_include_len.  Make some members bool.
4002         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
4003         (_cpp_stack_file): Renamed from _cpp_read_file.
4004         (_cpp_stack_include): Renamed from _cpp_execute_include.
4005         (_cpp_init_files): Renamed from _cpp_init_includes.
4006         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
4007         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
4008         (cpp_read_next_file): Rename and move to cppfiles.c.
4009         (cpp_read_main_file): Update.
4010         * cpplib.c (run_directive): Update for renamed members.
4011         (do_include_common, _cpp_pop_buffer): Update.
4012         (do_import): Undeprecate #import.
4013         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
4014         * cpplib.h: Remove file_name_map_list.
4015         (cpp_options): Remove map_list.
4016         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
4017         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
4018
4019 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
4020
4021         * Makefile.in:  Make stamp-objdir safe for parallel builds.
4022
4023 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
4024
4025         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
4026         (info):  Depend on stmp-docobjdir.
4027
4028 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4029
4030         * configure: Regenerate.
4031
4032 2003-07-29  Jan Hubicka  <jh@suse.cz>
4033
4034         PR C++/11131
4035         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
4036         in !unit-at-a-time mode.
4037
4038 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
4039
4040         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
4041         main function.
4042
4043 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
4044
4045         PR c++/11667
4046         * c-common.c (shorten_compare): Take into account differences
4047         between C and C++ representation for enumeration types.
4048         * tree.h (set_min_and_max_values_for_integral_type): Declare.
4049         * stor-layout.c (set_min_and_max_values_for_integral_type): New
4050         function, broken out from ...
4051         (fixup_signed_type): ... here and ...
4052         (fixup_unsigned_type): ... here.
4053
4054 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
4055
4056         * c-decl.c: Update commentary, adjust blank lines throughout.
4057         (struct c_scope): Fix indentation.  Reorder members so
4058         outer-context pointers come first, booleans last.
4059         (duplicate_decls, define_label): Use a 'locus' variable for
4060         diagnostic locations in a few more places.
4061         (warn_if_shadowing): Un-split a conditional that fits on one line.
4062         (c_init_decl_processing): No need to clear current_scope and
4063         current_function_scope.
4064         (start_decl): Merge if/else if statements with same action.
4065         (push_parm_decl): Rename old_immediate_size_expand to use
4066         save_foo convention; save/restore around entire function.
4067         (grokdeclarator): Remove unnecessary braces.
4068
4069 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
4070             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
4071
4072         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
4073         when warn_declaration_after_statement.  Call pedwarn_c90, not
4074         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
4075         * c-common.c (warn_declaration_after_statement): Define.
4076         * c-common.h (warn_declaration_after_statement): Declare.
4077         * c.opt (Wdeclaration-after-statement): New.
4078         * c-errors.c (pedwarn_c90): New function.
4079         * c-opts.c (c_common_handle_option) <case
4080         OPT_Wdeclaration_after_statement>: New.
4081         * c-tree.h (pedwarn_c90): Declare.
4082         * doc/invoke.texi (Option Summary): Document
4083         -Wdeclaration-after-statement.
4084         (Warning Options): Ditto.
4085
4086 2003-07-28  Jan Hubicka  <jh@suse.cz>
4087
4088         * i386.md (memory attribute) Avoid accessing uninitialized memory
4089         for ishift1 type instructions.
4090
4091 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
4092
4093         * configure.in (--enable-checking): Add fold category.
4094         (ENABLE_FOLD_CHECKING): Define if requested.
4095         * configure: Rebuilt.
4096         * config.in: Rebuilt.
4097         * doc/install.texi: Document it.
4098         * fold-const.c: Include md5.h.
4099         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
4100         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
4101         print_fold_checksum): New functions.
4102
4103         * fold-const.c (fold): Never modify argument passed to fold, instead
4104         change a copy and return it.
4105         * convert.c (convert_to_integer): Likewise.
4106
4107 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
4108
4109         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
4110         cleanup of junk after #else and #endif directives.  Collapse repeated
4111         clauses into for statment.
4112
4113         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
4114
4115 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
4116
4117         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
4118         (keep_next_if_subblocks): Rename next_is_function_body.
4119         (pushlevel): Adjust commentary.  Always set ->keep on the
4120         outermost level of a function.  Don't set ->keep_if_subblocks.
4121         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
4122         (store_parm_decls): Adjust to match.
4123         (finish_function): Adjust to match.
4124         Call poplevel with all three arguments zero.
4125
4126         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
4127         New functions split out of store_parm_decls.
4128         Avoid unnecessary work. Use local variables consistently.
4129         (store_parm_decls): Likewise.
4130
4131         (finish_function): No need to set functionbody flag on call to
4132         poplevel.
4133         (struct language_function): Remove scope field.
4134         (c_push_function_context, c_pop_function_context): No need to
4135         save and restore current_scope.
4136
4137 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
4138
4139         * doc/extend.texi (Deprecated Features): Implicit typename is
4140         gone. Default args on types is going.
4141
4142 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
4143
4144         * Makefile.in (ifcvt.o): Depend on target.h
4145         * ifcvt.c (target.h): Include.
4146         (if_convert): Don't call mark_loop_exit_edges if we can't
4147         modify jumps.
4148
4149 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4150
4151         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
4152
4153 2003-07-26  Richard Henderson  <rth@redhat.com>
4154
4155         PR inline-asm/11676
4156         * cse.c (count_reg_usage): Handle asm_operands properly.
4157
4158 2003-07-26  Roger Sayle  <roger@eyesopen.com>
4159
4160         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
4161         (DEF_EXT_FALLBACK_BUILTIN): Delete.
4162         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
4163         the regular DEF_EXT_LIB_BUILTIN macro.
4164         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
4165         the regular DEF_LIB_BUILTIN macro.
4166         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
4167         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
4168         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
4169         DEF_EXT_LIB_BUILTIN macro.
4170
4171         * c-decl.c (duplicate_decls): Remove code to handle builtin
4172         functions prototyped without an argument list.
4173
4174 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
4175
4176         * config/i386/winnt.c: Revert 2003-07-08 change.
4177         (i386_pe_section_type_flags): Remove error_with_decl here too.
4178
4179 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4180
4181         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
4182         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
4183         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
4184         (v850_handle_data_area_attribute): Likewise.
4185
4186 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
4187
4188         * varasm.c (output_constant_def_contents): Use
4189         ASM_DECLARE_CONSTANT_NAME if defined.
4190         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
4191         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
4192         objects get at least one byte to prevent assembler problems.
4193         (ASM_DECLARE_CONSTANT_NAME): New.
4194
4195         * Makefile.in (libbackend.o): Remove options_.h.
4196         (mostlyclean): Likewise.
4197
4198         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
4199         insert a label at the end of an function under Mach-O.
4200
4201         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
4202
4203 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
4204
4205         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
4206         equality.
4207         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
4208
4209         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
4210
4211 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4212
4213         * doc/passes.texi (Passes): Mention pretty-printing and
4214         diagnostic files.
4215
4216 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
4217
4218         * doc/extend.texi (Function Attributes): GNU C++ does now allow
4219         unused parameter decls.
4220         (Attribute Syntax): GNU C++ does not allow label attributes to be
4221         after the ':'.
4222
4223 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4224
4225         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
4226         (objc_declare_class): Likewise.
4227         (error_with_ivar): Likewise.
4228         (start_class): Likewise.
4229         (warn_with_method): Likewise.
4230
4231 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4232
4233         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
4234         from GCC.
4235         * calls.c (try_to_integrate): Don't use xxx_with_decl.
4236         (expand_call): Likewise.
4237         * dwarfout.c (output_reg_number): Likewise.
4238         * expr.c (expand_expr): Likewise.
4239         * function.c (assign_temp): Likewise.
4240         (uninitialized_vars_warning): Likewise.
4241         (setjmp_args_warning): Likewise.
4242         (expand_function_end): Likewise.
4243         * stmt.c (fixup_gotos): Likewise.
4244         (warn_about_unused_variables): Likewise.
4245         (expand_end_bindings): Likewise.
4246         * stor-layout.c (layout_decl): Likewise.
4247         (place_field): Likewise.
4248         * toplev.c (check_global_declarations): Likewise.
4249         (rest_of_handle_inlining): Likewise.
4250         (default_tree_printer): New function.
4251         (general_init): Initialize diagnostic machinery before routing
4252         signals to the ICE machinery.  Set default tree printer.
4253         * toplev.h (pedwarn_with_decl): Remove declaration.
4254         (warning_with_decl): Likewise.
4255         (error_with_decl): Likewise.
4256         (pedwarn): Remove attribute for the time being.
4257         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
4258         * varasm.c (named_section): Likewise.
4259         (make_decl_rtl): Likewise.
4260         (assemble_variable): Likewise.
4261         (merge_weak): Likewise.
4262         (declare_weak): Likewise.
4263
4264         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
4265         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
4266         (format_with_decl): Remove.
4267         (diagnostic_for_decl): Likewise.
4268         (pedwarn_with_decl): Likewise.
4269         (warning_with_decl): Likewise.
4270         (error_with_decl): Likewise.
4271         (diagnostic_initialize): Adjust.
4272         (diagnostic_count_diagnostic): Likewise.
4273         (announce_function): Likewise.
4274         (lhd_print_error_function): Likewise.
4275         (diagnostic_report_current_module): Likewise.
4276         (default_diagnostic_starter): Likewise.
4277         (diagnostic_report_diagnostic): Likewise.
4278         (default_diagnostic_finalizer): Likewise.
4279         (verbatim): Likewise.
4280         (error): Likewise.
4281         (warning): Likewise.
4282         * opts.c (common_handle_option): Likewise.
4283         * pretty-print.c: New file.
4284         * c-pretty-print.h (pp_base): Override.
4285         * c-pretty-print.c: Adjust use of macros throughout.
4286         (pp_buffer): New macro.
4287         (pp_newline): Likewise.
4288         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
4289         * Makefile.in (DIAGNOSTIC_H): New variable.
4290         (c-errors.o): Use it.
4291         (c-objc-common.o): Likewise.
4292         (c-common.o): Likewise.
4293         (c-opts.o): Likewise.
4294         (c-format.o): Likewise.
4295         (diagnostic.o): Likewise.
4296         (opts.o): Likewise.
4297         (toplev.o): Likewise.
4298         (rtl-error.o): Likewise.
4299         (dwarf2out.o): Likewise.
4300         (jump.o): Likewise.
4301         (pretty-print.o): New rule.
4302
4303 2003-07-24  Roger Sayle  <roger@eyesopen.com>
4304
4305         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
4306         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
4307         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
4308         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
4309         (DEF_FRONT_END_LIB_BUILTIN): Delete.
4310         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
4311         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
4312
4313         * builtins.c (build_string_literal): New function to construct
4314         a char* pointer to a string literal.
4315         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
4316         "rtx target" to be consistent with other expand_builtin_* functions.
4317         Change 3rd argument from "int unlocked" to "bool unlocked".
4318         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
4319         c-common.c to avoid front-end dependencies.  Optimize printf("")
4320         as a no-op when the result isn't required.  Handle embedded NULs
4321         in format string.
4322         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
4323         from c-common.c to avoid front-end dependencies.  Likewise, optimize
4324         fprintf(fp,"") as a no-op when the result isn't required, evaluating
4325         fp for side-effects.  Handle embedded NULs in format string.
4326         (expand_builtin_sprintf): Fix typo.
4327         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
4328         optimizing.  Adjust calls of expand_builtin_fputs to match the API
4329         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
4330         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
4331         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
4332
4333         * c-common.c (is_valid_printf_arglist): Delete.
4334         (c_expand_builtin): Delete.
4335         (c_expand_builtin_printf): Moved to builtins.c. Delete.
4336         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
4337         (c_expand_expr): No longer treat CALL_EXPRs specially.
4338         (CALLED_AS_BUILT_IN): Delete.
4339
4340 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4341
4342         PR optimization/11631
4343         * gcse.c (store_motion): Connect infinite loops to exit.
4344
4345 2003-07-24  Jason Merrill  <jason@redhat.com>
4346
4347         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
4348         (boolean_true_node, boolean_false_node): Likewise.
4349         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
4350         * tree.c (build_common_tree_nodes): Init boolean_type_node.
4351         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
4352         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
4353         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
4354         (truthvalue_true_node): Renamed from boolean_true_node.
4355         (truthvalue_false_node): Renamed from boolean_false_node.
4356         * c-decl.c: Just set truthvalue_* to integer_*.
4357         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
4358
4359 2003-07-24  Roger Sayle  <roger@eyesopen.com>
4360
4361         * c-decl.c (match_builtin_function_types): New subroutine of
4362         duplicate_decls to test whether a redeclaration of a builtin
4363         function is suitably close, i.e. the return type and all of
4364         the argument types have the same modes as the builtin expects.
4365         (duplicate_decls): Fuzzy type matching for builtin functions
4366         moved to match_builtin_function_types.
4367
4368 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4369
4370         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
4371         flag correctly.
4372
4373 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
4374
4375         * c-decl.c: Search-and-replace change 'binding level' to
4376         'scope' in commentary.
4377         (struct binding_level): Now struct c_scope.
4378         (current_binding_level): Now current_scope.
4379         (free_binding_level): Now scope_freelist.
4380         (current_function_level): Now current_function_scope.
4381         (global_binding_level): Now global_scope.
4382         (make_binding_level): Now make_scope.
4383         (pop_binding_level): Now pop_scope.
4384
4385 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4386
4387         * configure.in (libgcc_visibility): Add missing whitespace.
4388
4389 2003-07-24  Richard Henderson  <rth@redhat.com>
4390
4391         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
4392         __gcc_personality_v0.
4393
4394 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4395
4396         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
4397
4398 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
4399
4400         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
4401         documentation missed from my 2003-07-09 patch.
4402
4403 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4404
4405         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
4406         it's not provided.
4407         * configure: Rebuild.
4408
4409 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
4410
4411         PR c/10602
4412         * c-typeck.c (type_lists_compatible_p): Do not compare
4413         arguments if one of them is an error_mark_node
4414
4415 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
4416
4417         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
4418         if current_function_calls_eh_return.
4419
4420 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
4421
4422         * doc/c-tree.texi (OFFSET_TYPE): Update description.
4423
4424 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
4425
4426         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
4427         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
4428         __umodsi3, __modsi3): Increase frame size to 32.
4429
4430 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
4431
4432         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
4433         prototype.
4434
4435 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
4436
4437         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
4438
4439         PR optimization/10679
4440         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
4441
4442 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4443
4444         PR target/11607 and PR target/11516
4445         * pa.md (extzv, extv, insv): Revert latter half of last patch.
4446
4447 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
4448
4449         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
4450         * varasam.c (output_constant): Likewise.
4451
4452 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
4453
4454         * alias.c: Fix comment formatting.
4455         * c-common.c: Likewise.
4456         * c-decl.c: Likewise.
4457         * c-opts.c: Likewise.
4458         * combine.c: Likewise.
4459         * cpplib.c: Likewise.
4460         * diagnostic.c: Likewise.
4461         * dojump.c: Likewise.
4462         * final.c: Likewise.
4463         * fold-const.c: Likewise.
4464         * gcc.c: Likewise.
4465         * gcse.c: Likewise.
4466         * ggc-page.c: Likewise.
4467         * jump.c: Likewise.
4468         * loop.c: Likewise.
4469         * mips-tfile.c: Likewise.
4470         * recog.c: Likewise.
4471         * regclass.c: Likewise.
4472         * regmove.c: Likewise.
4473         * tree.c: Likewise.
4474         * tree.h: Likewise.
4475
4476 2003-07-22  Per Bothner  <pbothner@apple.com>
4477
4478         * line-map.c (add_line_map):  Handle invalid LEAVE request.
4479         Fixes PR preprocessor/11361.
4480
4481 2003-07-22  Per Bothner  <pbothner@apple.com>
4482
4483         * diagnostic.c.(diagnostic_report_current_module):  Update to match
4484         2003-06-05 changes to push_srcloc and pop_srcloc.
4485
4486 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
4487
4488         * doc/trouble.texi: Better document two-stage name lookup.
4489
4490 2003-07-22  Eric Christopher <echristo@redhat.com>
4491
4492         * config/s390.c (s390_valid_pointer_mode): New.
4493         (TARGET_VALID_POINTER_MODE): Use.
4494         (s390_emit_prologue): Add tpf profiling hooks.
4495         (s390_emit_epilogue): Ditto.
4496         * config/s390.h (MASK_TPF): New.
4497         (TARGET_TPF): Use.
4498         (POINTERS_EXTEND_UNSIGNED): Define.
4499         * config/s390.md (ptr_extend): New pattern.
4500
4501 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
4502
4503         * hashtable.c (approx_sqrt): Make static.
4504         * hashtable.h: Don't prototype approx_sqrt.
4505         * line-map.c (init_line_maps): Rename linemap_init.
4506         (free_line_maps): Rename linemap_free.
4507         (add_line_map): Rename linemap_add.
4508         (lookup_line): Rename linemap_lookup.
4509         (print_containing_files): Rename linemap_print_containing_files.
4510         * linemap.h: Update to match.
4511
4512         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
4513         linemap routines to use new names.
4514
4515 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
4516
4517         * c-common.c (handle_packed_attribute): Don't pack a struct via a
4518         typedef. Propagate packedness from a main variant.
4519
4520 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
4521
4522         * Makefile.in (install-common): Add dependency on installdirs.
4523
4524 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
4525
4526         * c-common.c (c_common_type_for_mode): Return integer types for
4527         pointer modes.
4528
4529 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
4530
4531         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
4532         (finish_decl): Call maybe_apply_pragma_weak here.
4533         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
4534         TREE_PUBLIC and TREE_STATIC are decided.
4535         (start_function): Move call to maybe_apply_pragma_weak.  Check that
4536         DECL_ASSEMBLER_NAME isn't set too early.
4537
4538         * cpplex.c (_cpp_process_line_notes): Mention option name in
4539         trigraphs warning.
4540
4541 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
4542
4543         * combine.c (if_then_else_cond): Simplify the comparison of
4544         rtx against -1, 0, and 1.
4545         * loop.c (check_dbra_loop): Likewise.
4546         * optabs.c (emit_conditional_move): Likewise.
4547         (emit_conditional_add): Likewise.
4548         * config/i386/i386.md (*movsi_or): Likewise.
4549         (*movdi_or_rex6): Likewise.
4550
4551 2003-07-22  Jan Hubicka  <jh@suse.cz>
4552
4553         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
4554
4555 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
4556
4557         * cppfiles.c (open_file_pch): Don't put unused entries in the
4558         splay tree.  Remove dead code.
4559
4560 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
4561
4562         * c-common.h (num_in_fnames): Declare.
4563         (c_static_assembler_name): Move from here...
4564         * c-tree.h (c_static_assembler_name): ... to here.
4565         * c-opts.c: Don't include langhooks-def.h.
4566         (c_static_assembler_name): Move to c-decl.c.
4567         (num_in_fnames): Make externally visible.
4568         * c-decl.c: Include langhooks-def.h.
4569         (c_static_assembler_name): Move from c-opts.c.
4570         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
4571         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
4572
4573         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
4574         when it's not needed.
4575
4576 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
4577
4578         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
4579         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
4580         (rs6000_emit_prologue): Save FPRs inline if set.
4581
4582 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
4583
4584         * config/ia64/ia64.md (prefetch): Support predicate.
4585
4586 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
4587
4588         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
4589         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
4590         table.
4591
4592 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
4593
4594         PR optimization/11536
4595         * unroll.c (loop_iterations): Do not replace a register holding
4596         the final value by its equivalent before the loop if it is not
4597         invariant.
4598
4599 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
4600
4601         * doc/extend.texi: Fixes to spelling, grammar, and diction.
4602
4603 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
4604
4605         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
4606         (V850 Options): Spelling fixes.
4607
4608 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
4609
4610         * doc/invoke.texi: Fixes to style, grammar and diction.
4611
4612 2003-07-20  Roger Sayle  <roger@eyesopen.com>
4613
4614         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
4615         * system.h (SMALL_STACK): Poison obsolete target macro.
4616         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
4617
4618 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
4619
4620         * configure.in:  Cache the results of testing for cmp's capabilities.
4621         * configure:  Regenerate.
4622
4623 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
4624
4625         PR debug/11279
4626         * dwarf2out.c (gen_enumeration_type_die): Remember that
4627         enumerators can be unsigned.
4628
4629 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
4630
4631         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
4632         (push_label_level, pop_label_level): Kill.
4633         (struct binding_level): Rename level_chain to outer.
4634         Add outer_function field.  Change parm_flag, function_body,
4635         keep, keep_if_subblocks to 1-bit bitfields of type bool.
4636         (current_function_level): New variable.
4637         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
4638         (keep_next_level, declare_parm_level, warn_if_shadowing):
4639         Update to match.
4640         (struct language_function): Kill named_labels, shadowed_labels fields.
4641         (c_init_decl_processing, start_function, c_push__function_context)
4642         (c_pop_function_context): No need to muck with named_labels nor
4643         shadowed_labels.
4644
4645         (make_binding_level): No need to clear the structure here.
4646         (pop_binding_level): Always operate on current_binding_level.
4647         Update current_function_level if necessary.
4648         (pushlevel): Don't clear named_labels.  Update current_function_level
4649         if necessary.  Use "true" and "false" where appropriate.
4650         (poplevel): Diagnose labels defined but not used, or vice
4651         versa, and clear out label-meanings leaving scope, while
4652         walking down the decls list, for all binding levels.
4653         Handle LABEL_DECLs appearing in the shadowed list.
4654         pop_binding_level takes no arguments.
4655         (pushdecl_function_level): Use current_function_level.
4656
4657         (make_label, bind_label): New static functions.
4658         (declare_label): New exported function.
4659         (lookup_label, define_label): Rewritten for new data structure.
4660         (shadow_label): Kill.
4661
4662         * c-tree.h: Prototype declare_label; don't prototype
4663         push_label_level, pop_label_level, nor shadow_label.
4664         * c-parse.in: Remove all calls to push_label_level and
4665         pop_label_level.  Use declare_label for __label__ decls.
4666
4667         * doc/extend.texi: Clarify that __label__ can be used to
4668         declare labels with local scope in any nested block, not
4669         just statement expressions.  Cross-reference nested functions
4670         section from local labels section.
4671
4672 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4673
4674         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
4675
4676 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
4677
4678         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
4679
4680 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4681
4682         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
4683         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
4684
4685 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
4686
4687         * config/s390/s390.c (legitimize_pic_address): Access local symbols
4688         relative to the GOT instead of relative to the literal pool base.
4689         (s390_output_symbolic_const): Handle new GOT-relative accesses.
4690         * config/s390/s390.md ("call"): Access local functions and PLT stubs
4691         relative to the GOT instead of relative to the literal pool base.
4692         ("call_value"): Likewise.
4693         ("call_value_tls"): Likewise.
4694
4695         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
4696         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
4697         (s390_chunkify_finish): Likewise.
4698         (s390_chunkify_cancel): Likewise.
4699         (s390_reorg): Adapt caller.
4700         (find_base_register_in_addr,
4701         find_base_register_ref, replace_base_register_ref): Delete.
4702         (find_ltrel_base, replace_ltrel_base): New functions.
4703         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
4704         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
4705         base vs. index register usage.
4706         (struct constant_pool): Remove 'anchor'.
4707         (s390_add_anchor): Delete.
4708         (s390_dump_pool): Remove anchor handling.
4709         * config/s390/s390.md ("reload_anchor"): Remove.
4710
4711         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
4712         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
4713         (s390_emit_prologue): Use it.
4714         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
4715         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
4716         hard-code register 14.
4717         * config/s390/s390-protos.h (s390_load_got): Declare.
4718
4719         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
4720         Support TImode constants.
4721         * config/s390/s390.md ("consttable_ti"): New.
4722         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
4723
4724         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
4725         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
4726         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
4727         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
4728         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
4729         New symbolic constants.
4730         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
4731         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
4732         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
4733         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
4734         symbolic UNSPEC values.
4735         * config/s390/s390.c (larl_operand, s390_short_displacement,
4736         bras_sym_operand, s390_cannot_force_const_mem,
4737         s390_delegitimize_address, s390_decompose_address,
4738         legitimize_pic_address, s390_output_symbolic_const,
4739         s390_function_profiler): Use symbolic UNSPEC values.
4740
4741 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4742
4743         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
4744         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
4745         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
4746         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
4747         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
4748         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
4749         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
4750         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
4751         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
4752         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
4753         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
4754         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
4755         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
4756         postreload.c prefix.c print-tree.c protoize.c ra-build.c
4757         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
4758         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
4759         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
4760         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
4761         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
4762         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
4763         casts.
4764
4765 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4766
4767         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
4768         * toplev.h (warning): Remove attribute.
4769
4770 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4771
4772         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
4773         (pop_label_level): Likewise.
4774         (duplicate_decls): Likewise.
4775         (implicitly_declare): Likewise.
4776         (shadow_label): Likewise.
4777         (start_decl): Likewise.
4778         (finish_decl): Likewise.
4779         (grokdeclarator): Likewise.
4780         (get_parm_info): Likewise.
4781         (detect_field_duplicates): Likewise.
4782         (finish_struct): Likewise.
4783         (start_function): Likewise.
4784         (store_parm_decls): Likewise.
4785         (finish_function): Likewise.
4786         (c_expand_body_1): Likewise.
4787         (check_for_loop_decls): Likewise.
4788         (merge_translation_unit_decls): Likewise.
4789
4790 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
4791
4792         * common.opt:  Document --param.
4793         * opts.c (columns, undocumented_msg): New.
4794         (print_help): Get number of columns from environment.  Print
4795         --param help.  Tweak newline handling.
4796         (print_param_help): New.
4797         (print_filtered_help): Better handling of duplicates.  Complain
4798         about undocumented switches.
4799         (print_switch): New.
4800         (wrap_help): Improve wrapping, use COLUMNS.
4801         * opts.sh: Ignore comments in records.
4802         * params.def: Fix typos and remove trailing periods.
4803         * toplev.c (display_help): Don't dump --param help.
4804         * doc/sourcebuild.texi: Update.
4805
4806 2003-07-18  Richard Henderson  <rth@redhat.com>
4807
4808         PR target/11556
4809         * optabs.c (prepare_operand): Fail gracefully instead of abort
4810         if the predicate doesn't satisfy.
4811         (gen_cond_trap): Allow prepare_operand to fail.
4812
4813 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4814
4815         * c-common.c: Don't undefine GCC_DIAG_STYLE.
4816         (fname_decl): Don't use xxx_with_decl.
4817         (c_add_case_label): Likewise.
4818         (handle_section_attribute): Likewise.
4819         (handle_alias_attribute): Likewise.
4820         (handle_no_instrument_function_attribute): Likewise.
4821         (handle_no_limit_stack_attribute): Likewise.
4822         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
4823         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
4824
4825 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4826
4827         * Makefile.in (ifcvt.o): Add cfgloop.h.
4828         * basic-block.h (EDGE_LOOP_EXIT): New flag.
4829         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
4830         * ifcvt.c: Include cfgloop.h.
4831         (mark_loop_exit_edges): New static function.
4832         (if_convert): Call it.
4833         (find_if_header): Ignore branches out of loops.
4834
4835 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
4836
4837         * combine.c (simplify_comparison): Don't share rtx when converting
4838         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
4839
4840 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
4841
4842         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
4843         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
4844         (MUST_PASS_IN_STACK): Define.
4845         (BLOCK_REG_PADDING): Define.
4846
4847 2003-07-18  Richard Henderson  <rth@redhat.com>
4848
4849         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
4850         to skip the addr_vec.
4851
4852 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
4853
4854         * combine.c (combinable_i3pat): Don't forbid occurrences of
4855         i2dest or i1dest in inner_dest if inner_dest is a mem.
4856
4857 2003-07-18  Jan Hubicka  <jh@suse.cz>
4858
4859         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
4860
4861 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
4862
4863         PR target/11087
4864         * loop.c (basic_induction_var): Check if convert_modes emitted any
4865         instructions. Remove them and return 0 if so.
4866
4867 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4868
4869         PR optimization/11083
4870         * toplev.c (rest_of_handle_addresof): Rename into
4871         rest_of_handle_addressof.  Delete unreachable blocks
4872         if dead edges were purged after the addressof pass.
4873
4874 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
4875
4876         * Makefile.in, configure, configure.in: Remove handling of
4877         lang-options.h and options_.h.
4878         * toplev.c (struct lang_opt, documented_lang_options): Remove.
4879         (display_help): Don't use documented_lang_options.
4880
4881 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
4882
4883         * c-decl.c (pushdecl_function_level): Make static, return nothing.
4884         (kept_level_p): Fold into poplevel.
4885         (undeclared_variable): Moved here from c-typeck.c.  Export.
4886         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
4887         (undeclared_variable): Prototype here.  Don't prototype
4888         kept_level_p nor pushdecl_function_level.
4889         * c-parse.in: Change first argument to poplevel from
4890         "kept_level_p()" to "KEEP_MAYBE".
4891         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
4892
4893 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4894
4895         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
4896         commutative operands instead of modifying the RTL in-place.
4897
4898 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
4899
4900         PR optimization/11557
4901         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
4902         unless we know which function is being called.
4903
4904 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4905
4906         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
4907         whether to reorder the operands of a commutative binary operator.
4908
4909 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4910
4911         * fold-const.c (const_binop): Avoid performing the FP operation at
4912         compile-time, if either operand is NaN and we honor signaling NaNs,
4913         or if we're dividing by zero and either flag_trapping_math is set
4914         or the desired mode doesn't support infinities.
4915         (fold_initializer): New function to fold an expression ignoring any
4916         potential run-time exceptions or traps.
4917         * tree.h (fold_initializer): Prototype here.
4918         * c-typeck.c (build_binary_op): Move to the end of the file so
4919         that intializer_stack is in scope.  If constructing an initializer,
4920         i.e. when initializer_stack is not NULL, use fold_initializer to
4921         fold expressions.
4922         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
4923         performing FP operations at compile-time, if they would raise an
4924         exception at run-time.
4925
4926 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
4927
4928         PR 11498
4929         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
4930         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
4931         (GTFILES): Add langhooks.c.
4932         (gt-langhooks.h): New.
4933         * c-common.h (c_static_assembler_name): Prototype.
4934         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
4935         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
4936         * c-opts.c: Include langhooks-def.h.
4937         (c_static_assembler_name): New.
4938         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
4939         (var_labelno): New.
4940         (lhd_set_decl_assembler_name): Give static objects with context
4941         unique names.
4942         * varasm.c (var_labelno): Delete.
4943         (make_decl_rtl): Don't change the assembler name once it's set.
4944
4945         * c-opts.c (this_input_filename): New.
4946         (finish_options): Take new parameter, name of file being compiled.
4947         Update callers.  Set this_input_filename.
4948         (push_command_line_include): Use this_input_filename not
4949         main_input_filename.
4950
4951 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
4952
4953         * Makefile.in: Depend .pot generation on options.c.
4954         * po/exgettext: Add an extra_files variable containing additional
4955         files to scan.
4956
4957 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
4958
4959         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
4960         c_write_global_declarations.
4961
4962         * c-decl.c: Fix typos in several comments.  Remove all
4963         #if 0 blocks; reindent as needed.  Remove unused argument
4964         to declare_parm_level; all callers changed.
4965         * c-parse.in: Update calls to declare_parm_level.  Avoid
4966         issuing a double warning in some circumstances.
4967         * c-typeck.c: Update calls to declare_parm_level.
4968         * c-tree.h: Update prototype of declare_parm_level.
4969
4970         * c-pragma.c (apply_pragma_weak): Don't complain about a
4971         redundant #pragma weak.
4972
4973         * objc/objc-act.c (forward_declare_categories,
4974         build_selector_reference_decl, build_class_reference_decl,
4975         build_objc_string_decl, synth_forward_declarations,
4976         build_protocol_reference): Set TREE_PUBLIC on synthetic
4977         forward decl to 0, consistent with eventual definition.
4978         Correct comments to match.
4979
4980         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
4981         in regexp that don't form a range expression.
4982         * fixinc/fixincl.def: Regenerate.
4983
4984 2003-07-17  Richard Henderson  <rth@redhat.com>
4985
4986         PR target/10907
4987         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
4988         even with !TARGET_CONST_GP.
4989         (ia64_function_ok_for_sibcall): Reject non-local functions.
4990
4991 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
4992
4993         * c-common.c (c_estimate_num_insns_1): Don't handle
4994         METHOD_CALL_EXPR.
4995         * expr.c (safe_from_p): Likewise.
4996         * gengtype.c (adjust_field_tree_exp): Likewise.
4997         * stmt.c (warn_if_unused_value): Likewise
4998         * tree.c (first_rtl_op): Likewise.
4999         * tree.def: Don't define METHOD_CALL_EXPR.
5000         * java/lang.c (java_estimate_num_insns_1): Don't handle
5001         METHOD_CALL_EXPR.
5002
5003 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
5004
5005         PR other/11466
5006         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
5007         and its restrictions for the SPARC64 port.
5008         Move the entry of "-mimpure-text" before that of "-mv8".
5009
5010 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
5011             Phil Edwards <phil@jaj.com>
5012
5013         * doc/install.texi (*-*-solaris2*): Document the step-by-step
5014         procedure to bootstrap and install.
5015         Document the preference for the legacy Sun tools in /usr/bin
5016         over the POSIX tools in /usr/xpg4/bin for the build process.
5017
5018 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
5019
5020         * c.opt: Document Uncodumented; use it.  Document ObjC options.
5021         * opts.c (print_filtered_help): Skip undocumented switches.
5022         * opts.h (CL_UNDOCUMENTED): New.
5023         * opts.sh: Handle Undocumented.
5024         * toplev.c (documented_lang_options): Prevent its becoming empty.
5025 objc:
5026         * lang-options.h: Remove.
5027
5028 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
5029
5030         * loop.c (check_ext_dependent_givs): Pass const struct loop *
5031         instead of struct loop_info * as argument.  Accept BIVs with
5032         increment +/- 1 provided there is a friendly exit test against
5033         a loop-invariant value.
5034         (strength_reduce): Adapt call to check_ext_dependent_givs.
5035
5036 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
5037             Con Bradley <con.bradley@superh.com>
5038
5039         * sh-protos.h (sh_get_pr_initial_val): Declare.
5040         * sh.c (regno_reg_class): Make its elements type enum reg_class.
5041         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
5042         and live_regs_mask arguments.  Changed all callers.
5043         (save_schedule_s): New structure.
5044         (save_schedule): New typedef.
5045         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
5046         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
5047         In interrupts handlers, also save registers that are usually
5048         partially saved, and make sure there is at least one general purpose
5049         register saved if a target register needs saving.
5050         Add casts in comparisons to avoid warnings.
5051         (sh_media_register_for_return): return -1 for interrupt handlers.
5052         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
5053         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
5054         registers used are available.
5055         Set RTX_FRAME_RELATED_P where appropriate.
5056         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
5057         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
5058         (initial_elimination_offset): Likewise.
5059         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
5060         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
5061         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
5062         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
5063         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
5064         and for target registers.
5065         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
5066         (regno_reg_class): Make its elements type enum reg_class.
5067         (CONSTRAINT_LEN): Don't use isdigit.
5068         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
5069         (FUNCTION_ARG): Add parentheses to avoid warnings.
5070         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
5071         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
5072         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
5073         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
5074         * sh.md (xordi3+1): Remove unused variable regno.
5075         (return_media): Check that tr0 is available before using it.
5076
5077 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
5078
5079         * c.opt: Document more options.
5080
5081 2003-07-16  Roger Sayle  <roger@eyesopen.com>
5082
5083         * combine.c (subst): Also handle (subreg (const_double ...)) case
5084         if created by a substitution, by using the original inner mode.
5085
5086 2003-07-16  Roger Sayle  <roger@eyesopen.com>
5087
5088         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
5089         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
5090         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
5091
5092 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
5093
5094         * doc/install.texi (--without-headers): New.
5095
5096         Partial Fix PR/10129
5097         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
5098         (machopic_output_function_base_name): New; print the true pic label.
5099         (machopic_classify_ident): Pic Base is always a defined data.
5100         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
5101         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
5102
5103         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
5104         if they are not floating point registers.
5105
5106         PR c/10962
5107         * ggc.h: Add header guards.
5108         * c-decl.c (finish_struct): Sort fields if
5109         number greater than 15 and there are no
5110         anonymous structs/unions.
5111         * c-common.h: Include ggc.h.
5112         (sorted_fields_type): New struct.
5113         (field_decl_cmp): New prototype.
5114         (resort_sorted_fields): New prototype.
5115         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
5116         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
5117         as s, removing other fields.
5118         * c-typeck.c (lookup_field): Use s in lang_type.
5119         These were mostly moved from cp/class.c:
5120         * c-common.c (field_decl_cmp): New static function.
5121         (field_decl_cmp): New function.
5122         (resort_sorted_fields): New function.
5123
5124 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
5125
5126         * config/darwin.c (machopic_select_section): Use decl_readonly_section
5127         to do most of the work.
5128
5129 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
5130
5131         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
5132         * config/mmix/mmix.c: Convert functions to ISO C90.
5133         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
5134         formatting.
5135         (mmix_get_hard_reg_initial_val): Tweak section head comment.
5136
5137 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
5138
5139         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
5140
5141 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
5142
5143         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
5144         (uw_update_context_1): Use it.
5145         * config/rs6000/rs6000.c (insn_after_throw): Remove.
5146         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
5147         in parent frame if _Unwind_* called directly instead of through
5148         .plt.
5149         (rs6000_emit_eh_toc_restore): Remove.
5150         (rs6000_emit_prologue): Update stack pointer before doing any saving
5151         if current_function_calls_eh_return.  Generate unwind info for $r2.
5152         (rs6000_emit_epilogue): Restore stack pointer after doing all
5153         restoring if current_function_calls_eh_return.  Restore $r2.
5154         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
5155         * config/rs6000/rs6000.md (eh_return): Remove call to
5156         rs6000_emit_eh_toc_restore.
5157         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
5158         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
5159
5160 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
5161
5162         * expr.c (emit_block_move): Don't move anything if size is const 0.
5163         (clear_storage): Test against const0_rtx instead of comparing INTVAL
5164         against 0.
5165
5166 2003-07-15  David S. Miller  <davem@redhat.com>
5167
5168         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
5169         emit nop if the last real insn is CALL_INSN.
5170
5171 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
5172
5173         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
5174         as "nul".
5175         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
5176
5177 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
5178
5179         * config/i386/winnt.c (associated_type): Artificial methods are not
5180         affected by the import/export status of their class unless they are
5181         COMDAT.
5182         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
5183
5184         * config/i386/winnt.c: Fix GCC copyright comment.
5185
5186 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
5187
5188         PR c++/11531
5189         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
5190         not recursing on hard error.
5191         (diagnostic_for_decl): Likewise.
5192         * diagnostic.def: Rearrange.
5193
5194 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
5195
5196         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
5197         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
5198
5199 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
5200             Richard Henderson  <rth@redhat.com>
5201
5202         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
5203         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
5204         (_Unwind_SetGR): Likewise.
5205         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
5206         (Unwind_SpTmp): New typedef.
5207         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
5208         (uw_update_context): Use _Unwind_GetPtr.
5209         (init_dwarf_reg_size_table): Move above uw_init_context_1.
5210         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
5211         Use _Unwind_SetSpColumn.
5212         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
5213         Use _Unwind_GetPtr.
5214
5215 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
5216
5217         * c.opt: Document more options.
5218         * toplev.c (documented_lang_options): Remove all local help strings.
5219
5220 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
5221
5222         PR debug/11473
5223         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
5224         base classes.
5225
5226 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
5227
5228         PR target/10795
5229         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
5230         swap comparison operands if doing so would generate an
5231         unrecognizable insn.
5232
5233 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
5234
5235         PR optimization/11320
5236         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
5237         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
5238         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
5239         current_sched_info->compute_jump_reg_dependencies. Record which
5240         registers are used and which registers are set by the jump.
5241         Clear deps->reg_conditional_sets after a barrier.
5242         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
5243         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
5244         (init_deps): Initialize reg_conditional_sets.
5245         (free_deps): Clear reg_conditional_sets.
5246         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
5247         Mark registers live on entry of the fallthrough block and conditionally
5248         set as set by the jump. Mark registers live on entry of non-fallthrough
5249         blocks as used by the jump.
5250         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
5251         Mark new parameters as unused.
5252
5253 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
5254
5255         * doc/invoke.texi: Resync MIPS -march documentation.
5256
5257 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
5258
5259         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
5260         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
5261         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
5262         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
5263         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
5264         (mips_issue_rate): Handle PROCESSOR_R9000.
5265         (mips_use_dfa_pipeline_interface): Likewise.
5266         * config/mips/9000.md: New file.
5267         * config/mips/mips.md: Include it.
5268         (define_attr cpu): Add r9000.
5269         (mulsi3_mult3): Use "mul" for rm9000 code.
5270
5271 2003-07-15  Stan Cox  <scox@redhat.com>
5272
5273         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
5274         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
5275         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
5276         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
5277         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
5278         (mips_issue_rate): Handle PROCESSOR_R7000.
5279         (mips_use_dfa_pipeline_interface): Likewise.
5280         * config/mips/7000.md: New file.
5281         * config/mips/mips.md: Include it.
5282         (define_attr cpu): Add r7000.
5283         (mulsi3_mult3): Use "mul" for rm7000 code.
5284
5285 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
5286
5287         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
5288         the conditional move patterns.
5289         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
5290         Check for condmove type.
5291         (ir_vr54_arith): Add move type.
5292         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
5293         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
5294
5295 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
5296
5297         * c-opts.c (print_help): Remove.
5298         (c_common_handle_option): Don't handle --help.
5299         * c.opt: Document some options.
5300         (--help): Remove.
5301         * opts.c (print_filtered_help): New.
5302         (print_help): Use it.
5303
5304 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
5305
5306         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
5307         * tree.c: (build_common_tree_nodes_2): Likewise.
5308         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
5309         (V4DF_type_node): New.
5310
5311         * c-opts.c (push_command_line_include): Don't free deferred_opts,
5312         we'll need it.
5313         (finish_options): Reset init_cursor.
5314
5315 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
5316
5317         * expr.c (expand_assignment): Remove an unused argument
5318         SUGGEST_REG.
5319         * expr.h: Update the prototype.
5320         * function.c: Update the callers.
5321         * stmt.c: Likewise.
5322
5323 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
5324
5325         PR debug/11098
5326         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
5327         as DECL_ABSTRACT.
5328
5329 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
5330
5331         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
5332         with __cplusplus, not "we must use the C++ compiler's type"
5333         * fixinc/inclhack.def (void_null): Note that Interix needs this.
5334         * fixinc/fixincl.x: Regenerate.
5335
5336 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
5337
5338         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
5339         and unseen_objects from the global data before calling
5340         __deregister_frame_info_bases.
5341         (examine_objects): Insert objects into the seen_objects list,
5342         not unseen_objects.
5343         (_Unwind_Find_FDE): Always unlock the global object lists, even if
5344         we couldn't allocate a data structure to put in it.
5345
5346         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
5347         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
5348         (SET_TYPE_PROTOCOL_LIST): New.
5349         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
5350         (get_object_reference): Likewise.
5351
5352 2003-07-14  Jan Hubicka  <jh@suse.cz>
5353
5354         * cfglayout.c (locator_file): Break out from ....
5355         (insn_file): ... here.
5356         (locator_line): Break out from ....
5357         (insn_line): ... here.
5358         * rtl.h (locator_file, locator_line): Declare.
5359         (final_start_function): Set proper line/file info.
5360
5361 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5362
5363         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
5364         handled by pp_c_cast_expression.
5365
5366 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5367
5368         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
5369         allocate 32768 bytes of stack.  Use addition rather than subtraction
5370         when a single insn is enough.
5371         * config/mips/mips.md: Remove insns and splitters for subtracting
5372         constants.
5373         (subsi3): Only accept register operands.
5374         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
5375         (subdi3_internal_3, subsi3_internal_2): Likewise.
5376         (casesi): Use expand_binop to subtract the lower bound.
5377
5378 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5379
5380         * config/mips/mips.c (mips_in_small_data_p): Don't handle
5381         TARGET_MIPS16 specially.
5382
5383 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5384
5385         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
5386         mips_output_aligned_bss.
5387         * config/mips/linux.h: Likewise.
5388         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
5389         * config/mips/mips.c (mips_output_aligned_bss): New function.
5390
5391         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
5392         * config/mips/elf64.h: Likewise.
5393
5394         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
5395         mips_declare_object_name.
5396         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
5397         * config/mips/elf64.h: As for elf.h.
5398         * config/mips/iris6.h: Likewise.
5399         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
5400         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
5401         do...while (0) block.
5402         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
5403         (mips_finish_declare_object): Declare.
5404         * config/mips/mips.c (mips_declare_object_name): New function.
5405         (mips_finish_declare_object): New function.
5406
5407         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
5408         * config/mips/linux.h: Likewise.
5409
5410         * config/mips/mips.c (inside_function): Delete.
5411         (file_in_function_warning, ignore_line_number): Delete.
5412         (mips_output_filename): Don't warn about changing filenames within
5413         a function.
5414         (mips_output_lineno): Update accordingly.
5415         (mips_output_function_prologue): Don't reset the deleted variables.
5416         * config/mips/mips.h (inside_function): Delete.
5417         (file_in_function_warning, ignore_line_number): Delete.
5418
5419         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
5420         * config/mips/elf64.h: Likewise.
5421         * config/mips/openbsd.h: Likewise.
5422         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
5423         * config/mips/linux.h: Likewise.
5424         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
5425         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
5426
5427         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
5428         to the list of include files when using gas.
5429         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
5430         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
5431         * config/mips/elf64.h: Likewise.
5432         * config/mips/iris5.h: Likewise.
5433         * config/mips/linux.h: Likewise.
5434         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
5435         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
5436         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
5437         * config/mips/sdb.h: ...this new file.
5438
5439 2003-07-14  Douglas Rupp  <rupp@gnat.com>
5440
5441         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
5442         argument to getcwd; use fixed buffer instead.
5443
5444 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
5445
5446         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
5447         * fixinc/fixinc.wrap: Delete.
5448
5449 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
5450
5451         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
5452         don't have 2.
5453
5454 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
5455
5456         * ggc-page.c (struct globals): Add new fields to keep track of the
5457         total allocated memory and overhead.
5458         (ggc_print_statistics): Print them.
5459         (ggc_alloc): Keep track of the total allocated memory and the
5460         overhead.
5461
5462         * tree.c (dump_tree_statistics): Increase spacing.
5463         (enum tree_node_kind): Move to ...
5464         * tree.h (enum tree_node_kind): ... here.
5465         (tree_node_counts, tree_node_sizes): Declare.
5466
5467 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
5468
5469         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
5470
5471 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5472
5473         PR optimization/11440
5474         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
5475         SIGN_EXTRACT SETs.
5476
5477 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
5478
5479         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
5480         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
5481         (emit_group_load, emit_group_store): Adjust declarations.
5482         Remove most occurrences of #ifdef TREE_CODE.
5483         * expr.c (emit_group_load): Add "type" param, and use
5484         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
5485         aligned accesses if !SLOW_UNALIGNED_ACCESS.
5486         (emit_group_store): Likewise.
5487         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
5488         emit_group_load and emit_group_store calls.
5489         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
5490         BLOCK_REG_PADDING to determine whether we need endian_correction.
5491         (load_register_parameters): Localize vars.  Handle shifting of
5492         small values to the correct end of regs.  Adjust emit_group_load
5493         call.
5494         (expand_call, emit_library_call_value_1): Adjust emit_group_load
5495         and emit_group_store calls.
5496         * function.c (assign_parms): Set mem alignment for stack slots.
5497         Adjust emit_group_store call.  Store values at the "wrong" end
5498         of regs to the stack.  Use BLOCK_REG_PADDING.
5499         (locate_and_pad_parm): Save where_pad.
5500         (expand_function_end): Adjust emit_group_load call.
5501         * stmt.c (expand_value_return): Adjust emit_group_load call.
5502         * Makefile.in (calls.o): Depend on $(OPTABS_H).
5503         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
5504         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
5505         (MUST_PASS_IN_STACK): Define.
5506         (BLOCK_REG_PADDING): Define.
5507         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
5508         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
5509         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
5510         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
5511         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
5512
5513 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
5514
5515         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
5516
5517 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5518
5519         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
5520         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
5521
5522 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5523
5524         PR other/11123
5525         * toplev.c: Don't cut off option names.
5526
5527 2003-07-13  Andreas Jaeger  <aj@suse.de>
5528
5529         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
5530         to integer of different size.
5531
5532 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
5533
5534         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
5535         to (eq (and X 1) 0).
5536
5537 2003-07-13  Andreas Jaeger  <aj@suse.de>
5538
5539         * config.gcc: Add pmmintrin.h for x86_64-*-*.
5540
5541 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
5542
5543         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
5544         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
5545         list.  Move these all together down by cpplib.
5546
5547         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
5548         definition of CPPCHAR_SIGNED_T.
5549
5550         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
5551         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
5552         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
5553
5554         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
5555         * cppinit.c (cpp_create_reader): Likewise.
5556
5557         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
5558         * cpptrad.c: Likewise.  All callers changed.
5559         * cpplib.c: All callers changed.
5560         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
5561         * hashtable.h: Define GTY(x) to nothing here too.
5562
5563 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5564
5565         * stor-layout.c (compute_record_mode): Remove very obsolete test
5566         that forces BLKmode for records with fields crossing word boundary.
5567
5568 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
5569
5570         * Makefile.in: Remove orphan reference to acconfig.h.
5571
5572 2003-07-13  Andreas Jaeger  <aj@suse.de>
5573
5574         * cgraphunit.c: Convert prototypes to ISO C90.
5575
5576 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5577
5578         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
5579         (for OpenBSD).
5580         * fixinc/fixincl.x: Rebuild.
5581
5582 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
5583
5584         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
5585         i?86-*-*.  Use correct name of cache variable.
5586         * configure: Regenerate.
5587
5588 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
5589
5590         * config/alpha/alpha.c: Fix comment typos.
5591         * config/alpha/alpha.md: Likewise.
5592         * config/arm/arm.c: Likewise.
5593         * config/arm/arm.md: Likewise.
5594         * config/arm/lib1funcs.asm: Likewise.
5595         * config/avr/avr.md: Likewise.
5596         * config/arm/README-interworking: Fix typos.
5597
5598 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
5599
5600         * c-format.c: Fix comment formatting.
5601         * c-typeck.c: Likewise.
5602         * coverage.c: Likewise.
5603         * cppcharset.c: Likewise.
5604         * cpplib.c: Likewise.
5605         * dbxout.c: Likewise.
5606         * gcov-io.h: Likewise.
5607         * toplev.c: Likewise.
5608
5609 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5610
5611         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
5612         fix.
5613
5614 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
5615
5616         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
5617         uses three-argument AC_DEFINE so no acconfig.h entries are
5618         needed.
5619         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
5620         which contains the GAS version number as a scaled integer.
5621         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
5622         ability to check for ELF assembler.
5623         (gcc_GAS_CHECK_FEATURE): New macro.
5624         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
5625         assembler feature checks using gcc_GAS_CHECK_FEATURE.
5626         Use three-argument AC_DEFINE everywhere.
5627         * acconfig.h: Deleted.
5628         * config.in, configure: Regenerate.
5629
5630 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5631
5632         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
5633         (on OpenBSD).
5634         * fixinc/fixincl.x: Regenerate.
5635
5636         * fixinc/inclhack.def (gnu_types): Improve comment.
5637
5638 2003-07-12  Andreas Jaeger  <aj@suse.de>
5639
5640         * fp-test.c (main): Use ISO C90 prototype.
5641
5642         * version.c: Remove unneded include of ansidecl.h.
5643
5644         * cgraph.h: Convert prototypes to ISO C90.
5645         * cgraph.c: Likewise.
5646         * fix-header.c: Likewise.
5647         * ra.h: Likewise.
5648         * protoize.c: Likewise.
5649
5650 2003-07-12  Jan Hubicka  <jh@suse.cz>
5651
5652         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
5653         warning.
5654
5655 2003-07-12  Jan Hubicka  <jh@suse.cz>
5656                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5657
5658         * cgraph.c (cgraph_max_uid): New global variable.
5659         (cgraph_node): Set uid field.
5660         (create_edge): Keep inline flags consistent.
5661         (dump_cgraph): Dump more info.
5662         * cgraph.h (struct cgraph_local_info): Remove inline_many and
5663         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
5664         (struct cgraph_global_info): Add insns, calls, cloned_times,
5665         will_be_output.
5666         (struct cgraph_node): Add uid.
5667         (struct cgraph_edge): Add inline_call.
5668         (cgraph_max_uid, cgraph_inline_p): Declare.
5669         * cgraph.c: Include params.h and fibheap.h
5670         (cgraph_mark_functions_to_inline_once): Kill.
5671         (INSNS_PER_CALL): New constant.
5672         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
5673         static variables.
5674         (cgraph_finalize_function): Do not analyze inlining.
5675         (cgraph_finalize_compilation_unit): Set inlining attributes.
5676         (cgraph_mark_functions_to_output): More consistency checks.
5677         (cgraph_optimize_function): Set current_function_decl to NULL.
5678         (cgraph_expand_function): Use new inline flags.
5679         (cgraph_postorder): Expand from cgraph_expand_functions.
5680         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
5681         (cgraph_inlined_into, cgraph_inlined_callees,
5682         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
5683         cgraph_mark_inline, cgraph_check_inline_limits,
5684         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
5685         cgraph_decide_inlining, cgraph_inline_p): New functions.
5686         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
5687         PARAM_INLINE_UNIT_GROWTH): New parameters.
5688         * tree-inline.c (struct inline_data): New field current_decl.
5689         (expand_call_inline): Avoid forward declarations; use
5690         inlinable_function_p.
5691         (optimize_inline_calls): Set id.current_decl.
5692
5693 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
5694
5695         * configure.in: Remove wrongly added definition of
5696         local_prefix.
5697         * configure: Regenerate.
5698
5699 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
5700
5701         * rtl.def (NOTE): Do not use padding.
5702
5703 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
5704
5705         * doc/install.tex: Update required binutils for i?86-*-linux*
5706
5707 2003-07-11  Richard Henderson  <rth@redhat.com>
5708
5709         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
5710
5711 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
5712
5713         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
5714         TRANSLATION_UNIT_DECL as top_level.
5715
5716 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
5717
5718         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
5719         then fall back to cmpstrM.
5720         * builtins.c (expand_builtin_memcmp): Likewise.
5721         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
5722         (s390_expand_cmpmem): ... this.
5723         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
5724         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
5725         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
5726         to s390_expand_cmpmem.
5727         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
5728         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
5729         to cmpmem*.
5730         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
5731         cmpstr* patterns.
5732         * doc/md.texi (cmpstrM): Describe as String compare insn, not
5733         Block compare insn.
5734         (cmpmemM): Add.
5735
5736 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
5737
5738         * config/i386/freebsd.h (SET_ASM_OP): Remove.
5739         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
5740         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
5741          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
5742
5743 2003-07-11  Richard Henderson  <rth@redhat.com>
5744
5745         * function.c (assign_parms): Don't recombine complex args if
5746         fnargs is unchanged from orig_fnargs.
5747         (split_complex_args): Return args without complex before copying.
5748         Re-layout the modified parameters.
5749
5750 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
5751
5752         * regclass.c (choose_hard_reg_mode): Add third argument.
5753         Changed all callers.
5754         * rtl.h (choose_hard_reg_mode): Update declaration.
5755         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
5756         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
5757
5758 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
5759
5760         * c-decl.c (finish_decl): Handle 'used' here...
5761         * cgraphunit.c (cgraph_finalize_function): ... and here ...
5762         * c-common.c: (handle_used_attribute): ... not here.
5763
5764         * configure.in (onstep): Support --enable-intermodule.
5765         * Makefile.in (OBJS-common): New.
5766         (OBJS-md): New.
5767         (OBJS-archive): New.
5768         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
5769         (OBJS-onestep): New.
5770         (libbackend.a): Support @onestep@.
5771         (libbackend.o): New.
5772         * configure: Regenerate.
5773
5774         * c-common.h (c_reset_state): New prototype.
5775         (c_parse_file): New prototype.
5776         (finish_file): Move prototype from c-tree.h.
5777         * c-decl.c: Include <hashtab.h>.
5778         (builtin_decls): New.
5779         (current_file_decl): New.
5780         (duplicate_decls): Add extra parameter. Change all callers.  Don't
5781         output duplicate common symbols.
5782         (link_hash_hash): New.
5783         (link_hash_eq): New.
5784         (poplevel): Handle popping of the top level.
5785         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
5786         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
5787         (pushdecl_top_level): Likewise.
5788         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
5789         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
5790         (finish_decl): Handle TRANSLATION_UNIT_DECL.
5791         (merge_translation_unit_decls): New.
5792         (c_write_global_declarations): New.
5793         (c_reset_state): New.
5794         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
5795         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
5796         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
5797         TRANSLATION_UNIT_DECL.
5798         (c_objc_common_finish_file): Call merge_translation_unit_decls.
5799         * c-opts.c (in_fnames): Rename from in_fname.
5800         (c_common_decode_option): Handle multiple input filenames.
5801         (c_common_post_options): Likewise.
5802         (c_common_parse_file): Likewise; also, call c_parse_file rather than
5803         yyparse.
5804         * c-parse.in: Move cleanup code to c_parse_file.
5805         (free_parser_stacks): Move contents to c_parse_file.
5806         (c_parse_file): New.
5807         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
5808         for integer types.
5809         (C_DECL_FILE_SCOPE): New.
5810         (finish_file): Move prototype to c-common.h.
5811         (merge_translation_unit_decls): New prototype.
5812         (comptypes): Add extra parameter to prototype.
5813         (c_write_global_declarations): New prototype.
5814         * c-typeck.c (tagged_types_tu_compatible_p): New.
5815         (function_types_compatible_p): Add extra parameter, change all callers.
5816         (type_lists_compatible_p): Likewise.
5817         (comptypes): Likewise.
5818         (struct tagged_tu_seen): New.
5819         (tagged_tu_seen_base): New.
5820         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
5821         (c_mark_addressable): Remove #if 0 code.
5822         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
5823         comment explaining why it shouldn't have to.
5824         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
5825         options.
5826         * cppinit.c (cpp_read_next_file): New.
5827         (cpp_read_main_file): Use it.
5828         * cpplib.c (undefine_macros): New.
5829         (cpp_undef_all): New.
5830         * cpplib.h (cpp_read_next_file): Prototype.
5831         (cpp_undef_all): Prototype.
5832         * langhooks-def.h (write_global_declarations): Remove prototype.
5833         * toplev.h (write_global_declarations): Add prototype.
5834         * tree.c (decl_type_context): Use switch statement, handle
5835         TRANSLATION_UNIT_DECL.
5836         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
5837         (TRANSLATION_UNIT_DECL): New kind of tree.
5838         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
5839         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
5840         * doc/invoke.texi: Make attempt to document new functionality.
5841
5842         2003-05-19  Per Bothner <bothner@apple.com>
5843
5844         * gcc.c (combine_inputs): New.
5845         (process_command): Set combine_inputs.
5846         (do_spec_1): Handle combine_inputs.
5847         (main): Likewise.
5848
5849 2003-07-10  James E Wilson  <wilson@tuliptree.org>
5850
5851         PR optimization/9745
5852         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
5853         loop_insn_emit_before.
5854         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
5855
5856 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
5857
5858         * cppcharset.c: Fix comment.
5859         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
5860         (EILSEQ): #define to EINVAL if not already defined.
5861         (convert_using_iconv): #if out when !HAVE_ICONV.
5862         (init_iconv_desc): Handle !HAVE_ICONV here...
5863         (cpp_init_iconv): ...not here.
5864
5865 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
5866
5867         * common.opt: More --help messages.
5868         * opts.c (print_help): Use puts().
5869         * toplev.c (f_options): Remove help text.
5870         (display_help): Don't dump f_options.
5871
5872 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
5873
5874         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
5875         Move i?86-*-interix* to the don't-fix list.
5876         * fixinc/fixinc.interix: Delete with extreme prejudice.
5877
5878 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
5879
5880         PR bootstrap/10758
5881         * doc/install.texi: Document requirements for ia64-*-hpux* target.
5882
5883 2003-07-10  Roger Sayle  <roger@eyesopen.com>
5884
5885         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
5886
5887 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
5888
5889         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
5890         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
5891         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
5892         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
5893         convert_no_conversion, convert_using_iconv): New functions.
5894         (APPLY_CONVERSION): New macro.
5895         (struct conversion, conversion_tab): New data structure.
5896         (init_iconv_desc): Check conversion_tab for a custom conversion
5897         primitive before trying to use iconv.
5898         (convert_cset): Deleted.
5899         (cpp_init_iconv): Use UTF- terminology, not UCS-.
5900         (_cpp_destroy_iconv): Update to match.
5901         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
5902         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
5903         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
5904         (_cpp_interpret_string_notranslate): New function, moved here
5905         from cpplib.c.
5906
5907         * cpphash.h (convert_f, struct cset_converter): New types.
5908         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
5909         are now struct cset_converter, not bare iconv_t.
5910         Update prototypes.
5911         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
5912         all callers changed.
5913
5914 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
5915
5916         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
5917         to opts.sh command line.
5918         * opts.sh: Write to temporary files with a move-if-change at the end.
5919
5920 2003-07-10  Denis Chertykov  <denisc@overta.ru>
5921             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5922
5923         * combine.c (gen_binary): Handle the CLOBBER rtx and
5924         don't build a binary operation with it.
5925
5926 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5927
5928         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
5929         store_killed_after, store_killed_before): Keep track of the correct
5930         dependency function to use.
5931
5932 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
5933         * toplev.c (do_compile): Don't try to open dump files before
5934         lang_dependent_init initializes dump_base_name.
5935
5936 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5937
5938         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
5939         Use ARRAY_SIZE.
5940         * config/frv/frv.c (frv_expand_builtin): Likewise.
5941         * config/sh/sh.c (sh_media_init_builtins): Likewise.
5942
5943 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
5944
5945         PR c++/10032
5946         * doc/invoke.texi (C++ Dialect Options): Change documentation of
5947         -fpermissive.
5948
5949 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
5950
5951         * tm.texi (RETURN_ADDR_OFFSET): Document.
5952
5953 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
5954
5955         * gcov-io.h: Update documentation.
5956         (GCOV_UNSIGNED2STRING): New.
5957         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
5958         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
5959         GCOV_TAG_SUMMARY_LENGTH): Adjust.
5960         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
5961         GCOV_TAG_COUNTER_NUM): New.
5962         (GCOV_BLOCK_SIZE): Number of words.
5963         (gcov_var): Adjust buffer type.
5964         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
5965         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
5966         count, not byte count.
5967         (gcov_open): Adjust overread init.
5968         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
5969         gcov_write_string, gcov_write_tag, gcov_write_length,
5970         gcov_write_tag_length): Adjust.
5971         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
5972         (gcov_sync, gcov_seek): Adjust.
5973         * gcov-dump.c (print_usage): Show gcc version only.
5974         (dump_file): Use GCOV_UNSIGNED2STRING.
5975         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
5976         * gcov.c (print_version): Show gcc version only.
5977         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
5978         GCOV_TAG_*_NUM macros.
5979         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
5980         GCOV_TAG_COUNTER_LENGTH.
5981         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
5982         Use GCOV_TAG_COUNTER_NUM.
5983         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
5984         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
5985
5986 2003-07-10  Andreas Schwab  <schwab@suse.de>
5987
5988         * gcov-dump.c (dump_file): Fix missing address operator.
5989
5990 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
5991
5992         PR c/11449
5993         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
5994         of HOST_WIDE_INT.
5995         (fold_single_bit_test): If sign_bit_p() fails, assume that the
5996         bit being tested is not a sign bit.
5997
5998 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
5999
6000         * config/h8300/h8300.md (a peephole2): New.
6001
6002 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
6003
6004         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
6005         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
6006         from ld-linux.so.2 to ld.so.1.
6007         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
6008         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
6009         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
6010         nor -Wl,-rpath-link.
6011         (LIB_SPEC): Add -rpath-link if !static.
6012         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
6013         * config/mn10300/mn10300.c (mn10300_protect_label): New
6014         variable.
6015         * config/mn10300/linux.h (PRINT_OPERAND,
6016         PRINT_OPERAND_ADDRESS): Set it during their execution.
6017         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
6018         mn10300_protect_label is set.
6019         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
6020         -Wl,-rpath-link.
6021         (LIB_SPEC, STARTFILE_SPEC): Define.
6022         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
6023         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
6024         FLOAT_BIT_ORDER_MISMATCH.
6025         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
6026         * config.gcc (am33_2.0-*-linux*): Added.
6027         * config/mn10300/linux.h: New.
6028         * config/mn10300/t-linux: New.
6029
6030 2003-07-10  Andreas Jaeger  <aj@suse.de>
6031
6032         * fold-const.c: Properly wrap prototypes.
6033
6034 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
6035
6036         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
6037         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
6038         Moved from...
6039         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
6040         * config/mn10300/mn10300.h: GTY-declare it.
6041         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
6042         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
6043         prototype.  Use incoming RTL argument.
6044         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
6045         * config/mn10300/mn10300.md (int_label): Move C statements...
6046         (GOTaddr2picreg): ... here.
6047         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
6048         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
6049         * config/mn10300/mn10300.c (mn10300_encode_section_info):
6050         ... here.  New function.
6051         (TARGET_ENCODE_SECTION_INFO): Define to it.
6052         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
6053         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
6054         pattern name.
6055         (mn10300_loadPC): Define as insn splittable after reload.
6056         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
6057         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
6058         be defined in .rodata even in PIC, now that the assembler
6059         supports that.
6060         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
6061         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
6062         symbol take an underscore prefix.
6063         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
6064         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
6065         legitimize_pic_address): Declare.
6066         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
6067         the PIC register as fixed.
6068         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
6069         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
6070         PIC.
6071         (LEGITIMATE_PIC_OPERAND_P): Define.
6072         (PIC_OFFSET_TABLE_REGNUM): Define.
6073         (GOT_SYMBOL_NAME): Define.
6074         (SYMBOLIC_CONST_P): Define.
6075         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
6076         symbols.
6077         (MN10300_GLOBAL_P): Test it.
6078         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
6079         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
6080         * config/mn10300/mn10300.c (print_operand): Handle unspec.
6081         (expand_prologue): Set PIC register.
6082         (call_address_operand): Don't match SYMBOL_REFs in PIC.
6083         (legitimize_address): Call legitimize_pic_address.
6084         (legitimize_pic_address): New fn.
6085         (legitimate_pic_operand_p): New fn.
6086         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
6087         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
6088         UNSPEC_PLT): New constants.
6089         (pop_pic_reg): New insn.
6090         (movsi): Adjust non-PIC addresses.
6091         (builtin_setjmp_receiver): Restore the PIC register.
6092         (casesi): New insn.
6093         (call): Adjust non-PIC addresses.
6094         (int_label, GOTaddr2picreg): New expands.
6095         (am33_loadPC): New insn.
6096         (mn10300_loadPC): New expand.
6097         (call_next_insn): New insn.
6098         (add_GOT_to_pic_reg): New expand.
6099         (symGOT2reg, symGOT2reg_i): New expands.
6100         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
6101         (sym2PIC, sym2PLT): New expands.
6102
6103 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
6104
6105         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
6106         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
6107         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
6108         to flag_unsafe_math_optimizations.
6109         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
6110         * config/mn10300/mn10300.c (expand_prologue): Mark
6111         FP-register-saving insns as frame-related.
6112         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
6113         * config/mn10300/mn10300.c
6114         (mn10300_get_live_callee_saved_regs): Don't search past
6115         LAST_EXTENDED_REGNUM.
6116         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
6117         * config/mn10300/mn10300.md: Remove excessive line breaks from
6118         `@' output patterns that were accounted as additional
6119         alternatives.
6120         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
6121         Re-introduce changes accidentally removed in Richard Sandiford's
6122         2000-12-05's patch.
6123         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
6124         Re-instate am33-2 lost in merge from net GCC.
6125         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
6126         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
6127         floating-point registers.
6128         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
6129         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
6130         pessimizations that had gone in on 2000-05-08.
6131         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
6132         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
6133         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
6134         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
6135         operand 0.
6136         * (movhi): Likewise.
6137         * (movsi): Likewise.
6138         * (movsf): Likewise.
6139         * (movdi): Likewise.
6140         * (movdf): Likewise.
6141         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
6142         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
6143         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
6144         (expand_prologue, expand_epilogue): Save and restore FP regs.
6145         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
6146         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
6147         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
6148         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
6149         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
6150         Do not clobber cc0.
6151         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
6152         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
6153         Discourage the two-argument, longer opcodes.
6154         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
6155         ones.
6156         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
6157         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
6158         * config/mn10300/mn10300.md (cmpsf): New pattern.
6159         (branch): Test mdep.fpCC and output fbCC.
6160         * config/mn10300/mn10300.c (print_operand): Output conditions.
6161         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
6162         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
6163         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
6164         mulsf3, divsf3): Use the `F' constraint for FP values.
6165         * config/mn10300/mn10300.c (const_1f_operand): New function.
6166         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
6167         * config/mn10300/mn10300.md (sqrtsf2): New expand.
6168         (rsqrtsf2): New insn.
6169         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
6170         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
6171         previous check-in.
6172         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
6173         * config/mn10300/mn10300.md (abssf2, negdf2): On
6174         TARGET_AM33_2, expand to...
6175         (abssf2_am33_2, negdf2_am33_2): New insns.
6176         (addsf3, subsf3, mulsf3, divsf3): Likewise.
6177         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
6178         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
6179         movdi, movdf): Added FP regs.
6180         * invoke.texi (-mam33-2, -mno-am33-2): Document.
6181         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
6182         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
6183         New macros.
6184         (REGNO_AM33_2_FP_P): Renamed to...
6185         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
6186         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
6187         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
6188         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
6189         regs from GENERAL_REGS.
6190         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
6191         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
6192         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
6193         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
6194         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
6195         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
6196         as FP_REGS.
6197         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
6198         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
6199         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
6200         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
6201         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
6202         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
6203         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
6204         AM33/2.0 floating-point registers.
6205         (CONDITIONAL_REGISTER_USAGE): Adjust.
6206         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
6207         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
6208         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
6209         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
6210         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
6211         (MULTILIB_DIRNAMES): Likewise.
6212         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
6213         `__AM33_2__' when `-mam33-2' is given.
6214         (TARGET_AM33_2): Define.
6215         (TARGET_SWITCHES): Adjust.
6216         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
6217         when appropriate.
6218
6219 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
6220
6221         * doc/install.texi: Add missing @.
6222
6223 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
6224
6225         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
6226
6227 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
6228
6229         PR/11144
6230         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
6231
6232 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
6233
6234         PR bootstrap/11043
6235         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
6236         "x-crtfini.o" with "crtinit.o", "crtfini.o".
6237
6238         * fixinc/inclhack.def (limits_ifndefs): Add select test.
6239         * fixinc/fixincl.x: Rebuild.
6240
6241         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
6242         * fixinc/fixincl.x: Rebuild.
6243
6244 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
6245
6246         * doc/install.texi (Configuration): Document the valgrind option
6247         to --enable-checking.
6248
6249 2003-07-09  Jan Hubicka  <jh@suse.cz>
6250
6251         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
6252
6253 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6254
6255         * c-lex.c (cb_ident): Cast cstr.text to const char *.
6256
6257 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
6258
6259         * gcov-io.h: Update documentation.
6260         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
6261         GCOV_NOTE_MAGIC.
6262         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
6263         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
6264         (struct gcov_var): Change buffer's type. Add endian flag.
6265         (gcov_open): Remove mode in libgcov.
6266         (gcov_magic): Prototype.
6267         * gcov-io.c (from_file): New.
6268         (gcov_open): Clear endian flag.
6269         (gcov_magic): New.
6270         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
6271         pointers.
6272         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
6273         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
6274         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
6275         * gcov-iov.c (main): Correct cast.
6276         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
6277         conversion.
6278         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
6279         (coverage_init): Use GCOV_NOTE_SUFFIX.
6280         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
6281         Rename to gcov_version, and return flag.
6282         (gcov_exit): Use gcov_version.
6283         (__gcov_init): Use gcov_version.
6284         * Makefile.in (coverageexts): Update.
6285         * gcov.c (print_version): Remove endianness conversion.
6286         (create_file_names): Use GCOV_NOTE_SUFFIX.
6287         (read_graph_file): Use gcov_magic.
6288         (read_count_file): Likewise.
6289         * gcov-dump.c (dump_file): Remove endianness conversion, use
6290         gcov_magic.
6291
6292 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
6293
6294         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
6295         coverage is on.
6296         * configure: Regenerated.
6297         * Makefile.in (ALL_CFLAGS): Correct its comment.
6298
6299 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
6300
6301         * fold-const.c (make_range): Do not access operand 1 for a
6302         zero-operand operator.
6303
6304 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
6305
6306         * toplev.c (warn_dummy, W_options): Die.
6307         (display_help): Don't print W_options.
6308         * common.opt: Add W_options help from toplev.c.
6309
6310 2003-07-09  Andreas Jaeger  <aj@suse.de>
6311
6312         * opts.c (wrap_help): Only pass int arguments as arguments to
6313         printf's '*' modifier.  Change argument of function.
6314
6315 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
6316
6317         * doc/invoke.texi: Fix misspelling of "@item".
6318
6319 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
6320
6321         * config/i386/i386.md: Remove an old comment about
6322         NOTICE_UPDATE_CC.
6323
6324 2003-07-09  Jan Hubicka  <jh@suse.cz>
6325
6326         * cgraph.c (cgraph_node_name): New function.
6327         (dump_cgraph): Use it.
6328         * cgraph.h (cgraph_dump_file): Declare.
6329         (cgraph_node_name): Declare.
6330         * cgraphunit.c: Include timevar.h
6331         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
6332         (cgraph_optimize_function): Use TV_INTEGRATION.
6333         (cgraph_mark_local_functions): reorganize dumps.
6334         (cgraph_mark_functions_to_inline_once): Likewise.
6335         (cgraph_optimize): Likewise; use timevar.
6336         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
6337         * toplev.c (dump_file_index): Add DFI_cgraph.
6338         (dump_file_info): Likewise.
6339         (cgraph_dump_file): New global variable.
6340         (do_compile): Open and close cgraph dump.
6341         * invoke.texi (-d): Document new flag; renumber.
6342
6343 2003-07-08  Roger Sayle  <roger@eyesopen.com>
6344
6345         PR c/11370
6346         * calls.c (emit_call_1): Don't bother popping the arguments off of
6347         the stack after a noreturn function call;  The adjustment is dead.
6348         (expand_call): Likewise.
6349
6350 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
6351
6352         * expr.c (MOVE_MAX_PIECES): Move from here...
6353         * defaults.h (MOVE_MAX_PIECES): ... to here.
6354
6355 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
6356
6357         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
6358
6359 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6360
6361         * genattr.c (internal_dfa_insn_code): Don't prototype.
6362         * genattrtab.c (attr_desc): Add `static_p' field.
6363         (expand_units): Make blockage range and ready cost functions
6364         static.
6365         (write_attr_get): Don't add extern prototypes in C file.  Mark
6366         static functions as appropriate.
6367         (find_attr, make_internal_attr): Initialize static_p.
6368         * genattrtab.h (ATTR_STATIC): New macro.
6369         * genautomata.c (output_internal_reset_func): Mark output function
6370         as inline.
6371         (make_internal_dfa_insn_code_attr): Mark output function as static.
6372
6373 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6374
6375         * genattrtab.h: Add new macros for attr `special' flags.
6376         * genattrtab.c (attr_desc): Reorder/resize fields better.
6377         Use attr `special' macros in all calls to make_internal_attr.
6378         * genautomata.c: Likewise.
6379
6380 2003-07-09  Jan Hubicka  <jh@suse.cz>
6381
6382         * c-common.c (c_estimate_num_insns_1): New static function.
6383         (c_estimate_num_insns): New global function.
6384         * c-common.h (DECL_NUM_STMTS): Rename to...
6385         (DECL_ESTIMATED_INSNS): ... this.
6386         (c_estimate_num_insns): Declare.
6387         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
6388         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
6389         * c-semantics.c (add_stmt): Do not account statements.
6390         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
6391         New.
6392         * langhooks.h (lang_hooks_for_tree_inlining): Add
6393         estimate_num_insns
6394         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
6395         to 100.
6396         (max-inline-insns): set to 300.
6397         (min-inline-insns): set to 10.
6398         * tree-inline.c (struct inline_data): Rename inlined_stmts to
6399         inlined-insns.
6400         (INSNS_PER_STMT): Kill.
6401         (inlinable_function_p): Compute and store body size.
6402         (expand_call_inline): Likewise.
6403         (optimize_inline_calls): Likewise.
6404
6405 2003-07-08  James E Wilson  <wilson@tuliptree.org>
6406
6407         PR target/10021
6408         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
6409         loop over new variable t2 instead of t.
6410
6411 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
6412
6413         PR bootstrap/11455
6414         * config/i386/winnt.c: Replace use of error(), warning() with
6415         error_with_decl(), warning_with_decl(),  throughout.
6416
6417 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
6418
6419         * opts.c (wrap_help): Use unsigned int, not size_t.
6420
6421 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
6422
6423         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
6424         as .file/.loc directives are incompatible with linker relaxation.
6425
6426 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
6427
6428         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
6429         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
6430         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
6431         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
6432         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
6433         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
6434         Escape { and } characters which are not part of range expressions.
6435         * fixinc/fixincl.x: Regenerate.
6436         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
6437
6438 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
6439
6440         PR c/1687
6441         * tree-inline.c (find_alloca_call): Use
6442         walk_tree_without_duplicates, instead of walk_tree.
6443         (find_builtin_longjmp_call): Likewise.
6444         * c-objc-common.c (c_cannot_inline_fn): Likewise.
6445         * c-semantics.c (find_reachable_label): Likewise.
6446
6447 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
6448
6449         PR c/11420
6450         * config/i386/i386.c (ix86_check_movabs): New function.
6451         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
6452         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
6453         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
6454
6455 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
6456
6457         * Makefile.in (install-po): Cope with empty CATALOGS.
6458
6459 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
6460
6461         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6462         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
6463         (SECTION_FUNCTION_TEMPLATE): Delete.
6464         * config/mips/elf.h: As for elf64.h.
6465         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
6466         * config/mips/linux.h: As for elf.h
6467         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6468         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
6469         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
6470         of in_sdata from current_section_name and current_section_flags.
6471         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6472         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
6473         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
6474         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
6475         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
6476         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6477         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
6478         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
6479         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
6480         (override_options): Remove setting of MASK_GPOPT.
6481         (mips_output_external): Use mips_in_small_data_p to check whether a
6482         symbol needs an .extern directive.  Don't emit such directives for
6483         TARGET_EXPLICIT_RELOCS.
6484         (mips_declare_object): Update accordingly.
6485         (mips_select_rtx_section): Call named_section rather than
6486         SMALL_DATA_SECTION.
6487         (mips_select_section): Use default_elf_section_section for everything
6488         except .text string constants.
6489         (mips_in_small_data_p): New function.
6490         (mips_encode_section_info): Remove small data handling.
6491         (mips_unique_section): Delete.
6492         (iris6_section_type_flags): New function.
6493         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
6494
6495 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6496
6497         PR Target/11453
6498         * pa.md: Disparage all mtsar constraints.
6499         (extzv, extv, insv): Don't fail on length of {32|64}.
6500
6501 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
6502
6503         * system.h: Poison MAP_CHARACTER.
6504         * config/i370/i370-protos.h (mvs_map_char): Delete.
6505         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
6506         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
6507         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
6508
6509 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
6510
6511         * toplev.c (randomize): Correct call to time().
6512
6513 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
6514
6515         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
6516         REG_EQUIV notes as well.
6517
6518 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
6519
6520         * doc/md.texi: Fix the description of addmodecc.
6521
6522 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
6523
6524         * Makefile.in (top_builddir): Set to "..", not ".".
6525         (INTLLIBS, INTLDEPS): Delete.
6526         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
6527         (LIBDEPS): Add $(LIBICONV_DEP).
6528         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
6529         (INCLUDES): Replace -I../intl with @INCINTL@.
6530         ($(top_builddir)/intl/libintl.a): Delete rule.
6531         (stage2-start, stage3-start, stage4-start, stageprofile-start,
6532         stagefeedback-start): Use $$ for variable to be evaluated by
6533         shell, not make.
6534         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
6535         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
6536         * aclocal.m4: sinclude ../config/progtest.m4.  Add
6537         contents of lcmessage.m4 from gettext distro.
6538         * configure.in: Check for wchar.h and setlocale.  Set
6539         LIBICONV_DEP to the empty string and substitute it.
6540         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
6541         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
6542         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
6543         in $LIBINTL, to avoid linking it twice.
6544         * configure, config.in: Regenerate.
6545
6546 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
6547
6548         * fixinc/mkfixinc.sh: Remove winnt support.
6549         * fixinc/fixinc.winnt: Delete with extreme prejudice.
6550
6551 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
6552
6553         * Makefile.in: Update.
6554         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
6555         * c.opt: Update documentation.
6556         * common.opt: Add some help text.
6557         * opts.c: Include intl.h.
6558         (wrap_help, print_help): New.
6559         (find_opt, handle_option, common_handle_option): opt_text now
6560         contains the '-'.  Use print_help to output help.
6561         * opts.h (struct cl_option): New member "help".
6562         * opts.sh: Update to handle help text output and to prepend
6563         options with '-'.
6564         * toplev.c (display_help): Remove some help text.
6565
6566 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
6567             Fariborz Jahanian  <fjahanian@apple.com>
6568
6569         * configure.in: Test for PowerPC mfcr field support in assembler.
6570         * config.in, configure: Regenderated.
6571
6572         * config/rs6000/power4.md: Add mfcrf reservation.
6573         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
6574         * config/rs6000/rs6000.c (mfcr_operation): Define.
6575         (print_operand): Add 'Q' case for mfcrf.
6576         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
6577         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
6578         (movcc_internal1): Emit optional field operand for mfcr and set
6579         "type" attribute appropriately.
6580         (mfcr SCC): Likewise.
6581         (movesi_from_cr_one): New.
6582
6583 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6584
6585         * config/i386/i386.md: Correct check-in of incorrect version.
6586
6587 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6588
6589         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
6590         adjacent stdio calls.
6591         * c-decl.c (c_print_identifier): Likewise.
6592         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
6593         * print-rtl.c (print_rtx): Likewise.
6594         * print-tree.c (print_node_brief, print_node): Likewise.
6595         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
6596
6597         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
6598         * config.in, configure: Regenerated.
6599
6600 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6601
6602         PR target/10979
6603         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
6604         Changed to define_expand patterns that copy operand[1] to prevent
6605         it from being clobbered before emitting an atan2?f3_1 insn.
6606         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
6607         patterns that actually specify the behaviour of x87's FPATAN.
6608
6609 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
6610
6611         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
6612         clearing of SYMBOL_FLAG_LOCAL bit.
6613         If vcall_offset fits into signed 16-bit immediate, use
6614         one instruction for both addition and load.
6615
6616 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
6617
6618         * opts.c (common_handle_option): Correct handling of the
6619         -falign- switches that do and don't take an argument.
6620
6621 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6622
6623         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
6624         today.
6625         (pushhi1_h8300hs): Likewise.
6626
6627 2003-07-07  Andreas Jaeger  <aj@suse.de>
6628
6629         * genextract.c: Convert remaining prototypes to ISO C90.
6630
6631         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
6632         * fold-const.c (fold_single_bit_test): Likewise.
6633         * diagnostic.c (default_diagnostic_finalizer): Likewise.
6634         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
6635
6636         * gengtype.c (write_array): Generate ISO C90 prototypes.
6637
6638         * genflags.c (gen_proto): Generate ISO C90 prototypes.
6639
6640 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6641
6642         PR optimization/11059
6643         * expr.c (can_store_by_pieces): Return true if length is zero.
6644         (store_by_pieces): If length is zero and endp is two, abort,
6645         othwerise, if length is zero and endp is not two, return "to".
6646         (clear_by_pieces): Do nothing if length is zero.
6647         (clear_storage): Do nothing if length is zero.
6648         (store_constructor): Simplify code when size is zero, or the
6649         target has already been cleared.  This avoids emitting a
6650         blockage instruction when initializing empty structures.
6651
6652 2003-07-07  Andreas Jaeger  <aj@suse.de>
6653
6654         * mips-tfile.c: Convert prototypes to ISO C90.
6655         * mips-tdump.c: Convert prototypes to ISO C90.
6656
6657 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6658
6659         * rtl.h (emit_line_note): Take a location_t.
6660         (emit_line_note_force): Remove.
6661         (set_file_and_line_for_statement): Take a location_t.
6662         * tree.g (emit_line_note): Take a location_t.
6663         * emit-rtl.c (emit_line_note): Take a location_t.
6664         (emit_line_note_force): Remove.
6665         * function.c (init_function_start): Adjust emit_line_note call.
6666         (expand_function_end): Use force_next_line_note, not
6667         emit_line_note_force.
6668         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
6669         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
6670         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
6671         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
6672         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
6673         genrtl_continue_stmt, genrtl_switch_stmt,
6674         genrtl_asm_stmt): Likewise.
6675         * expr.c (expand_expr): Likewise.
6676         * integrate.c (expand_inline_function): Likewise.
6677         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
6678         (expand_decl_init): Adjust emit_line_note call.
6679
6680 2003-07-07  Dale Johannesen  <dalej@apple.com>
6681
6682         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
6683
6684 2003-07-07  Andreas Jaeger  <aj@suse.de>
6685
6686         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
6687         * config/i386/i386.c: Likewise.
6688
6689 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6690
6691         * config/h8300/h8300.md: Use gen_int_mode instead of
6692         GEN_INT (trunc_int_for_mode (...)).
6693
6694 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6695
6696         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
6697         2 bytes and then subtract 2 from the stack pointer.
6698         (pushhi1_h8300hs): Likewise.
6699
6700 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6701
6702         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
6703         -frandom-seed.
6704         * configure: Regenerated.
6705         * Makefile.in: Remove extraneous comment.
6706         * toplev.c (randomize): Protect against potential multiple calls.
6707         * doc/invoke.texi (-frandom-seed): Document use for in coverage
6708         files.
6709
6710 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6711             Eric Botcazou  <ebotcazou@libertysurf.fr>
6712
6713         PR optimization/11198
6714         * alias.c (objects_must_conflict_p): Return 1 if the types have
6715         the same alias set, not if the alias sets only conflict.
6716
6717 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
6718
6719         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
6720         (convert_cset): Change inbuf to type ICONV_CONST char.
6721         * Makefile.in (LIBS): Add LIBICONV.
6722
6723         * doc/invoke.texi (-falign-functions): Document that
6724         when n is zero then a machine-dependent default is used.
6725         (-falign-labels): Document that when n is zero then a
6726         machine-dependent default is used and that -falign-labels =1
6727         is equivalent to -fno-align-labels.
6728         (-falign-loops): Likewise.
6729         (-falign-jumps): Likewise.
6730
6731 2003-07-06  Art Haas  <ahaas@airmail.net>
6732
6733         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
6734         initializer syntax.
6735
6736 2003-07-06  James E Wilson  <wilson@tuliptree.org>
6737
6738         PR optimization/9812
6739         * rtl.h (mem_for_const_double): Delete prototype.
6740         * varasm.c (mem_for_const_double): Delete function.
6741         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
6742         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
6743         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
6744         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
6745         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
6746         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
6747         comment about confused support for XFmode constants.
6748
6749 2003-07-07  Jan Hubicka  <jh@suse.cz>
6750
6751         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
6752
6753 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
6754
6755         * config/h8300/h8300.c: Fix comment typos.
6756         * config/h8300/h8300.md: Likewise.
6757         * config/i386/athlon.md: Likewise.
6758         * config/i386/i386.c: Likewise.
6759         * config/i386/pentium.md: Likewise.
6760         * config/ia64/ia64.c: Likewise.
6761         * config/ia64/itanium1.md: Likewise.
6762         * config/ia64/itanium2.md: Likewise.
6763         * config/m32r/m32r.md: Likewise.
6764         * config/m68hc11/m68hc11.c: Likewise.
6765         * config/mcore/mcore.c: Likewise.
6766         * config/mips/sr71k.md: Likewise.
6767         * config/mips/t-iris5-as: Likewise.
6768         * config/mmix/mmix.h: Likewise.
6769         * config/ns32k/ns32k.h: Likewise.
6770         * config/ns32k/NOTES: Fix a typo.
6771
6772 2003-07-06  Andreas Jaeger  <aj@suse.de>
6773
6774         * stmt.c: Convert remaining prototypes to ISO C90.
6775         * cfglayout.c: Likewise.
6776         * dbxout.c: Likewise.
6777         * gcc.c: Likewise.
6778         * genemit.c: Likewise.
6779
6780         * basic-block.h: Convert prototypes to ISO C90.
6781         * c-parse.in: Likewise.
6782         * c-pragma.h: Likewise.
6783         * c-typeck.c: Likewise.
6784         * cfghooks.h: Likewise.
6785         * cfgloopanal.c: Likewise.
6786         * dbxout.h: Likewise.
6787         * debug.h: Likewise.
6788         * dwarf2asm.h: Likewise.
6789         * gcov.c: Likewise.
6790         * gengtype-lex.l: Likewise.
6791         * sched-int.h: Likewise.
6792         * timevar.c: Likewise.
6793
6794 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6795
6796         * c-common.h (c_comon_handle_filename,
6797         c_common_missing_arguement): New.
6798         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6799         LANG_HOOKS_MISSING_ARGUMENT): New.
6800         * c-opts.c (missing_arg): Rename c_common_missing_argument,
6801         update to be an appropriate langhook.
6802         (c_common_handle_option): Don't handle filenames.
6803         (c_common_handle_filename): New.
6804         * hooks.c (hook_void_constcharptr,
6805         hook_bool_constcharptr_size_t_false): New.
6806         * hooks.h (hook_void_constcharptr,
6807         hook_bool_constcharptr_size_t_false): New.
6808         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
6809         LANG_HOOKS_MISSING_ARGUMENT): New.
6810         (LANG_HOOKS_INITIALIZER): Update.
6811         * langhooks.h (struct lang_hooks): Add handle_filename and
6812         missing_argument.
6813         * opts.c (handle_option): Don't handle filenames here, but ...
6814         (handle_options): ... here.
6815         (common_handle_option): Don't handle missing arguments here.
6816         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6817         LANG_HOOKS_MISSING_ARGUMENT): New.
6818
6819 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6820
6821         * Makfile.in: Remove traces of mbchar.
6822         * c-parse.in (MULTIBYTE_CHARS): Remove.
6823         * config.in (MULTIBYTE_CHARS): Remove.
6824         * configure: Remove --enable-mbchar.
6825         * configure.in: Remove --enable-mbchar.
6826         * mbchar.c, mbchar.h: Remove.
6827         * system.h: Poison MULTIBYTE_CHARS.
6828         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
6829         * config/linux.h (MULTIBYTE_CHARS): Remove.
6830         * config/svr4.h (MULTIBYTE_CHARS): Remove.
6831         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
6832
6833 2003-07-06  Andreas Jaeger  <aj@suse.de>
6834
6835         * varray.c (varray_check_failed): Fix typo.
6836
6837         * unroll.c: Convert prototypes to ISO C90.
6838         * varasm.c: Likewise.
6839         * varray.c: Likewise.
6840         * varray.h: Likewise.
6841         * vmsdbgout.c: Likewise.
6842         * xcoffout.c: Likewise.
6843         * xcoffout.h: Likewise.
6844
6845 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6846
6847         * gcov-io.h: Add a local time stamp.
6848         (struct gcov_info): Add stamp field.
6849         (gcov_truncate): New.
6850         * coverage.c (read_counts_file): Skip the stamp.
6851         (coverage_begin_output): Write the stamp.
6852         (build_gcov_info): Declare and init the stamp.
6853         (coverage_finish): Only unlink data file, if stamp is zero.
6854         * gcov-dump.c (dump_file): Dump the stamp.
6855         * gcov.c (bbg_stamp): New.
6856         (release_structures): Clear bbg_stamp.
6857         (read_graph_file): Read stamp.
6858         (read_count_file): Check stamp.
6859         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
6860
6861 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6862
6863         * tree.h (default_flag_random_seed): Remove.
6864         * toplev.h (local_tick): Declare.
6865         * tree.c (flag_random_seed, default_flag_random_seed): Move to
6866         toplev.c.
6867         (append_random_chars): Don't call default_flag_random_seed.
6868         * toplev.c (flag_random_seed): Define here. Set local_tick.
6869         (local_tick): Define.
6870         (randomize): New, moved from tree.c.
6871         (print_switch_values): Adjust.
6872         (toplev_main): Call randomize.
6873
6874 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6875
6876         * tree.h (crc32_string): Declare.
6877         * tree.c (append_random_chars): Remove.
6878         (crc32_string): New.
6879         (get_file_function_name_long): Use crc32_string here.
6880
6881 2003-07-06  Andreas Jaeger  <aj@suse.de>
6882
6883         * gcc.c: Convert prototypes to ISO C90.
6884         * gcc.h: Likewise.
6885         * gcov-dump.c: Likewise.
6886         * gcov-iov.c: Likewise.
6887         * gcse.c: Likewise.
6888         * genattrtab.h: Likewise.
6889         * ggc.h: Likewise.
6890         * global.c: Likewise.
6891         * graph.c: Likewise.
6892         * graph.h: Likewise.
6893         * hosthooks.h: Likewise.
6894         * hooks.h: Likewise.
6895         * hooks.c: Likewise.
6896         * hashtable.h: Likewise.
6897         * hashtable.c: Likewise.
6898         * haifa-sched.c: Likewise.
6899         * integrate.h: Likewise.
6900         * integrate.c: Likewise.
6901         * input.h: Likewise.
6902         * ifcvt.c: Likewise.
6903         * jump.c: Likewise.
6904         * langhooks-def.h: Likewise.  Add extern to prototypes.
6905         * langhooks.c: Likewise.
6906         * langhooks.h: Likewise.
6907         * lcm.c: Likewise.
6908         * local-alloc.c: Likewise.
6909         * loop-init.c: Likewise.
6910         * loop-unroll.c: Likewise.
6911         * loop-unswitch.c: Likewise.
6912         * loop.c: Likewise.
6913         * loop.h: Likewise. Add extern to prototypes.
6914         * machmode.h: Likewise.
6915         * main.c: Likewise.
6916         * mbchar.c: Likewise.
6917         * mbchar.h: Likewise.
6918         * mkdeps.c: Likewise.
6919         * mkdeps.h: Likewise.
6920         * optabs.c: Likewise.
6921         * optabs.h: Likewise.
6922         * output.h: Likewise.
6923         * gccspec.c: Likwise.
6924         * postreload.c: Likewise.
6925         * prefix.c: Likewise.
6926         * prefix.h: Likewise.
6927         * print-rtl.c: Likewise.
6928         * print-tree.c: Likewise.
6929         * profile.c: Likewise.
6930         * read-rtl.c: Likewise.
6931         * real.c: Likewise.
6932         * real.h: Likewise.
6933         * recog.c: Likewise.
6934         * recog.h: Likewise.
6935         * reg-stack.c: Likewise.
6936         * regclass.c: Likewise.
6937         * regmove.c: Likewise.
6938         * regrename.c: Likewise.
6939         * regs.h: Likewise.
6940         * reload.c: Likewise.
6941         * reload.h: Likewise.
6942         * reload1.c: Likewise.
6943         * reorg.c: Likewise.
6944         * resource.c: Likewise.
6945         * resource.h: Likewise.
6946         * rtl-error.c: Likewise.
6947         * rtl.c: Likewise.
6948         * rtl.h: Likewise.
6949         * rtlanal.c: Likewise.
6950         * sbitmap.c: Likewise.
6951         * sbitmap.h: Likewise.
6952         * scan-decls.c: Likewise.
6953         * scan.c: Likewise.
6954         * sched-deps.c: Likewise.
6955         * sched-ebb.c: Likewise.
6956         * sched-int.h: Likewise.
6957         * sched-rgn.c: Likewise.
6958         * sched-vis.c: Likewise.
6959         * sibcall.c: Likewise.
6960         * simplify-rtx.c: Likewise.
6961         * sreal.c: Likewise.
6962         * sreal.h: Likewise.
6963         * ssa-ccp.c: Likewise.
6964         * ssa-dce.c: Likewise.
6965         * ssa.c: Likewise.
6966         * ssa.h: Likewise.
6967         * stack.h: Likewise.
6968         * stmt.c: Likewise.
6969         * stor-layout.c: Likewise.
6970         * stringpool.c: Likewise.
6971         * target.h: Likewise.
6972         * timevar.c: Likewise.
6973         * timevar.h: Likewise.
6974         * tlink.c: Likewise.
6975         * tracer.c: Likewise.
6976         * tree-inline.c: Likewise.
6977         * tree-inline.h: Likewise.
6978         * tree.c: Likewise.
6979         * tree.h: Likewise.
6980
6981 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6982
6983         * combine.c (nonzero_bits1): Fix a warning.
6984
6985 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6986
6987         * config/h8300/h8300.c (compute_mov_length): Correct the
6988         length of loading CONST0_RTX (SFmode).
6989
6990 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
6991
6992         * toplev.c (output_clean_symbol_name): Remove.
6993         * toplev.h (output_clean_symbol_name): Remove.
6994         * config/alpha/alpha.c (unicosmk_output_module_name): Use
6995         lbasename & clean_symbol_name.
6996
6997 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6998
6999         * ggc.h: Follow spelling conventions.
7000         * config/i386/i386.c: Likewise.
7001         * config/i386/winnt.c: Likewise.
7002         * config/rs6000/rs6000.c: Likewise.
7003
7004 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
7005
7006         * bt-load.c: Fix comment typos.
7007         * c-incpath.c: Likewise.
7008         * cfg.c: Likewise.
7009         * cfgcleanup.c: Likewise.
7010         * cfgloop.h: Likewise.
7011         * cfgloopmanip.c: Likewise.
7012         * cfgrtl.c: Likewise.
7013         * diagnostic.h: Likewise.
7014         * dwarfout.c: Likewise.
7015         * emit-rtl.c: Likewise.
7016         * et-forest.c: Likewise.
7017         * et-forest.h: Likewise.
7018         * expr.c: Likewise.
7019         * gcse.c: Likewise.
7020         * genattr.c: Likewise.
7021         * jump.c: Likewise.
7022         * langhooks.h: Likewise.
7023         * local-alloc.c: Likewise.
7024         * loop-unroll.c: Likewise.
7025         * loop-unswitch.c: Likewise.
7026         * ra-build.c: Likewise.
7027         * regclass.c: Likewise.
7028         * regmove.c: Likewise.
7029         * rtl.def: Likewise.
7030         * rtlanal.c: Likewise.
7031         * sched-ebb.c: Likewise.
7032         * sched-rgn.c: Likewise.
7033         * simplify-rtx.c: Likewise.
7034         * ssa.c: Likewise.
7035         * tracer.c: Likewise.
7036         * tree.c: Likewise.
7037
7038 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
7039
7040         * cppcharset.c: Use the correct return type for the fallback iconv
7041         macro.
7042
7043 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7044
7045         Blame to Jan Hubicka  <jh@suse.cz>
7046         * cfglayout.c (record_effective_endpoints): Split insns before
7047         first basic block correctly.
7048
7049 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7050
7051         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
7052         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
7053         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
7054
7055 2003-07-05  Andreas Jaeger  <aj@suse.de>
7056
7057         * genattrtab.c (write_attr_get): Revert part of last patch to
7058         always write out a prototype.
7059
7060         * genemit.c (gen_split): Readd lost unused attributes in last
7061         patch.
7062
7063 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7064
7065         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
7066         different from header.
7067
7068 2003-07-05  Andreas Schwab  <schwab@suse.de>
7069
7070         * config/m68k/m68k.c: Remove code protected by CRDS.
7071         * config/m68k/m68k.md: Likewise.
7072
7073 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
7074
7075         PR driver/11417
7076         * c-opts.c (permit_fortran_options): New.
7077         (c_common_init_options): Accept fortran front end options if
7078         it looks like we might be preprocessing Fortran.
7079         (c_common_handle_option): Don't reject switch if permit_fotran_options.
7080
7081 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7082
7083         * genattr.c (internal_dfa_insn_code): Output prototype.
7084         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
7085         * genautomata.c: Likewise.
7086         * genconditions.c: Likewise.
7087         * genemit.c: Likewise.
7088         * genextract.c: Likewise.
7089         * gengenrtl.c: Likewise.
7090         * gengtype.c: Likewise.
7091         * genopinit.c: Likewise.
7092         * genoutput.c: Likewise.
7093         * genpeep.c: Likewise.
7094         * genrecog.c: Likewise.
7095
7096 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
7097
7098         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
7099         (struct cpp_options): Add narrow_charset, wide_charset,
7100         bytes_big_endian fields.  Remove EBCDIC field.
7101         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
7102
7103         * cpphash.h: Include <iconv.h> if we have it, otherwise
7104         provide a dummy definition of iconv_t.
7105         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
7106         (_cpp_valid_ucn): Update prototype.
7107         (_cpp_destroy_iconv): New prototype.
7108
7109         * doc/cpp.texi: Document character set handling.
7110         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
7111         * doc/extend.texi: Delete entire section on multiline strings.
7112         Rewrite section on __FUNCTION__ etc now that these are
7113         variables in C.
7114
7115         * cppucnid.tab, cppucnid.pl: New files.
7116         * cppucnid.h: New generated file.
7117         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
7118         (iconv_open, iconv, iconv_close): Provide dummy definitions
7119         if !HAVE_ICONV.
7120         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
7121         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
7122         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
7123         cpp_interpret_string, narrow_str_to_charconst,
7124         wide_str_to_charconst): New.
7125         (ucn_valid_in_identifier): Use a binary search through the
7126         ucnranges table defined in cppucnid.h, not a long chain of if
7127         statements.
7128         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
7129         character names are only valid in C++ and C99" to a warning.
7130         Issue the "meaning of \[uU] is different in traditional C"
7131         warning here.  Take care not to let iconv see an invalid UCS
7132         value if we get a malformed UCN.  Issue an error if we don't
7133         have iconv.
7134         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
7135         cpp_interpret_string to do the heavy lifting.
7136
7137         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
7138         narrow_charset, wide_charset fields of options structure.
7139         (cpp_destroy): Call _cpp_destroy_iconv.
7140         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
7141         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
7142         (cpp_interpret_charconst): Moved to cppcharset.c.
7143         * cpplib.c (dequote_string): Delete.
7144         (interpret_string_notranslate): New.
7145         (do_line, do_linemarker): Use interpret_string_notranslate.
7146
7147         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
7148
7149         * c-common.c (fname_string, combine_strings): Delete.
7150         * c-common.h (fname_string, combine_strings): Delete prototypes.
7151         * c-lex.c (ignore_escape_flag): Delete.
7152         (cb_ident): Use cpp_interpret_string, not lex_string.
7153         (get_nonpadding_token): New function.
7154         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
7155         Adjust calls to lex_string.  Don't write *value twice.
7156         (lex_string): Now handles string constant concatenation.
7157         Most of the work handed off to cpp_interpret_string.
7158         Call fix_string_type here.
7159         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
7160         FUNC_NAME, throughout.
7161         (OBJC_STRING): New token type.
7162         (primary:STRING): No need to call fix_string_type here.
7163         (primary:objc_string): Make that OBJC_STRING.
7164         (objc_string nonterminal): Delete.
7165         (yylexname): Delete code to handle fake string constants.
7166         (yylexstring): Delete entirely.
7167         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
7168         to handle CPP_ATSIGN.
7169
7170         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
7171         * c-opts.c (missing_arg, c_common_handle_option): Handle
7172         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
7173         (c_common_init): Set cpp_opts->bytes_big_endian, not
7174         cpp_opts->EBCDIC.  Call cpp_init_iconv.
7175         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
7176         (TARGET_EBCDIC): Delete default definition.
7177
7178         * objc/objc-act.c (build_objc_string_object): No need to
7179         handle string constant concatenation.
7180
7181 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
7182
7183         * doc/install.texi: Fix typos.
7184         * doc/invoke.texi: Likewise.
7185         * doc/tm.texi: Likewise.
7186
7187 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
7188
7189         * config/pa/fptr.c: Fix comment typos.
7190         * config/pa/pa-64.h: Likewise.
7191         * config/pa/pa.c: Likewise.
7192         * config/pa/pa.h: Likewise.
7193         * config/rs6000/603.md: Likewise.
7194         * config/rs6000/7xx.md: Likewise.
7195         * config/rs6000/darwin.h: Likewise.
7196         * config/rs6000/freebsd.h: Likewise.
7197         * config/rs6000/rs6000.c: Likewise.
7198         * config/rs6000/rs6000.md: Likewise.
7199         * config/rs6000/spe.h: Likewise.
7200
7201 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
7202
7203         * config/s390/2064.md: Change GNU CC to GCC.
7204         * config/s390/2084.md: Likewise.
7205         * config/s390/fixdfdi.h: Likewise.
7206         * config/s390/linux.h: Likewise.
7207         * config/s390/s390-modes.def: Likewise.
7208         * config/s390/s390-protos.h: Likewise.
7209         * config/s390/s390.c: Likewise.
7210         * config/s390/s390.h: Likewise.
7211         * config/s390/s390.md: Likewise.
7212         * config/s390/s390x.h: Likewise.
7213
7214 2003-07-04  Jeff Law  <law@redhat.com>
7215
7216         PR c/11428
7217         * expr.c (do_store_flag): Pass in the correct result type
7218         when calling fold_single_bit_test.
7219         * fold-const.c (fold_single_bit_test): Use result_type for the
7220         result when folding a sign bit test.
7221
7222 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
7223
7224         * opts.c (common_handle_options): Negate sense of -falign- switches.
7225
7226 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
7227
7228         * Makefile.in: Replace PWD with PWD_COMMAND.
7229
7230 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7231
7232         * cfgloopanal.c (count_strange_loop_iterations): New static function.
7233         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
7234         Handle strange loops.
7235
7236 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
7237
7238         * install.texi: Even the g77 manpage is derived from
7239         the full g77 manual.
7240
7241 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
7242
7243         * ABOUT-NLS: Delete.
7244         * intl: Delete entire directory.
7245         * aclocal.m4: Include ../config/gettext.m4.  Delete
7246         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
7247         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
7248         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
7249         Remove intl/Makefile from all_outputs.
7250         * configure, config.in: Regenerate.
7251         * Makefile.in: Expunge all references to intl subdirectory.
7252         Add -I../intl to INCLUDES.
7253         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
7254
7255 2003-07-04  Roger Sayle  <roger@eyesopen.com>
7256
7257         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
7258         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
7259
7260 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
7261
7262         PR c++/5287, PR c++/7910, PR c++/11021
7263         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
7264         dllimport attribute if function is defined at declaration, but
7265         report error instead. Likewise for dllimport'd variable
7266         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
7267         declared within functions, Report error if dllimport or dllexport
7268         symbol is not global.
7269         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
7270         if defined after declaration or if inlined. Don't allow definition
7271         of static data members of C++ classes. Don't dllimport virtual
7272         methods.
7273         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
7274         (i386_pe_mark_dllimport): Remove unnecessary checks.
7275         (i386_pe_encode_section_info): Warn if the dllimport attribute
7276         and symbol prefix have been instantiated and then overridden.
7277
7278         * doc/extend.texi: Document dllimport and dllexport attributes.
7279
7280         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
7281
7282 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
7283
7284         * config/kaos.h (CPP_PREDEFINES): Delete.
7285         (TARGET_OS_CPP_BUILTINS): New.
7286
7287 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7288
7289         * c-aux-info.c: Include toplev.h after c-tree.h.
7290         * c-common.c: Likewise.
7291         (GCC_DIAG_STYLE): Undef.
7292         * c-semantics.c (GCC_DIAG_STYLE): Define.
7293         * c-tree.h (GCC_DIAG_STYLE): Likewise.
7294         * diagnostic.h (inform): Move prototype to toplev.h.
7295         * jump.c: Include diagnostic.h before toplev.h.
7296         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
7297         (warning, error, fatal_error, pedwarn, sorry, inform,
7298         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
7299
7300 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7301
7302         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
7303         at all if edge is not specified.
7304         (can_copy_bbs_p, copy_bbs): New.
7305         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
7306         * cfgloop.c (get_loop_body): Comment more precisely.
7307         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
7308         (scale_bbs_frequencies): Fix comment typo.
7309         (can_duplicate_loop_p): Use can_copy_bbs_p.
7310         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
7311
7312 2003-07-03  Devang Patel <dpatel@apple.com>
7313
7314         * c-opts.c (c_common_parse_file): Remove extra
7315         debug_hooks->start_source_file call.
7316
7317 2003-07-03  Roger Sayle  <roger@eyesopen.com>
7318
7319         * real.c (real_trunc, real_floor, real_ceil): New functions
7320         to implement trunc, floor and ceil respectively.
7321         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
7322         * builtins.c (integer_valued_real_p): New function to test if
7323         a floating point expression has an integer valued result.
7324         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
7325         foo(x) where foo is an integer rounding function.  Similarly,
7326         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
7327         (double)(int)x when both foo and bar are integer rounding
7328         functions and we don't need to honor errno.
7329         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
7330         New functions to fold trunc, floor and ceil.
7331         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
7332         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
7333         to fold BUILT_IN_CEIL*.
7334         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
7335         the remaining integer rounding functions.
7336
7337 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7338
7339         * config/sparc/sparc.c (function_arg_partial_nregs): Use
7340         SPARC_INT_ARG_MAX to determine where to split unnamed
7341         complex FP arguments.
7342
7343 2003-07-03  Jan Hubicka  <jh@suse.cz>
7344
7345         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
7346         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
7347         (merge_blocks_move_predecessor_nojumps,
7348          merge_blocks_move_successor_nojumps): Use merge_blocks.
7349         (try_optimize_cfg): Use merge_blocks_move.
7350         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
7351         (merge_blocks_nomove): Rename to rtl_merge_blocks.
7352         (cfg_layout_create_basic_block): New.
7353         (rtl_can_merge_blocks): New.
7354         (cfg_layout_split_block): Do not alloc aux by hand.
7355         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
7356         merge_blocks.
7357         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
7358         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
7359         * cfgloopmanip.c (loop_split_edge_with): Likewise.
7360         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
7361
7362         * basic-block.h (basic_block_def): Add field 'rbi'.
7363         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
7364         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
7365         * cfg.c (entry_exit_blocks): Add new field.
7366         * cfglayout.c: Include alloc-pool.h;
7367         (cfg_layout_pool): New.
7368         (record_effective_endpoints, fixup_reorder_chain,
7369         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
7370         of rbi.
7371         (cfg_layout_initialize_rbi): New function.
7372         (cfg_layout_initialize): Use it.
7373         (cfg_layout_finalize): Clear rbi fields.
7374         * cfglayout.h (RBI): Kill.
7375         (cfg_layout_initialize_rbi): Declare.
7376         * cfgloopmanip.c (copy_bbs): Use rbi.
7377         (record_exit_edges): Likewise.
7378         (duplicate_loop_to_header_edge): Likewise.
7379         * cfgrtl.c (cfg_layout_create_basic_block): Use
7380         cfg_layout_initialize_rbi.
7381         (cfg_layout_split_block): Use rbi.
7382         (cfg_layout_delete_block): Likewise.
7383         * loop-init.c (loop_optimizer_finalize): Likewise.
7384         * loop-unswitch.c (unswitch_loop): Likewise.
7385         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
7386
7387         * cfgrtl.c: Update comments.
7388         (try_redirect_by_replacing_jump): New argument.
7389         (redirect_branch_edge): Break out from ...
7390         (rtl_redirect_edge_and_branch): ... this one.
7391         (update_cfg_after_block_merging): Break out from ...
7392         (rtl_merge_blocks): ... this one.
7393         (cfg_layout_split_edge): New.
7394         (cfg_layout_merge_blocks): New.
7395         (cfg_layout_can_merge_blocks_p): New.
7396         (cfg_layout_redirect_edge_and_branch): Reorganize.
7397         (cfg_layout_rtl_cfg_hooks): Fill in.
7398         (cfg_layout_delete_block): Kill barriers.
7399         * cfganal.c (can_fallthru): Deal with exit blocks
7400         * cfglayout.c (cfg_layout_function_header): New function
7401         (record_effective_endpoints): Record function header.
7402         (fixup_reorder_chain): Fixup dead jumptables; place header
7403
7404         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
7405         * bb-reorder.c (cfg_layout_initialize): Update call.
7406         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
7407         edges in cfglayout mode.
7408         * cfglayout.c (cleanup_unconditional_jumps): Kill.
7409         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
7410         * cfglayout.h (cfg_layout_initialize): Update prototype.
7411         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
7412         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
7413         * flow.c (propagate_block): Do not crash when basic block ends
7414         by first insn in the chain.
7415         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
7416         do loop discovery.
7417         * tracer.c (tracer): Update call of cfg_layout_initialize.
7418
7419 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7420
7421         * Makefile.in: Use dependency variables in lieu of explicit
7422         files throughout.
7423
7424 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
7425
7426         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
7427         * tree.h: ...to here.
7428
7429 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
7430
7431         * config/s390/2064.md: Fix comment typos.
7432         * config/s390/2084.md: Likewise.
7433         * config/s390/s390.c: Likewise.
7434         * config/s390/s390.md: Likewise.
7435         * config/sh/sh.c: Likewise.
7436         * config/sh/sh.h: Likewise.
7437         * config/sh/sh.md: Likewise.
7438         * config/sparc/sparc.c: Likewise.
7439         * config/sparc/sparc.h: Likewise.
7440         * config/sparc/sparc.md: Likewise.
7441         * config/stormy16/stormy16.c: Likewise.
7442         * config/stormy16/stormy16.h: Likewise.
7443         * config/stormy16/stormy-abi: Fix a typo.
7444
7445 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
7446
7447         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
7448
7449 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7450
7451         * config/mips/mips.h (save_argv): Delete.
7452
7453 2003-07-03  Roger Sayle  <roger@eyesopen.com>
7454
7455         PR target/10700
7456         * fold-const.c (extract_muldiv_1): There's nothing that can be done
7457         if the expression is a SAVE_EXPR.
7458
7459 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
7460
7461         * config/m32r/m32r.c: Fix comment typos.
7462         * config/m68hc11/m68hc11.c: Likewise.
7463         * config/m68hc11/m68hc11.h: Likewise.
7464         * config/m68k/m68k.c: Likewise.
7465         * config/mcore/mcore.c: Likewise.
7466         * config/mcore/mcore.h: Likewise.
7467         * config/mcore/mcore.md: Likewise.
7468         * config/mips/mips.c: Likewise.
7469         * config/mips/mips.h: Likewise.
7470         * config/mips/mips.md: Likewise.
7471         * config/mips/netbsd.h: Likewise.
7472         * config/mn10300/mn10300.c: Likewise.
7473
7474 2003-07-03  Andreas Schwab  <schwab@suse.de>
7475
7476         * dbxout.c (pending_bincls): Move decl down inside
7477         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
7478
7479 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
7480
7481         * rtl.h (NOTE_DATA): Refer to whole union.
7482         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
7483
7484 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7485
7486         PR optimization/11381
7487         * simplify-rtx.c (simplify_relational_operation): Check that
7488         two equal operands have no side-effects before simplifying
7489         the comparison.
7490
7491 2003-07-02  Jeff Law  <law@redhat.com>
7492
7493         * expr.c (do_store_flag): Remove special case folding for
7494         single bit tests.  Instead call back into the commonized folder
7495         routine.
7496         * fold-const.c (fold_single_bit_test): New function, mostly
7497         extracted from do_store_flag, with an additional case extracted
7498         from fold.
7499         (fold): Call fold_single_bit_test appropriately.
7500         * tree.h (fold_single_bit_test): Prototype.
7501
7502 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
7503
7504         * system.h: Include filenames.h.
7505         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
7506         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
7507         define based on HAVE_DOS_BASED_FILE_SYSTEM.
7508         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
7509         * config/i386/xm-mingw32.h: Don't define
7510         HAVE_DOS_BASED_FILE_SYSTEM,
7511         DIR_SEPARATOR, or DIR_SEPARATOR_2.
7512         * doc/hostconfig.texi: Update to match.
7513
7514         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
7515         config/i386/cygwin.h:
7516         Use IS_ABSOLUTE_PATH throughout.
7517         * gcc.c (DIR_UP): Delete, unused.
7518         * protoize.c (IS_SAME_PATH): Define in terms of
7519         FILENAME_CMP.
7520         (is_abspath): Delete.
7521
7522 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
7523
7524         * config/i386/emmintrin.h: Fix comment typos.
7525         * config/i386/i386.c: Likewise.
7526         * config/i386/i386.h: Likewise.
7527         * config/i386/sco5.h: Likewise.
7528         * config/ia64/ia64.c: Likewise.
7529         * config/ia64/itanium2.md: Likewise.
7530
7531 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
7532
7533         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
7534         DBX_USE_BINCL.
7535         (emit_bincl_stab): Same.
7536         (emit_pending_bincls): Same.
7537
7538 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
7539
7540         * config/h8300/h8300.c (compute_mov_length): Fix the length of
7541         loading CONST0_RTX (SFmode).
7542         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
7543         'G' to CONST0_RTX (SFmode).
7544         * config/h8300/h8300.md (movsf_h8300): Change the first
7545         constraint to 'G'.
7546         (movsf_h8300h): Likewise.
7547
7548 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
7549
7550         * c-common.h (c_common_init_options): New prototype.
7551         * c-opts.c (deferred_size): Remove.
7552         (defer_opt): Array is now pre-allocated.
7553         (c_common_init_options): Pre-allocate deferred_opts.  Make
7554         lang_flags unsigned.
7555         (push_command_line_options): Free deferred_opts.
7556         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
7557         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
7558         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
7559         * langhooks.h (struct lang_hooks): New prototype for init_options.
7560         * main.c (main): Cast argv.
7561         * opts.c (handle_option, handle_options): Update prototypes.
7562         (decode_options): save_argc, save_argv are not global.  Constify.
7563         * opts.h (decode_options): New prototype.
7564         * toplev.c (general_init): New protoype.
7565         (save_argv): Make static.
7566         (save_argc): Remove.
7567         (print_switch_values, general_init): Constify.
7568         (toplev_main): Save argv.
7569         * toplev.h (toplev_main): Update prototype.
7570         (save_argc, save_argv): Remove.
7571
7572 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
7573
7574         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
7575         (emit_bincl_stab): Same.
7576         (emit_pending_bincls): Same.
7577
7578 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
7579
7580         PR c++/11072
7581         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
7582
7583 2003-07-02  Andreas Schwab  <schwab@suse.de>
7584
7585         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
7586
7587 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
7588
7589         PR optimization/11210
7590         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
7591         about the behaviour with regard to bitfields.
7592         * fold-const (decode_field_reference): Record outermost type in
7593         case the expression is a NOP. Strip all NOPs. Set the signedness
7594         to that of the outermost type (if any) when the bitsize is equal
7595         to the size of the type.
7596
7597 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
7598
7599         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
7600         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
7601         (adddi3_internal_3, addsi3_internal_2): Likewise.
7602
7603 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
7604
7605         * config/mips/mips.c (machine_function): Add new fields:
7606         ignore_hazard_length_p and all_noreorder_p.
7607         (mips_flag_delayed_branch): New variable.
7608         (override_options): Treat '/' as an operand punctuation character.
7609         Set up mips_flag_delayed_branch.
7610         (print_operand): Handle '/'.
7611         (mips_output_function_prologue): Put the whole function in
7612         .set noreorder and .set nomacro if all_noreorder_p is true.
7613         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
7614         (mips16_optimize_gp): Remove "first insn" parameter.
7615         (mips16_lay_out_constants): New function, split out from mips_reorg.
7616         (mips_avoid_hazard, mips_avoid_hazards): New functions.
7617         (mips_reorg): For mips16 code, call mips16_lay_out_constant
7618         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
7619         do delayed-branch scheduling followed by hazard detection.
7620         (mips_adjust_insn_length): Only account for hazards if
7621         !ignore_hazard_length_p.
7622         (mips_output_load_label): Add a nop to the o32 sequence if
7623         the target suffers from load delays.
7624         (mips_output_conditional_branch): Add %/ to the end of branches.
7625         (mips_output_division): Fill the branch delay slot with %#.
7626         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
7627         instructions.  End all other %* branches with %/.
7628         (ffssi2, ffsdi2): Fix lengths.
7629         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
7630         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
7631         (fix_truncsfsi2_macro): Likewise.
7632         (mov_lwl): Set hazard to "none".
7633         (ashldi3_internal): Fill the branch delay slot with %#.
7634         (ashrdi3_internal, lshrdi3_internal): Likewise.
7635         (exception_receiver): Explicitly set $28.
7636         (hazard_nop): New pattern.
7637
7638 2003-07-02  Jan Hubicka  <jh@suse.cz>
7639
7640         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
7641         before calling tree_inlinable_function_p.
7642
7643 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7644
7645         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
7646         <internal/stdio_core.h> too.
7647         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
7648         <internal/wchar_core.h> too.
7649         Substitute va_list uses in inline definition.
7650         * fixinc/fixincl.x: Regenerate.
7651
7652 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7653
7654         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
7655         Undef before redefinition.
7656         (LABEL_AFTER_LOC): Likewise.
7657         (DEFAULT_SIGNED_CHAR): Likewise.
7658         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
7659         Fix IRIX spelling.
7660
7661         * config/mips/iris3.h: Remove, unused.
7662         * config/mips/iris4.h: Likewise.
7663
7664         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
7665
7666         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
7667         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
7668         target_cpu_default.
7669
7670         * config/mips/iris5.h: Move explicit includes ...
7671         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
7672
7673         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
7674         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7675         tm_defines.
7676
7677         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
7678         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7679         target_cpu_default.
7680
7681         * config/mips/iris6.h: Fix IRIX spelling.
7682         (MULTILIB_DEFAULTS): Undef before redefinition.
7683
7684         * config/mips/iris6.h: Move explicit includes ...
7685         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
7686
7687 2003-07-02  Jan Hubicka  <jh@suse.cz>
7688
7689         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
7690         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
7691         Use next_needed field instead of aux to maintain the queue.
7692         * cgraph.h (cgraph_node): Add next_needed.
7693         (cgraph_varpool_node): Add next_needed; remove aux.
7694         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
7695
7696 2003-07-02  Jan Hubicka  <jh@suse.cz>
7697
7698         * cgraphunit.c (cgraph_finalize_function): Set finalized.
7699         (cgraph_finalize_function): Do not examine inlinablility.
7700         (cgraph_finalize_compilation_unit): Do it here.
7701         * cgraph.h (cgraph_local_info): Add finalized field.
7702
7703 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7704
7705         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
7706         (gt_pch_restore): Likewise.
7707
7708 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7709
7710         * config/alpha/alpha.c: Fix comment typos.
7711         * config/alpha/elf.h: Likewise.
7712         * config/arm/arm.c: Likewise.
7713         * config/arm/arm.h: Likewise.
7714         * config/arm/arm.md: Likewise.
7715         * config/arm/t-arm-coff: Likewise.
7716         * config/arm/t-strongarm-pe: Likewise.
7717         * config/arm/xscale-elf.h: Likewise.
7718         * config/avr/avr.h: Likewise.
7719
7720 2003-07-01  Jeff Law  <law@redhat.com>
7721
7722         * stmt.c (any_pending_cleanups): Remove another redundant test.
7723
7724 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
7725             J"orn Rennecke <joern.rennecke@superh.com>
7726
7727         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
7728         for MEM case.
7729
7730 2003-07-01  Devang Patel  <dpatel@apple.com>
7731
7732         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
7733         (binclstatus): New.
7734         (struct dbx_file): New members - bincl_status, pending_bincl_name and
7735         prev.
7736         (pending_bincls): New.
7737         (dbxout_init): Initialize new dbx_file members.
7738         (dbxout_start_source_file): Same.
7739         (emit_bincl_stab): New function.
7740         (emit_pending_bincls): Same.
7741         (emit_pending_bincls_if_required): Same.
7742         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
7743         processed.
7744         (dbxout_begin_block): Emit pending BINCL stabs.
7745         (dbxout_end_block): Same.
7746         (dbxout_function_decl): Same.
7747         (dbxout_continue): Same.
7748         (dbxout_type): Same.
7749         (dbxout_class_name_qualifiers): Same.
7750         (dbxout_symbol): Same.
7751         (dbxout_symbol_location): Same.
7752         (dbxout_parms): Same.
7753
7754 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7755
7756         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
7757         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
7758
7759 2003-07-01  Andreas Jaeger  <aj@suse.de>
7760
7761         * fold-const.c: Convert prototypes to ISO C90.
7762         * function.c: Likewise.
7763         * function.h: Likewise.
7764
7765 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7766
7767         * doc/contrib.texi: Fix typos.
7768         * doc/invoke.texi: Likewise.
7769         * doc/passes.texi: Likewise.
7770         * doc/sourcebuild.texi: Likewise.
7771         * doc/tm.texi: Likewise.
7772
7773 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7774
7775         * basic-block.h: Fix comment typos.
7776         * bb-reorder.c: Likewise.
7777         * c-format.c: Likewise.
7778         * cfgcleanup.c: Likewise.
7779         * cfghooks.h: Likewise.
7780         * cfgloop.c: Likewise.
7781         * cfgloopmanip.c: Likewise.
7782         * cfgrtl.c: Likewise.
7783         * cgraph.h: Likewise.
7784         * cgraphunit.c: Likewise.
7785         * combine.c: Likewise.
7786         * convert.c: Likewise.
7787         * dbxout.c: Likewise.
7788         * df.c: Likewise.
7789         * df.h: Likewise.
7790         * diagnostic.c: Likewise.
7791         * dwarf2out.c: Likewise.
7792         * et-forest.h: Likewise.
7793         * flow.c: Likewise.
7794         * fold-const.c: Likewise.
7795         * function.h: Likewise.
7796         * gcov-io.h: Likewise.
7797         * gcov.c: Likewise.
7798         * gcse.c: Likewise.
7799         * genautomata.c: Likewise.
7800         * ggc-common.c: Likewise.
7801         * ggc-page.c: Likewise.
7802         * loop-unroll.c: Likewise.
7803         * loop-unswitch.c: Likewise.
7804         * loop.c: Likewise.
7805         * mips-tfile.c: Likewise.
7806         * optabs.c: Likewise.
7807         * ra-build.c: Likewise.
7808         * ra-colorize.c: Likewise.
7809         * ra-rewrite.c: Likewise.
7810         * ra.h: Likewise.
7811         * regmove.c: Likewise.
7812         * reload.c: Likewise.
7813         * rtlanal.c: Likewise.
7814         * sched-ebb.c: Likewise.
7815         * sched-int.h: Likewise.
7816         * sched-vis.c: Likewise.
7817         * sreal.c: Likewise.
7818         * ssa-ccp.c: Likewise.
7819         * ssa.c: Likewise.
7820         * toplev.c: Likewise.
7821         * tree-inline.c: Likewise.
7822         * value-prof.c: Likewise.
7823         * value-prof.h: Likewise.
7824
7825 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
7826
7827         * rtl.h (emit_line_note_after): Remove.
7828         (emit_note_copy_after, emit_note_copy): New.
7829         * emit-rtl.c (reorder_insns_with_line_notes): Replace
7830         emit_line_note_after with emit_note_copy_after.
7831         (emit_insn_after_with_line_notes): Likewise.
7832         (emit_line_note_after): Kill.
7833         (emit_note_copy_after): New.
7834         (emit_note_copy): New.
7835         * function.c (emit_return_into_block): Use emit_note_copy_after.
7836         (thread_prologue_and_epilogue_insns): Likewise.
7837         * integrate.c (expand_inline_function): Use emit_note_copy.
7838         (copy_insn_list): Likewise.
7839         * unroll.c (copy_loop_body): Likewise.
7840         * cfglayout.c (duplicate_insn_chain): Likewise.
7841
7842 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
7843
7844         * c-tree.h (define_label): Replace filename and lineno arguments
7845         with a location_t.
7846         * c-decl.c (poplevel): Adjust define_label call.
7847         (pop_label_level): Likewise.
7848         (define_label): Replace filename and lineno arguments with a
7849         location_t.
7850         (store_parm_decls): Use DECL_SOURCE_LOCATION.
7851         * c-parse.in (label): Adjust define_label call.
7852
7853 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
7854
7855         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
7856         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
7857         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
7858         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
7859         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
7860
7861 2003-07-01  Andreas Jaeger  <aj@suse.de>
7862
7863         * final.c: Convert prototypes to ISO C90.
7864         * flow.c: Likewise.
7865         * flags.h: Likewise.
7866         * gcov-io.c: Likewise.
7867         * gcov-io.h: Likewise.
7868
7869 See ChangeLog.9 for earlier changes.