OSDN Git Service

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