OSDN Git Service

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