OSDN Git Service

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