OSDN Git Service

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