OSDN Git Service

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