builtins.c (real_dconstp, [...]): New, split out from fold_builtin.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * builtins.c (real_dconstp, fold_builtin_logarithm,
4         fold_builtin_exponent): New, split out from fold_builtin.  Also
5         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
6         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
7         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8         of hardcoded array size.
9         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
10         (tree_expr_nonnegative_p): Likewise.
11         * real.h (dconst3, dconst10, dconstthird): New.
12
13 Tue Sep  9 22:18:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
14
15         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
16         inline functions.
17         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
18         DECL_SAVED_TREE.
19
20 2003-09-09  Roger Sayle  <roger@eyesopen.com>
21
22         * builtins.c (fold_builtin_cabs): Protect the complex argument
23         against multiple evaluation when optimizing cabs* into sqrt*.
24
25 Tue Sep  9 15:36:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
26
27         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
28
29 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
30
31         * Makefile.in: Revert yesterday's change.
32
33 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
34             Peter Barada <peter@baradas.org>
35
36         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
37         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
38         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
39         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
40         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
41         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
42         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
43         (m68k_compute_frame_layout): New function.
44         (m68k_initial_elimination_offset): New function.
45         (m68k_output_function_prologue): ColdFire-specific movem handling.
46         (m68k_output_function_epilogue): Likewise.
47         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
48         (ARG_POINTER_REGNUM): Add new definition.
49         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
50         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
51         (CAN_ELIMINATE): Likewise.
52         (INITIAL_ELIMINATION_OFFSET): Likewise.
53
54 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
55
56         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
57         by removing redundant variable cfa_store_offset.
58
59 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
60
61         * langhooks-def.h (lhd_register_builtin_type): New function.
62         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
63         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
64         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
65         * langhooks.c (lhd_register_builtin_type): New function.
66         * c-common.h (c_register_builtin_type): Declare.
67         * c-common.c (c_register_builtin_type): New function.
68         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
69         c_register_builtin_type.
70         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
71         __float80, and __float128 macros.
72         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
73         __float80, and __float128 types.
74
75 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
76
77         * builtin-types.def
78         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
79         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
80         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
81         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
82         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
83         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
84         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
85         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
86         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
87         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
88         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
89         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
90         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
91         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
92         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
93         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
94         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
95         New.
96         * doc/extend.texi: Document new builtins.
97
98 Tue Sep  9 02:18:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
99
100         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
101         finalization.
102         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
103         functions, check for COMDAT.
104         (cgraph_assemble_pending_functions): Break out from...
105         (cgraph_finalize_function): ... here; allow redefinig of extern inline
106         functions.
107         (record_call_1): Record function references only in non-unit-at-a-time
108         mode.
109         (cgraph_analyze_function): Reset current_function_decl.
110         (cgraph_finalize_compilation_unit):  Assemble pending functions.
111
112 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
113
114         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
115         (libgov.a): Likewise.
116         (libgcc_eh.a): Likewise.
117
118 2003-09-08  Roger Sayle  <roger@eyesopen.com>
119
120         * fold-const.c (operand_equal_p): Clarify documentation.
121
122 2003-09-08  Richard Henderson  <rth@redhat.com>
123
124         * c-decl.c (c_expand_body_1): Push and pop function context here.
125         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
126         nested argument instead of computing nesting ourselves.
127
128 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
129
130         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
131         regstack if optimizing but not scheduling after reload.
132
133 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
134
135         * config/sparc/sparc.c (struct machine_function): New type.
136         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
137         (sparc_override_options): Initialize init_machine_status.
138         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
139         tie_symbolic_operand, tle_symbolic_operand): New functions.
140         (symbolic_operand): Disallow tls_symbolic_operand.
141         (symbolic_memory_operand): Likewise.
142         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
143         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
144         New functions.
145         (sparc_tls_symbol): New variable.
146         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
147         legitimize_address): New functions.
148         (print_operand): Handle %&.
149         (sparc_init_machine_status, get_some_local_dynamic_name,
150         get_some_local_dynamic_name_1): New functions.
151         (sparc_output_dwarf_dtprel): New function.
152         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
153         constant_address_p.
154         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
155         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
156         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
157         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
158         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
159         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
160         (ASM_OUTPUT_DWARF_DTPREL): Define.
161         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
162         tie_symbolic_operand, tle_symbolic_operand.
163         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
164         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
165         (tls_call_delay): New attribute.
166         (in_call_delay): Use it.
167         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
168         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
169         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
170         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
171         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
172         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
173         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
174         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
175         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
176         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
177         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
178         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
179         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
180         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
181         insns.
182         * config/sparc/sparc-protos.h (legitimate_constant_p,
183         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
184         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
185         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
186         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
187         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
188         * configure.in (sparc*-*-*): Add TLS check.
189         * configure: Rebuilt.
190
191 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
192
193         PR target/11689
194         * config/i386/i386.c (memory_address_length): Fix computation when
195         the base is esp or ebp.
196
197 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
198
199         PR c++/11852
200         * varasm.c (initializer_constant_valid_p): Correct logic for
201         CONSTRUCTORs.
202
203 2003-09-07  Roger Sayle  <roger@eyesopen.com>
204
205         * expr.c (expand_operands): New function to expand an operand pair.
206         (expand_expr): Call expand_operands whenever we need to expand both
207         operands of a binary operator.
208         (do_store_flag): Likewise for operands of comparison operations.
209
210 2003-09-07  Roger Sayle  <roger@eyesopen.com>
211
212         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
213         (-A)*B if we care about sign-dependent rounding.
214
215 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
216
217         * c-pretty-print.h (pp_c_left_brace): Declare.
218         (pp_c_right_brace): Likewise.
219         * c-pretty-print.c (pp_c_left_brace): Now a function
220         (pp_c_right_brace): Likewise.
221
222 Sun Sep  7 14:50:03 CEST 2003  Jan Hubicka  <jh@suse.cz>
223
224         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
225
226 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
227
228         * diagnostic.c (warn_deprecated_use): Move to toplev.c
229
230 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
231
232         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
233         * Makefile.in (langhooks.o): Depend on diagnostic.h
234
235 2003-09-06  James E Wilson  <wilson@tuliptree.org>
236
237         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
238         simplify.
239
240 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
241
242         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
243         and use it throughout.
244         
245 2003-09-07  Jan Hubicka  <jh@suse.cz>
246
247         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
248
249         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
250         virables. 
251
252         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
253         functions.
254         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
255
256 2003-09-06  Jan Hubicka  <jh@suse.cz>
257
258         PR target/12070
259         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
260
261         PR opt/12082
262         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
263
264 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
265
266         * diagnostic.c (announce_function): Move to toplev.c.
267
268 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
269
270         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
271         volatile mem.
272
273 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
274
275         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
276         when gc checking is enabled.
277
278 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
279
280         PR c/9862
281         * c-decl.c (c_expand_body_1): Move return warning from here...
282         (finish_function): ...to here.
283
284 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
285
286         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
287         a subset of the input class.
288
289 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
290
291         * config/i860/i860.c: Follow spelling conventions.
292         * config/i860/i860.h: Likewise.
293         * config/sh/sh.h: Likewise.
294
295 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
296
297         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
298         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
299         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
300
301 2003-09-05  Roger Sayle  <roger@eyesopen.com>
302             Richard Henderson  <rth@redhat.com>
303
304         PR optimization/1823
305         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
306         multiplication to implement division by constant integer.
307
308 Fri Sep  5 07:35:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
309
310         * opts.c (decode_options): Enable unit-at-a-time at -O2.
311         * params.def (max-inline-insns-single): Set to 500
312         (max-inline-insns-auto): Set to 150
313         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
314
315 2003-09-04  Richard Henderson  <rth@redhat.com>
316
317         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
318         (cgraph_mark_needed_node): Remove needed argument.
319         * cgraph.h: Update to match.
320         * cgraphunit.c (decide_is_function_needed): Split out from ...
321         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
322         if we generated the function.
323         (record_call_1): Update for cgraph_mark_reachable_node.
324         * varasm.c (mark_referenced): Likewise.
325         * objc/objc-act.c (mark_referenced_methods): Likewise.
326
327 2003-09-04  DJ Delorie  <dj@redhat.com>
328
329         * targhooks.c: Add comment explaining the migration process.
330
331 2003-09-04  Eric Christopher  <echristo@redhat.com>
332
333         * config/frv/t-frv: Fix path for frv-abi.h.
334         * config/frv/frv-asm.h: Fix string concatenation.
335
336 2003-09-04  DJ Delorie  <dj@redhat.com>
337
338         * builtins.c (apply_args_size): Guard against a NULL cfun.
339         (expand_builtin_apply_args_1): Likewise.
340         (expand_builtin_apply): Likewise.
341         Fixes PR bootstrap/12172.
342
343 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
344
345         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
346         assembler supports Sun syntax for cmov.
347         * configure: Regenerate.
348         * config.in: Likewise.
349         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
350         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
351         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
352         Fixes PR target/12101.
353
354 2003-09-04  Matt Austern  <austern@apple.com>
355
356         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
357         with verbosity 0, instead of DECL_NAME, for human-readable string.
358
359 2003-09-04  Eric Christopher  <echristo@redhat.com>
360
361         * targhooks.c (default_return_in_memory): Allow
362         unconverted ports.
363
364 2003-09-04  Eric Christopher  <echristo@redhat.com>
365
366         * targhooks.c (default_return_in_memory): Fix typo
367         in last checkin.
368
369 2003-09-04  Eric Christopher  <echristo@redhat.com>
370
371         * targhooks.c (default_return_in_memory): Fix default
372         definition.
373
374 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
375
376         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
377         deleted function.
378         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
379         enable coff-only code in m68k.c.
380
381 2003-09-04  Nick Clifton  <nickc@redhat.com>
382
383         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
384         v850e1.
385         * config/v850/v850.h: Accept v850e1 as a default CPU.
386         Accept -mv850e1 as a command line option.
387         * doc/invoke.texi: Document new -mv850e1 command line switch.
388         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
389         -mv850e.
390
391 2003-09-04  Nick Clifton  <nickc@redhat.com>
392
393         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
394         * config/v850/t-v850: Only produce one extra multilib - for
395         the v850e.
396         * config/v850/t-v850e: New file: Only produce one extra
397         multilib - for the v850.
398
399 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
400
401         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
402         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
403         * unwind.h (_Unwind_GetBSP): New prototype.
404         * libgcc-std.ver: Add empty GCC_3.3.2 version.
405         * mkmap-symver.awk: For symbol versions with no exported symbols,
406         don't put anything into version script, just change all symbol
407         versions which inherit from it to inherit from its ancestor.
408
409 2003-09-04  Eric Christopher  <echristo@redhat.com>
410
411         * config/mips/mips.c (mips_expand_prologue): Convert to
412         calls.struct_value_rtx hook.
413         (reg_or_const_float_1_operand): New.
414         * config/mips/mips.h: Update Comments.
415         (mips_arg): Add reg_or_const_float_1_operand.
416         * config/mips/mips.md (divdf3); Convert to expander.
417         (divsf3): Ditto.
418         (*divdf3): New pattern.
419         (*divsf3): Ditto.
420
421 Thu Sep  4 10:43:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
422
423         * toplev.c (wrapup_global_declarations): Fix final pass in
424         unit-at-atime mode.
425
426 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
427
428         * doc/extend.texi: Document removal of cast-as-lvalue extension in
429         C++.
430
431 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
432
433         * gcc.c (process_command): Fix typo.
434
435 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
436
437         optimization/11980
438         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
439         (PTRDIFF_TYPE): Likewise.
440         (WCHAR_TYPE_SIZE): Likewise.
441
442 2003-09-03  DJ Delorie  <dj@redhat.com>
443
444         * targhooks.c: New file.
445         * targhooks.h: New file.
446         * Makefile.in: Add targhooks.o support.
447         (function.o): Depend on$(TARGET_H).
448         (stmt.o): Likewise.
449         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
450         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
451         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
452         (expand_builtin_saveregs): Convert to
453         calls.expand_builtin_saveregs hook.
454         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
455         here, instead of ...
456         (get_parm_info) ... here.
457         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
458         hook.
459         (finish_function): Handle calls.promote_prototypes hook here too.
460         * c-typeck.c (convert_arguments): Convert to
461         calls.promote_prototypes hook.
462         (c_convert_parm_for_inlining): Likewise.
463         * calls.c (initialize_argument_information): Convert to
464         calls.promote_function_args hook.
465         (expand_call): Convert to calls.struct_value_rtx,
466         calls.strict_argument_naming,
467         calls.pretend_outgoing_varargs_named, and
468         calls.promote_function_return hooks.  Pass fndecl to
469         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
470         hooks, so they can use that.
471         (emit_library_call_value_1): Likewise.
472         * combine.c (setup_incoming_promotions): Convert to
473         calls.promote_function_args hook.
474         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
475         * expr.c (expand_assignment): Pass call to aggregate_value_p.
476         (expand_expr): Likewise.
477         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
478         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
479         RETURN_IN_MEMORY macro defaults.
480         * final.c (profile_function): Convert to calls.struct_value_rtx
481         hook.
482         * function.c (aggregate_value_p): Accept function type tree as
483         second parameter; try to deduce fntype from it.  Convert to
484         calls.return_in_memory hook.
485         (assign_parms): Convert to calls.setup_incoming_varargs,
486         calls.strict_argument_naming, calls.promote_function_args,
487         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
488         aggregate_value_p.
489         (expand_function_start): Likewise.  Convert to
490         calls.struct_value_rtx hook.
491         (expand_function_end): Convert to calls.promote_function_return hook.
492         (allocate_struct_function): Pass fndecl to aggregate_value_p.
493         * hard-reg-set.h: Update comments to new hook names.
494         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
495         * reg-stack.c (stack_result): Likewise.
496         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
497         * stmt.c (expand_value_return): Convert to
498         calls.promote_function_return hook.
499         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
500         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
501         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
502         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
503         TARGET_STRICT_ARGUMENT_NAMING,
504         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
505         * target.h: Likewise.
506         * tree.h (aggregate_value_p): Also takes a tree to deduce function
507         attributes from (for target hooks).
508         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
509         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
510         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
511         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
512         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
513         to hooks.
514
515         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
516         to aggregate_value_p.
517         * config/arm/arm.c (arm_init_cumulative_args,
518         arm_output_mi_thunk): Likewise.
519         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
520         Likewise.
521         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
522         mips_can_use_return_insn): Likewise.
523         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
524         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
525         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
526         aggregate_value_p.
527         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
528         function to aggregate_value_p.
529         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
530         aggregate_value_p.
531
532         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
533         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
534         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
535         (sh_handle_renesas_attribute, sh_promote_prototypes,
536         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
537         sh_setup_incoming_varargs, sh_strict_argument_naming,
538         sh_pretend_outgoing_varargs_named): New decls.
539         (targetm): Add new hooks.
540         (calc_live_regs): Save MACL and MACH if the function has the
541         renesas attribute.
542         (sh_expand_prologue): Support renesas attribute.
543         (sh_builtin_saveregs): Make static.
544         (sh_build_va_list): Support renesas attribute.
545         (sh_va_start): Likewise.
546         (sh_va_arg): Likewise.
547         (sh_promote_prototypes): New.
548         (sh_function_arg): New, moved from sh.h.  Support renesas
549         attribute.
550         (sh_function_arg_advance): Likewise.
551         (sh_return_in_memory): Likewise.
552         (sh_strict_argument_naming): Likewise.
553         (sh_pretend_outgoing_varargs_named): Likewise.
554         (sh_struct_value_rtx): New.
555         (sh_attribute): Add renesas attribute.
556         (sh_handle_renesas_attribute): New.
557         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
558         (sh_ms_bitfield_layout_p): Support renesas attribute also.
559         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
560         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
561         -mhitachi.
562         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
563         target hooks.
564         (sh_args): Add renesas_abi flag.
565         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
566         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
567         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
568         stack for the renesas abi.
569         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
570         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
571         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
572         call cookie to indicate renesas calls.
573
574 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
575
576         * gcse.c (replace_one_set): New function.
577         (pre_insert_copy_insn): Change the order of copying
578         to make copy propagation discover additional PRE opportunities.
579
580 2003-09-03  Roger Sayle  <roger@eyesopen.com>
581
582         PR optimization/11700.
583         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
584         of a hard register is representable before trying to simplify it
585         using subreg_hard_regno.
586
587 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
588
589         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
590         * configure: Regenerate.
591
592 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
593
594         * intl.h (N_): Remove parentheses.
595
596 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
597
598         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
599         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
600         definition and code blocks compiled when not defined.
601         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
602         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
603         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
604         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
605
606 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
607
608         * cgraphunit.c (visited_nodes): New static variable.
609         (record_call_1): Use walk_tree with visited_nodes.
610         (cgraph_create_edges): Use walk_tree with visited_nodes.
611         Setup/teardown visited_nodes hashtable.
612
613 2003-09-03  Roger Sayle  <roger@eyesopen.com>
614
615         * toplev.c (flag_rounding_math): New global variable.
616         (f_options): Add to the list of language independent options.
617         * flags.h (flag_rounding_math): Prototype here.
618         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
619         * common.opt (frounding-math): New common command line option.
620         * opts.c (common_handle_option): Handle OPT_frounding_math.
621         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
622
623         * doc/invoke.texi: Document this new command line option.
624
625 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
626
627         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
628
629 Wed Sep  3 16:55:25 CEST 2003  Jan Hubicka  <jh@suse.cz>
630
631         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
632         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
633         * c-objc-common.c: Kill include of gt-c-objc-common.h
634         (expand_deferred_fns, deffer_fn): Kill function.
635         (deferred_fns): Kill variable.
636         (finish_cdtor): Update finish_function call.
637         (c_objc_common_finish_file): Always call cgraph code.
638         * c-parse.c: Regenerate.
639         * c-parse.y: Regenerate.
640         * c-tree.h (finish_function): Update prototype.
641         * objc-acct.c (build_module_descriptor, finish_method_def):
642         Update call of finish_function.
643         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
644         forward prototype.
645         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
646         function and assemble it if needed.
647         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
648         mode.
649         (cgraph_optimize): Likewise.
650         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
651         even when it has no inline callees.
652         * c-parse.in: Update calls to finish_function.
653
654 2003-09-03  Nick Clifton  <nickc@redhat.com>
655
656         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
657         Use #error to generate the message if TARGET_DEFAULT is not
658         recognised.
659
660 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
661
662         * config/mips/mips.h (MASK_UNUSED1): Remove.
663         (MASK_XGOT, TARGET_XGOT): Define.
664         (TARGET_SWITCHES): Add an entry for -mxgot.
665         (ASM_SPEC): Map -mxgot to -xgot.
666         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
667         whether we're using a big-GOT sequences.
668         (mips_legitimize_const_move, mips_expand_call): Likewise.
669         (override_options): Revert 2003-01-09 change.
670         * doc/invoke.texi: Document -mxgot.
671
672 2003-09-02  Jason Merrill  <jason@redhat.com>
673
674         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
675         * config/sparc/sol2.h: Not here.
676
677 2003-09-02  Roger Sayle  <roger@eyesopen.com>
678
679         * expr.c (expand_expr): The code following both_summands performs
680         the same task as simplify_gen_binary.  Replace all gotos to
681         both_summands with a call to simplify_gen_binary and delete the
682         now unused label.
683
684 2003-09-02  Jason Merrill  <jason@redhat.com>
685
686         PR c++/7327
687         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
688
689 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
690
691         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
692         (cgraph_optimize_function): Set current_function_decl to the
693         fndecl we're integrating from.
694
695 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
696
697         * builtins.def: Break out _Complex math functions into their
698         own category.
699
700 2003-09-02  Andreas Jaeger  <aj@suse.de>
701
702         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
703
704 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
705
706         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
707         finding the note again.
708
709 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
710
711         * config.gcc: Remove host-specific rewrites of target_alias.
712
713 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
714
715         * Makefile.in (genprogs): Fix typo.
716
717         * Makefile.in (gencheck.o): Remove build commands.
718         (dummy-conditions.o): Likewise.
719         (read-rtl.o): Likewise.
720         (gensupport.o): Likewise.
721         (genconfig$(build_exeext)): Remove rule.
722         (genconfig.o): Remove build commands.
723         (genflags$(build_exeext)): Remove rule.
724         (genflags.o): Remove build commands.
725         (gencodes$(build_exeext)): Remove rule.
726         (gencodes.o): Remove build commands.
727         (genconstants.o): Remove build commands.
728         (genemit$(build_exeext)): Remove rule.
729         (genemit.o): Remove build commands.
730         (genrecog$(build_exeext)): Remove rule.
731         (genrecog.o): Remove build commands.
732         (genextract$(build_exeext)): Remove rule.
733         (genextract.o): Remove build commands.
734         (genpeep$(build_exeext)): Remove rule.
735         (genpeep.o): Remove build commands.
736         (genattr$(build_exeext)): Remove rule.
737         (genattr.o): Remove build commands.
738         (genprognames): New variable.
739         (genprogs): Likewise.
740         (genobjs): Likewise.
741         (genprogs): New rule.
742         (genobjs): Likewise.
743         (genattrtab.o): Remove build commands.
744         (genautomata.o): Likewise.
745         (genoutput$(build_exeext)): Remove rule.
746         (genoutput.o): Remove build commands.
747         (gengenrtl.o): Likewise.
748         (genpreds.o): Likewise.
749         (gengtype.o): Likewise.
750         (genconditions.o): Likewise.
751         (gen-protos.o): Likewise.
752         (scan.o): Likewise.
753         (fix-header.o): Likewise.
754         (scan-decls.o): Likewise.
755         (check-g++): Combine with other check targets.
756         (check-gcc): Likewise.
757         (check-g77): Likewise.
758         (check-objc): Likewise.
759
760 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
761
762         * config.gcc: Remove host-specific stuff which is unused here
763         since the introduction of config.host.
764
765         * doc/fragments.texi: Mention config.host.
766         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
767         of config.build, config.host, and config.gcc.
768
769 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
770
771         * c-decl.c (pushdecl): Don't put variables on
772         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
773         incomplete.
774
775 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
776
777         * config.host: New file.
778         * config.gcc: Remove some host-specific stuff and some
779         logic needed only for repeated invocation.
780         * configure.in: Use config.host.
781         * configure: Regenerate.
782
783 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
784
785         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
786         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
787         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
788         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
789         * tree.def (BIT_ANDTC_EXPR): Kill.
790
791 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
792
793         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
794         * configure: Regenerate.
795
796         * config.gcc:  Remove references to install_headers_dir, now unused
797         since introduction of config.build.
798         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
799
800         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
801         config.build.
802
803         * config.build: New file.
804         * config.gcc: Remove some build-specific stuff.
805         * configure.in: Use config.build.
806         * configure: Regnerate.
807
808 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
809             Roger Sayle  <roger@eyesopen.com>
810
811         PR middle-end/11823
812         * stmt.c (expand_end_case_type): Only use jump tables for dense
813         switch statements when optimizing for size.
814
815 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
816
817         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
818         the != 0 case, which ensures pending stack adjustments are flushed.
819
820 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
821
822         * configure.frag: Delete file.
823         * configure.in: Rename the substitution variables
824         dep_host_xmake_file and dep_tmake_file to xmake_file and
825         tmake_file respectively.  Do not expand $srcdir in the
826         value of these; leave that for Make.  Introduce a new
827         substitution varaible, all_lang_makefrags, which lists
828         subdirectory Make-lang.in files; exclude these from
829         all_lang_makefiles, which is now only for subdirectory
830         outputs.  Do not invoke configure.frag.  Do not set nor
831         AC_SUBST_FILE target_overrides, host_overrides, or
832         language_fragments. Create build subdirectories in
833         config.status extra commands.
834         * configure: Regenerate.
835         * Makefile.in: Update substitutions to match changes to
836         configure.  Use include directives instead of @-insertions
837         to read in host, target, and language fragments.
838         (Makefile rule): Do not invoke configure.frag.  Do not copy
839         config.status to config.run before executing it.  Set
840         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
841         regenerated.
842         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
843
844 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
845
846         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
847         * c-typeck.c (same_translation_unit_p): New function.
848         (comptypes): Use it instead of flags parameter to identify
849         structure types from different translation units.
850         * c-decl.c (duplicate_decls): Always call comptypes with
851         COMPTYPE_STRICT flags argument.
852         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
853         to file_scope_decl.
854
855 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
856
857         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
858         * c-decl.c (struct c_scope): Remove "incomplete" field.
859         (pushdecl): Attach variables with incomplete types to
860         the TYPE_MAIN_VARIANT of the incomplete type in question.
861         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
862         to complete, not at current_scope->incomplete.  All such
863         variables do need completion.
864
865 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
866         Nicolas Pitre <nico@cam.org>
867
868         * arm/lib1funcs.asm (RETCOND): Delete.
869         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
870         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
871         (__ARM_ARCH__): Move here from ieee754-?f.S.
872         (RET, RETc): Clean up definitions.
873         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
874         (FUNC_END): New macro that marks the end of any function.
875         (ARM_FUNC_START): New macro that allows an assembler routine to be
876         implemented in ARM code even if a Thumb-only build.
877         Unconditionally include ieee754-?f.S.
878         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
879         Mark ends of functions.
880         Split into separate conditionally-compiled units.
881         Use RETLDM to return from routines.
882         * arm/ieee754-sf.S: Similarly.
883         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
884         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
885         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
886         _fixsfsi and _fixunssfsi.
887
888         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
889         multiplication underflows to zero.
890         (__adddf3): Fix bug when using VFP ordering on little-endian
891         processors.
892         (__fixdfsi): Use rrx to extract the carry into a register instead of
893         MRS instruction.  Optimize later use of result.
894         * arm/ieee754-sf.S (__fixsfsi): Likewise.
895         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
896
897 2003-08-29  Richard Henderson  <rth@redhat.com>
898
899         * tree-optimize.c: New file.
900         * Makefile.in (OBJS-archive): Add tree-optimize.o.
901         (tree-optimize.o): New.
902         * c-decl.c (store_parm_decls): Use allocate_struct_function.
903         (finish_function): Don't free_after_parsing or free_after_compilation.
904         (set_save_expr_context): Move to tree-optimize.c.
905         (c_expand_body_1): Use tree_rest_of_compilation.
906         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
907         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
908         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
909         iterate until closure.
910         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
911         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
912         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
913         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
914         * toplev.h (tree_rest_of_compilation): Declare it.
915
916 2003-08-29  Richard Henderson  <rth@redhat.com>
917
918         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
919         * integrate.c (save_for_inline): Set saved_for_inline.
920         * c-semantics.c (genrtl_scope_stmt): Check it.
921         * toplev.c (wrapup_global_declarations): Check it.
922         (rest_of_handle_inlining): Set and check rtl_inline_init.
923         (rest_of_compilation): Remove out of date comment.
924
925 2003-08-29  Richard Henderson  <rth@redhat.com>
926
927         * function.c (allocate_struct_function): New, split out of ...
928         (prepare_function_start, init_function_start): ... here.
929         * expr.c (init_expr): Use ggc_alloc_cleared.
930         * stmt.c (init_stmt_for_function): Likewise.
931         * tree.h (allocate_struct_function): Declare.
932
933 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
934
935         * config.gcc: Don't use negated character class in shell case
936         clause.
937
938 2003-08-29  Richard Henderson  <rth@redhat.com>
939
940         * function.h (struct function): Move function_frequency and
941         max_jumptable_ents before start of bit field members.
942
943 2003-08-29  Richard Henderson  <rth@redhat.com>
944
945         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
946         (fold_builtin_constant_p) ... not here.
947
948 2003-08-29  Richard Henderson  <rth@redhat.com>
949
950         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
951         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
952         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
953
954 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
955
956         * builtins.def: Fix typos.
957         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
958         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
959         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
960         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
961         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
962
963         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
964         Use ATTR_MATHFN_FPROUNDING_ERRNO.
965
966 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
967
968         * config.gcc (i386-*-vsta): Fix obvious bogosity.
969
970         * fixinc/inclhack.def:  Remove special cases for unsupported
971         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
972         * fixinc/fixincl.x: Regenerate.
973
974 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
975
976         * Makefile.in (cpp.info): Just state dependencies.
977         (gcc.info): Likewise.
978         (gccint.info): Likewise.
979         (gccinstall.info): Likewise.
980         (cppinternals.info): Likewise.
981         (cpp.dvi): Likewise.
982         (gcc.dvi): Likewise.
983         (gccint.dvi): Likewise.
984         (gccinstall.dvi): Likewise.
985         (cppinternals.dvi): Likewise.
986         (gcov.1): Likewise.
987         (cpp.1): Likewise.
988         (gcc.1): Likewise.
989         (gfdl.7): Likewise.
990         (gpl.7): Likewise.
991         (fsf-funding.7): Likewise.
992         ($(objdir)/%.info): New pattern rule.
993         (%.dvi): Likewise.
994
995 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
996
997         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
998         (restage2): Likewise.
999         (restage3): Likewise.
1000         (restage4): Likewise.
1001         (restageprofile): Likewise.
1002         (restagefeedback): Likewise.
1003         (bubblestrap): Likewise.
1004
1005 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
1006
1007         * config.gcc: Narrow unsupported target match to avoid clobbering
1008         i?86-sequent-sysv4*.
1009
1010 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1011
1012         * builtins.c (mathfn_built_in): Handle new math builtins.
1013
1014 2003-08-28  Per Bothner  <per@bothner.com>
1015
1016         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1017         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
1018         (_cpp_lex_buffer):  Likewise.
1019         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
1020
1021 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1022
1023         * config/s390/s390.md ("*mulsi3_sign"): New insn.
1024         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1025         ("mulsidi3"): ... this new insn.
1026         ("umulsidi3"): New insn.
1027         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1028         mixed-mode matching constraints.
1029         ("udivmodsi4", "udivmoddisi3"): New insns.
1030         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1031
1032 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1033
1034         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1035         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1036         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1037         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1038         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1039         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1040         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1041         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1042         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1043         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1044         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1045         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1046         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1047         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1048         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1049         * tree.c: Assign new type_nodes.
1050         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1051         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1052         (float_ptr_type_node, double_ptr_type_node,
1053         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1054
1055         * doc/extend.texi: Document new builtins.
1056
1057 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1058
1059         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1060         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1061
1062         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1063         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1064         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1065         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1066         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1067         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1068         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1069         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1070         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1071         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1072
1073         * doc/extend.texi: Document new builtins.
1074
1075 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
1076
1077         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1078         variants of i?86, powerpcle, and thumb.
1079         * fixinc/mkfixinc.sh: Remove special case code for unsupported
1080         arm and hppa variants.
1081
1082 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1083
1084         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1085         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1086         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1087         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1088         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1089         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1090         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1091         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1092         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1093         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1094
1095         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1096         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1097         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1098         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1099         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1100         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1101         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1102         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1103         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1104         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1105         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1106         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1107         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1108         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1109         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1110         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1111         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1112         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1113         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1114         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1115         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1116         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1117         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1118         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1119         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1120         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1121         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1122         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1123         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1124         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1125         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1126
1127         * doc/extend.texi: Document new builtins.
1128
1129 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
1130
1131         * config/s390/s390.c (legitmate_constant_p): Use LARL on
1132         zSeries machines even in 31-bit addressing mode.
1133         (legitimate_reload_constant_p): Likewise.
1134         (legitimize_pic_address): Likewise.
1135         (legitimize_tls_address): Likewise.
1136         (s390_split_branches): Likewise.
1137         (s390_dump_pool): Likewise.
1138         (s390_mainpool_finish): Likewise.
1139         (s390_chunkify_start): Likewise.
1140         (s390_select_rtx_section): Likewise.
1141         * config/s390/s390.md ("doloop_si"): Likewise.
1142         ("pool_start_31", "pool_end_31"): Likewise.
1143         ("pool_start_64", "pool_end_64"): Likewise.
1144         ("main_base_31_small", "main_base_31_large"): Likewise.
1145         ("main_base_64"): Likewise.
1146         ("reload_base_31", "reload_base_64"): Likewise.
1147         ("*movsi_larl"): New insn.
1148         ("cjump", "icjump"): Use long branches on zSeries machines.
1149         ("jump"): Likewise.
1150         ("call"): Use BRASL on zSeries machines.
1151         ("call_value", "call_value_tls"): Likewise.
1152         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1153         and replace by ...
1154         ("*bras", "*brasl", "*basr") ... these new insns.
1155         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1156         "bas_31_r"): Remove and replace by ...
1157         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1158         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1159         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1160         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1161         ("*return_si", "*return_di"): Remove and replace by ...
1162         ("*return"): ... this new insn.
1163         ("rotlsi3"): Allow on zSeries machines.
1164
1165         * config/s390/s390.c (legitimize_reload_constant_p): Use
1166         LL/LH type instructions in z/Architecture mode.
1167         * config/s390/s390.md ("*movsi_lli"): Likewise.
1168         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1169         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1170         ("*extendqisi2"): Use LB in z/Architecture mode.
1171         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1172         z/Architecture mode.
1173         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1174         Likewise.
1175
1176         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1177         and 31-bit mode.
1178         ("ptr_extend"): Allow only in 64-bit mode.
1179
1180 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
1181
1182         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1183         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1184         definitions.
1185         (main): Only use standard_startfile_prefix if native.
1186         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1187
1188 2003-08-27  Per Bothner  <pbothner@apple.com>
1189
1190         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
1191         test fails following my 08-21 change, and it seems unnecessary anyway.
1192         (cpp_error):  Likewise.
1193
1194 2003-08-27  Jason Merrill  <jason@redhat.com>
1195
1196         * real.c (do_multiply): Initialize with memset.
1197
1198 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1199
1200         * gcov.c (typedef struct arc_info): New field cs_count.
1201         (accumulate_line_counts): Find cycles correctly.
1202
1203 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
1204
1205         * config/s390/s390.c (struct machine_function): Remove member
1206         literal_pool_label.
1207         (s390_optimize_prolog): Replace TEMP_REG argument with
1208         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
1209         (general_s_operand): Accept all immediates before reload if
1210         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
1211         references.
1212         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1213         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1214         (s390_alloc_pool): New function.
1215         (s390_new_pool): Call it.
1216         (s390_dump_pool): Add REMOTE_LABEL argument.
1217         (s390_chunkify_start): Add BASE_REG argument.  Do not check
1218         get_pool_size ().
1219         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
1220         s390_dump_pool call.
1221         (s390_pool_count, s390_nr_constants): Remove.
1222         (s390_output_constant_pool): Remove.
1223         (s390_mainpool_start): New function.
1224         (s390_mainpool_finish): New function.
1225         (s390_mainpool_cancel): New function.
1226         (s390_reorg): Implement main literal pool handling.
1227         (s390_emit_prologue): Emit main_pool placeholder instead of
1228         literal_pool_31 / literal_pool_64 insns.
1229         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1230         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1231         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1232         ("main_base_31_small", "main_base_31_large"): New insns.
1233         ("main_base_64",  "main_pool"): New insns.
1234         ("literal_pool_31", "literal_pool_64"): Remove.
1235
1236 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1237
1238         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1239         fixinc.ptx.
1240         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
1241         Prettify a little.
1242         * fixinc/fixincl.x: Regenerate.
1243
1244 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
1245
1246         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
1247         (L_ieee754_dp): New.  Include ieee754-df.S.
1248         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1249         and compilation in apcs-26 mode.
1250         * arm/ieee754-df.S: Likewise.
1251         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1252         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1253
1254 2003-08-27  Nicolas Pitre  <nico@cam.org>
1255
1256         * arm/ieee754-sf.S: New.
1257         * arm/ieee754-df.S: New.
1258
1259 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
1260
1261         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1262         and restore it if returning NULL.
1263
1264 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
1265
1266         * calls.c (initialize_argument_information): If an argument has no
1267         stack space associated with it, and BLOCK_REG_PADDING is defined,
1268         use it to decide at which end the argument should be padded.
1269         * function.c (assign_parms): Allocate BLKmode stack slots.
1270         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1271         (mips_pad_reg_upward): Declare.
1272         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1273         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1274         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1275         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1276         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1277         (mips_expand_call): Remove code for generating structure shifts.
1278         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
1279         types unless using the EABI.
1280         (function_arg_advance): Don't generate shift instructions.
1281         (function_arg): Don't return them.  Don't short-circuit the
1282         check for double structure chunks for DFmode arguments.
1283         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1284         (mips_expand_prologue): Remove code to emit structure shifts.
1285         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1286         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
1287         comments to say that only structure returns are a problem.
1288
1289 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1290
1291         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1292         Fix to match produced versions.
1293         * fixinc/inclhack.def (longlong_t): New disabled test, ported
1294         from fixinc.svr4.
1295         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1296         from fixinc.ptx.
1297         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1298         ported from fixinc.ptx.
1299
1300 2003-08-26  Per Bothner  <pbothner@apple.com>
1301
1302         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
1303         (cpp_error_with_line):  Use fileline for appropriate parameter.
1304         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
1305         (struct cpp_reader):  Likewise for fields line and directive_line.
1306         (_cpp_begin_message):  Use fileline for appropriate parameter.
1307         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1308         cpp_error):  Use fileline for appropriate parameters and variables.
1309         (print_location):  New local lin, since it is not a fileline.
1310
1311 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1312
1313         PR middle-end/12002
1314         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1315         (FLOAT_TYPE_P): Define in terms of these two new macros.
1316         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1317         for complex floating point types.
1318
1319 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
1320
1321         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1322         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1323         s390_output_pool_entry.
1324
1325 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1326
1327         * fixinc/inclhack.def (svr4_preproc_lint_on,
1328         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1329         fixes, ported from fixinc.svr4.
1330
1331 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
1332
1333         * doc/install.texi (Prerequisites): Mention GNU make requirement.
1334
1335         * Makefile.in (AR_FOR_TARGET): Export it.
1336         (AR_CREATE_FOR_TARGET): Likewise.
1337         (AR_FLAGS_FOR_TARGET): Likewise.
1338         (AR_EXTRACT_FOR_TARGET): Likewise.
1339         (AWK): Likewise.
1340         (BUILD_PREFIX): Likewise.
1341         (BUILD_PREFIX_1): Likewise.
1342         (DESTDIR): Likewise.
1343         (GCC_FOR_TARGET): Likewise.
1344         (INCLUDES): Likewise.
1345         (INSTALL_DATA): Likewise.
1346         (LIB1ASMSRC): Likewise.
1347         (LIBGCC2_CFLAGS): Likewise.
1348         (MACHMODE_H): Likewise.
1349         (NM_FOR_TARGET): Likewise.
1350         (RANLIB_FOR_TARGET): Likewise.
1351         (libsubdir): Likewise.
1352         (slibdir): Likewise.
1353         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1354         exporting.
1355         (libgcc.a): Don't pass them here.
1356         (stmp-multilib): Or here.
1357         (install-libgcc): Or here.
1358         (install-multilib): Or here.
1359         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1360         (stage1_build): Or here.
1361
1362 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
1363
1364         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1365         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1366
1367 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
1368
1369         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1370         "*fmaddsf", "*fmsubsf"): New insns.
1371
1372 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1373
1374         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1375         (C1*C2)/X when unsafe math optimizations are allowed.
1376         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1377         math optimizations.  Minor code clean-ups.  Recursively call
1378         fold when constructing sub-expressions.
1379
1380 2003-08-26  Roger Sayle  <roger@eyesopen.com>
1381
1382         * builtins.c (fold_builtin_bitop): New function to perform constant
1383         folding of ffs, clz, ctz, popcount and parity builtin functions
1384         and their long and long long variants (such as ffsl and ffsll).
1385         (fold_builtin): fold_builtin_bitop when appropriate.
1386         * simplify-rtx.c (simplify_unary_operation): Honor both
1387         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1388         evaluating clz and ctz at compile-time, for operands wider
1389         than HOST_WIDE_INT.
1390
1391 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
1392
1393         * builtins.c (build_function_call_expr): Don't set
1394         TREE_SIDE_EFFECTS here.
1395         * expr.c (emit_block_move_via_libcall): Likewise.
1396         (clear_storage_via_libcall): Likewise.
1397         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1398         CALL_EXPRs.
1399
1400         * gcse.c (is_too_expensive): New function.
1401         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1402
1403 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
1404
1405         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1406         commented-out logic to use DCE threads (if present), add
1407         support for POSIX threads.
1408         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1409         #defines for -pthread.  Add -lpthread to LIB_SPEC when
1410         -pthread.  In both cases take -mt as a synonym for -pthread
1411         for acc compatibility.
1412         Define GTHREAD_USE_WEAK to 0.
1413         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1414         Remove old logic for DCE threads from LIB_SPEC.
1415         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1416
1417 2003-08-25  Roger Sayle  <roger@eyesopen.com>
1418
1419         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
1420         return 0 for invalid argument types.  Instead drop through to a
1421         call of expand_call at the bottom of function.  If op is SQRT,
1422         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1423
1424 2003-08-25  Richard Henderson  <rth@redhat.com>
1425
1426         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1427         result when op0 is SImode.
1428
1429 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
1430
1431         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1432         from fixinc.svr4.
1433         * fixinc/fixincl.x: Regenerate.
1434         * fixinc/tests/base/sys/signal.h: Regenerate.
1435
1436 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1437
1438         * combine.c (simplify_comparison): Re-enable widening of comparisons
1439         with non-paradoxical subregs of non-REG expressions.
1440
1441 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1442
1443         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1444
1445 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
1446
1447         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1448
1449 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1450
1451         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1452         * c-pretty-print.h (c_pretty_printer): Now typedef to the
1453         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
1454         (struct c_pretty_print_info): Document.  Add new fields.
1455         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1456         (pp_direct_abstract_declarator): New macro.
1457         (pp_ptr_operator): Likewise.
1458         (pp_simple_type_specifier): Likewise.
1459         (pp_expression): Likewise.
1460         (pp_parameter_list): Rename from pp_parameter_declaration.
1461         * c-pretty-print.c (pp_c_whitespace): Now a function.
1462         (pp_c_left_paren): Likewise.
1463         (pp_c_right_paren): Likewise.
1464         (pp_c_dot): Likewise.
1465         (pp_c_ampersand): Likewise.
1466         (pp_c_arrow): Likewise.
1467         (pp_c_semicolon): Likewise.
1468         (pp_c_type_cast): New function.
1469         (pp_c_space_for_pointer_operator): Likewise.
1470         (pp_c_call_argument_list): Likewise.
1471         (pp_c_cv_qualifier): Adjust prototype.
1472         (pp_c_type_qualifier_list): Likewise.
1473         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
1474         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1475         Adjust to follow standard grammar.
1476         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
1477         REFERENCE_TYPE.  Tidy.
1478         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
1479         (pp_c_parameter_declaration): Remove.
1480         (pp_c_abstract_declarator): Adjust prototype.
1481         (pp_c_direct_abstract_declarator): Likewise.
1482         (pp_c_type_id): Likewise.
1483         (pp_c_storage_class_specifier): Likewise.
1484         (pp_c_function_specifier): Likewise.
1485         (pp_c_declaration_specifiers): Likewise.
1486         (pp_c_direct_declarator): Likewise.
1487         (pp_c_declarator): Likewise.
1488         (pp_c_declarator): Likewise.
1489         (pp_c_declaration): Likewise.
1490         (pp_c_attributes): Likewise.  Tidy.
1491         (pp_c_function_definition): Adjust prototype.
1492         (pp_c_char): Likewise.
1493         (pp_c_string_literal): Likewise.
1494         (pp_c_integer_constant): Likewise.
1495         (pp_c_character_constant): Likewise.
1496         (pp_c_bool_constant): Likewise.
1497         (pp_c_enumeration_constant): Likewise.
1498         (pp_c_floating_constant): Likewise.
1499         (pp_c_constant): Likewise.
1500         (pp_c_identifier): Likewise.
1501         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
1502         (pp_c_initializer): Adjust prototype.
1503         (pp_c_init_declarator): Likewise.
1504         (pp_c_initializer_list): Likewise.
1505         (pp_c_id_expression): Likewise.
1506         (pp_c_postfix_expression): Likewise.
1507         (pp_c_expression_list): Likewise.
1508         (pp_c_unary_expression): Likewise.
1509         (pp_c_cast_expression): Likewise.
1510         (pp_c_multiplicative_expression): Likewise.
1511         (pp_c_additive_expression): Likewise.
1512         (pp_c_shift_expression): Likewise.
1513         (pp_c_relational_expression): Likewise.
1514         (pp_c_equality_expression): Likewise.
1515         (pp_c_and_expression): Likewise.
1516         (pp_c_exclusive_or_expression): Likewise.
1517         (pp_c_inclusive_or_expression): Likewise.
1518         (pp_c_logical_and_expression): Likewise.
1519         (pp_c_logical_or_expression): Likewise.
1520         (pp_c_conditional_expression): Likewise.
1521         (pp_c_assignment_expression): Likewise.
1522         (pp_c_expression): Likewise.  Tidy.
1523         (pp_c_statement): Likewise.  Document.
1524         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
1525
1526         * c-lang.c (c_initialize_diagnostics): Update.
1527         * c-common.h (strip_pointer_operator): Declare.
1528         * c-common.c (strip_pointer_operator): Define.
1529
1530 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
1531
1532         PR c++/8795
1533         * tree.h (build_method_type_directly): Declare.
1534         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
1535         (vector_size_helper): Likewise.
1536         * tree.c (build_method_type_directly): New function.
1537         (build_method_type): Use it.
1538
1539 2003-08-24  Richard Henderson  <rth@redhat.com>
1540
1541         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
1542         for 16-byte vector modes if sse not enabled; warn for abi change.
1543         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
1544
1545 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
1546
1547         * rtlanal.c (may_trap_p): Simplify an integer comparison.
1548
1549 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1550
1551         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
1552         comment.  Enable for DYNIX/ptx systems (when they switch to
1553         regular fixincludes).
1554         * fixinc/fixincl.x: Regenerate.
1555
1556 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1557
1558         * config/i860/t-i860: New.
1559         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
1560
1561 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
1562
1563         * c-decl.c (pushdecl): Only put decls which finish_struct will do
1564         something about onto incomplete chain.
1565         (finish_struct): If not removing type from incomplete
1566         list, update prev.
1567
1568 Wed Aug 20 12:08:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
1569
1570         PR target/11369
1571         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
1572
1573         PR target/11031
1574         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
1575         const_0_to_15_operand, const_0_to_255_operand): New predicates.
1576         * i386.h (PREDICATE_CODES): Add these.
1577         * i386.c (pinsrw and pextrw patterns): Use them.
1578
1579         PR target/10984
1580         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
1581
1582         PR target/8869
1583         * expr.c (convert_modes): Deal properly with integer to vector
1584         constant conversion.
1585
1586         PR target/8871
1587         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
1588
1589 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
1590
1591         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
1592         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
1593         ("*movhi"): ... this.
1594         ("movqi", "*movqi"): Likewise.
1595         ("movqi_64"): Remove.
1596         ("*zero_extendhisi2_31"): Change predicate to s_operand.
1597
1598 2003-08-23  Dale Johannesen  <dalej@apple.com>
1599         * calls.c (emit_library_call_value_1): Fix obvious errors in
1600         arguments to emit_group_store.
1601
1602 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1603
1604         * calls.c (emit_library_call_value_1): Remove code related
1605         to LIBGCC_NEEDS_DOUBLE.
1606         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
1607         * doc/tm.texi: Likewise.
1608         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
1609
1610 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
1611
1612         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1613
1614 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
1615
1616         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
1617         as well.  Put memory references in the varargs alias set.
1618         (mips_expand_prologue): Remove varargs handling from here.
1619
1620 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
1621
1622         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1623         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
1624         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
1625         for function pointer calls.
1626         * config/s390/s390.md ("*negdi2_31"): Likewise.
1627
1628 2003-08-23  Roger Sayle  <roger@eyesopen.com>
1629
1630         * combine.c (apply_distributive_law): Correct comment.
1631
1632 2003-08-23  Jason Eckhardt  <jle@rice.edu>
1633
1634         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
1635
1636 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1637
1638         * config/i860/i860.c (i860_build_va_list): Create the va_decl
1639         declaration.  Document the va_list structure.
1640         (i860_va_start): Initialize the va_list structure.
1641         (i860_va_arg): Rewrite completely.
1642         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
1643         * config/i860/varargs.asm: Do not allocate or initialize
1644         a va_list.  Return the address of the register save area.
1645
1646 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1647
1648         * config/iq2000/iq2000.c: Fix comment typos.
1649         * config/iq2000/iq2000.md: Likewise.
1650
1651 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1652
1653         * config/iq2000/iq2000.c: Follow spelling conventions.
1654         * config/iq2000/iq2000.h: Likewise.
1655         * config/mn10300/mn10300.c: Likewise.
1656
1657 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1658
1659         * config/i860/i860.c (output_move_double): Don't set latehalf
1660         to zero for CONST_INT (since it could be, e.g., -1).
1661
1662         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
1663         (MODSI3_LIBCALL): ...with this one.
1664         (UREMSI3_LIBCALL): Replace this macro...
1665         (UMODSI3_LIBCALL): ...with this one.
1666
1667 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1668
1669         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
1670         (output_delayed_branch): Remove prototype.
1671         (single_insn_src_p): Remove prototype.
1672         * config/i860/i860.c (single_insn_src_p): Remove function.
1673         (output_delayed_branch): Remove function.
1674         (output_delay_insn): Remove function.
1675         (va_start): Remove unconditional test and dead code, re-format.
1676         Fix coding style and spelling problems in various comments.
1677         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
1678         (blockage pattern): ...and use it here.
1679         (all define_peephole patterns related to delayed branches): Remove.
1680         Fix coding style and spelling problems in various comments.
1681
1682 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1683
1684         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
1685         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
1686         Convert all function definitions from traditional to ISO C90 syntax.
1687         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
1688         with 'GCC'.  Remove all uses of the PARAMS macro.
1689         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
1690         * config/i860/i860.md: Likewise.
1691         * config/i860/sysv4.h: Likewise.
1692         * config/i860/varargs.asm: Likewise.
1693
1694 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1695
1696         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
1697         argument.
1698         (tdesc_section): Add prototype.
1699         Update copyright dates.
1700         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
1701         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
1702         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
1703         (targetm): Likewise.
1704         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
1705         for '%d' where necessary.
1706         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
1707         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
1708         by UNITS_PER_WORD when referencing (likewise for .floats).
1709         (I860_SVR4_VARARGS): Rename...
1710         (I860_SVR4_VA_LIST): ...to this.
1711         Call build() with 't' rather than 'field'.
1712         (i860_rtx_costs): New function.
1713         (TARGET_RTX_COSTS): Define.
1714         (i860_internal_label): New function.
1715         (TARGET_ASM_INTERNAL_LABEL): Define.
1716         (i860_file_start): New function.
1717         Update copyright dates.
1718         * config/i860/i860.h (CPP_PREDEFINES): Remove.
1719         (TARGET_CPU_CPP_BUILTINS): Define.
1720         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
1721         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
1722         (ASM_FILE_START): Remove.
1723         (ASM_FILE_START_1): Remove.
1724         (ASM_GLOBALIZE_LABEL): Remove.
1725         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
1726         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
1727         with targetm.asm_out.internal_label.
1728         Update copyright dates.
1729         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
1730         (CPP_PREDEFINES): Remove.
1731         (TARGET_OS_CPP_BUILTINS): Define.
1732         (GLOBAL_ASM_OP): Define.
1733         (ASM_FILE_START): Remove.
1734         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
1735         (TARGET_ASM_FILE_START): Define.
1736         Update copyright dates.
1737
1738 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1739
1740         * gcc/config.gcc (i860-*-sysv4*): Add target.
1741         * config/i860/i860-protos.h: New.
1742         * config/i860/i860.c: New.
1743         * config/i860/i860.h: New.
1744         * config/i860/i860.md: New.
1745         * config/i860/sysv4.h: New.
1746         * config/i860/varargs.asm: New.
1747         * config/i860/x-sysv4: New.
1748
1749 2003-08-22  Jason Eckhardt  <jle@rice.edu>
1750
1751         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
1752         Remove all uses of PARAMS macro.
1753         Convert all function definitions to ISO C90 syntax.
1754         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
1755         * config/pa/fptr.c: Likewise.
1756         * config/pa/lib2funcs.asm: Likewise.
1757         * config/pa/long_double.h: Likewise.
1758         * config/pa/milli64.S: Likewise.
1759         * config/pa/pa-64.h: Likewise.
1760         * config/pa/pa-hpux.h: Likewise.
1761         * config/pa/pa-hpux10.h: Likewise.
1762         * config/pa/pa-hpux11.h: Likewise.
1763         * config/pa/pa-linux.h: Likewise.
1764         * config/pa/pa-modes.def: Likewise.
1765         * config/pa/pa-osf.h: Likewise.
1766         * config/pa/pa-pro-end.h: Likewise.
1767         * config/pa/pa.md: Likewise.
1768         * config/pa/pa32-linux.h: Likewise.
1769         * config/pa/pa64-linux.h: Likewise.
1770         * config/pa/pa64-hpux.h: Likewise.
1771         * config/pa/pa64-regs.h: Likewise.
1772         * config/pa/quadlib.c: Likewise.
1773         * config/pa/rtems.h: Likewise.
1774         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
1775         all uses of the PARAMS macro.
1776         * config/pa/pa.h: Likewise.
1777         * config/pa/som.h: Likewise.
1778
1779         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
1780         Remove all uses of PARAMS macro.
1781         Convert all function definitions to ISO C90 syntax.
1782         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
1783         Remove all uses of PARAMS macro.
1784         * config/iq2000.h: Remove all uses of PARAMS macro.
1785         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
1786
1787 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
1788
1789         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
1790         * config/s390/s390.c (gen_consttable): Remove.
1791         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
1792         (s390_output_pool_entry): New function.
1793         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
1794         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
1795         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
1796         (UNSPECV_POOL_ENTRY): ... this new constant.
1797         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1798         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
1799         ("*pool_entry"): ... and replace by this new insn.
1800         ("literal_pool_31"): Do not emit anchor label if pool empty.
1801
1802         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
1803         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
1804         (s390_fixup_clobbered_return_reg): Remove.
1805         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
1806         (s390_return_addr_rtx): Always retrieve return address from save area
1807         slot.  Use save_return_addr_p to force slot to be filled.
1808         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
1809
1810 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
1811
1812         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
1813         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
1814         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
1815         around SB-1 errata if TARGET_FIX_SB1 is set.
1816         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
1817         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
1818
1819 2003-08-22  Roger Sayle  <roger@eyesopen.com>
1820
1821         * hashtable.c (ht_expand): Avoid calculating rehash for the common
1822         case that the first probe hits an empty hash table slot.
1823
1824 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
1825
1826         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
1827
1828 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
1829
1830         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
1831         (ptr_extend_plus_imm): ... this.
1832         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
1833         optimization in C++.
1834         (ia64_output_mi_thunk): Support ILP32 mode.
1835
1836 2003-08-22  bernardo innocenti  <bernie@develer.com>
1837
1838         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
1839         function.
1840         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
1841
1842 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1843
1844         * config/i386/i386.c (const_int_1_operand): Simplify an
1845         integer comparison.
1846
1847 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
1848
1849         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
1850         * config/rs6000/ppc64-fp.c: Likewise.
1851
1852 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1853
1854         * cfgcleanup.c: Fix comment typos.
1855         * emit-rtl.c: Likewise.
1856         * optabs.c: Likewise.
1857         * ra-build.c: Likewise.
1858         * rtlanal.c: Likewise.
1859         * tree.h: Likewise.
1860
1861 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1862
1863         * c-decl.c: Fix comment formatting.
1864         * cfgrtl.c: Likewise.
1865         * combine.c: Likewise.
1866         * convert.c: Likewise.
1867         * dominance.c: Likewise.
1868         * dwarf2out.c: Likewise.
1869         * dwarfout.c: Likewise.
1870         * expmed.c: Likewise.
1871         * fold-const.c: Likewise.
1872         * gcov.c: Likewise.
1873         * genattrtab.c: Likewise.
1874         * ggc-common.c: Likewise.
1875         * mips-tfile.c: Likewise.
1876         * regmove.c: Likewise.
1877
1878 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1879
1880         * builtin-attrs.def: Fix comment formatting.
1881         * c-pretty-print.c: Likewise.
1882         * diagnostic.h: Likewise.
1883         * langhooks.h: Likewise.
1884         * recog.c: Likewise.
1885         * simplify-rtx.c: Likewise.
1886         * tree.def: Likewise.
1887
1888 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
1889
1890         * config/m68k/m68k-protos.h: Convert to ISO C90.
1891         * config/m68k/m68k.c: Likewise.
1892
1893 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
1894             Paul Dale  <pauli@snapgear.com>
1895             Peter Barada <peter@baradas.org>
1896
1897         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
1898         ColdFire cores.
1899
1900 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
1901
1902         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
1903         * config.gcc (*-*-openbsd): Don't set tm_file.
1904         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
1905         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
1906         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
1907         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
1908         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
1909         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
1910         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
1911         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
1912         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
1913         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
1914         xscale-*-coff): Use explicit and complete lists of target headers
1915         to include.  Move definitions to tm_defines where appropriate.
1916         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
1917         not-yet-contributed configuration.
1918
1919         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
1920         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
1921         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
1922         * config/i386/nto.h, config/iq2000/iq2000.h,
1923         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
1924         * config/m68k/linux.h, config/m68k/m68k-aout.h
1925         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
1926         * config/m68k/netbsd.h, config/m68k/openbsd.h
1927         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
1928         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
1929         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
1930         Remove includes of other target config headers, and
1931         definitions of macros moved to tm_defines lists.  Add #undefs
1932         where now necessary to prevent redefinition warnings.
1933
1934         * config/h8300/coff.h: New file split out of...
1935         * config/h8300/elf.h: ...here.
1936         * config/m68k/hp320base.h: New file split out of...
1937         * config/m68k/hp320.h: ...here.
1938         * config/rs6000/lynxbase.h: New file split out of...
1939         * config/rs6000/lynx.h: ...here.
1940
1941         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
1942         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
1943
1944         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
1945         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
1946         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
1947         Remove unnecessary #ifndef.
1948         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
1949         [under IN_LIBGCC2] with config/.
1950
1951 2003-08-21  Per Bothner  <pbothner@apple.com>
1952
1953         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
1954         to cpp_push_buffer.
1955         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
1956         by return_at_eof check.  Always call _cpp_pop_buffer at end.
1957
1958 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
1959
1960         PR target/11805
1961         * config/h8300/h8300.md (two anonymous patterns): Remove.
1962
1963 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
1964
1965         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
1966         * config/mips/mips.c (function_arg_pass_by_reference): Never return
1967         true for n32 & n64.
1968
1969 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
1970
1971         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
1972         and similarly in (A | C) == D where C & ~D != 0.
1973
1974 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
1975
1976         PR 8180
1977         * configure.in: When testing with_libs and with_headers, treat
1978         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
1979         * configure: Regenerate.
1980
1981 2003-08-20  Peter Barada <peter@baradas.org>
1982
1983         * longlong.h (umul_ppmm): Add ColdFire support.
1984
1985 2003-08-20  Peter Barada <peter@baradas.org>
1986             Bernardo Innocenti  <bernie@develer.com>
1987
1988         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
1989         * config/m68k/m68k.h: Likewise.
1990         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
1991         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
1992         * config/m68k/linux.h: Likewise.
1993         * config/m68k/m68k.c: Likewise.
1994         * config/m68k/m68k.md: Likewise.
1995         * config/m68k/m68kelf.h: Likewise.
1996         * config/m68k/netbsd-elf.h: Likewise.
1997         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
1998
1999 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
2000
2001         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2002         * config/m68k/m68k.md: Likewise.
2003
2004 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
2005
2006         PR java/11996
2007         Revert this change:
2008         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2009         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2010         types with precisions other than those given by native machine
2011         modes.
2012
2013 2003-08-20  Gunther Nikl  <gni@gecko.de>
2014
2015         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2016         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2017         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2018         * config/m68k/m68k.md (anonymous define_insn): Likewise
2019         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2020         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2021         code selected by NO_ASM_FMOVECR
2022
2023 2003-08-20  Gunther Nikl  <gni@gecko.de>
2024
2025         * config/m68k/m68k.c (output_move_const_into_data_reg,
2026         output_move_himode): unify MOTOROLA/MIT handling of moveq
2027         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2028         Likewise
2029
2030 2003-08-20  Gunther Nikl  <gni@gecko.de>
2031
2032         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2033         label name
2034         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2035         HOST_WIDE_INT_PRINT_DEC with %wd
2036
2037 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
2038
2039         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2040         redefine warning.
2041
2042 2003-08-20  Roger Sayle  <roger@eyesopen.com>
2043
2044         PR middle-end/11984
2045         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2046         operands before calling tree_int_cst_lt when performing associative
2047         transformations.
2048
2049 2003-08-20  Jason Merrill  <jason@redhat.com>
2050
2051         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2052         (EXPR_CHECK): Don't check for 'r' or 's' if we're
2053         checking IS_EXPR_CODE_CLASS.
2054         * calls.c (calls_function_1): Likewise.
2055         * fold-const.c (fold): Likewise.
2056         * tree.c (iterative_hash_expr): Likewise.
2057         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2058
2059 2003-08-20  Gunther Nikl  <gni@gecko.de>
2060
2061         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2062         depending on MOTOROLA_BSR
2063         * config/m68k/m68k.md (anonymous define_insn): Likewise
2064
2065 2003-08-20  Jason Merrill  <jason@redhat.com>
2066
2067         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2068         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2069         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2070         * dojump.c (do_jump): Likewise.
2071         * fold-const.c (operand_equal_p, fold): Likewise.
2072         (tree_expr_nonnegative_p): Likewise.
2073
2074         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2075         TYPE_USER_ALIGN for FIELD_DECLs.
2076
2077         * attribs.c (decl_attributes): Rebuild the function pointer type after
2078         changing the target type.
2079         * tree.c (get_qualified_type): Also check that the attributes match.
2080
2081 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
2082
2083         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2084         * objc/config-lang.in (stagestuff): ... to here.
2085
2086 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
2087
2088         PR c++/11946
2089         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2090         NOP_EXPR) when necessary.
2091         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2092         types with precisions other than those given by native machine
2093         modes.
2094
2095 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2096
2097         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2098         because some macro is defined.
2099
2100         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2101         options.
2102         * config/i386/darwin.h (ASM_SPEC): New.
2103         (SUBTARGET_EXTRA_SPECS): New.
2104         * config/rs6000/darwin.h (ASM_SPEC): New.
2105         (SUBTARGET_EXTRA_SPECS): New.
2106         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2107         a cross-compiler between two different processors on Darwin.
2108         * configure: Regenerate.
2109
2110 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2111
2112         * builtins.c: Fix comment typos.
2113         * c-common.c: Likewise.
2114         * c-decl.c: Likewise.
2115         * c-pretty-print.c: Likewise.
2116         * cfgbuild.c: Likewise.
2117         * cfglayout.c: Likewise.
2118         * cfgloopanal.c: Likewise.
2119         * cgraphunit.c: Likewise.
2120         * cppfiles.c: Likewise.
2121         * dwarfout.c: Likewise.
2122         * expr.c: Likewise.
2123         * fold-const.c: Likewise.
2124         * gcse.c: Likewise.
2125         * ggc-page.c: Likewise.
2126         * haifa-sched.c: Likewise.
2127         * pretty-print.c: Likewise.
2128         * tree.c: Likewise.
2129         * tree.h: Likewise.
2130         * value-prof.c: Likewise.
2131
2132 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * c-decl.c: Follow spelling conventions.
2135         * cppfiles.c: Likewise.
2136
2137 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
2138
2139         * c-common.c: Fix comment formatting.
2140         * c-common.h: Likewise.
2141         * c-decl.c: Likewise.
2142         * cppinit.c: Likewise.
2143         * cpplib.h: Likewise.
2144         * emit-rtl.c: Likewise.
2145         * input.h: Likewise.
2146         * line-map.h: Likewise.
2147         * opts.c: Likewise.
2148         * opts.h: Likewise.
2149         * simplify-rtx.c: Likewise.
2150
2151 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
2152
2153         * unwind-c.c: Add libgcc-style exception.
2154         * unwind-dw2.c: Likewise.
2155         * unwind-pe.h: Likewise.
2156         * unwind-sjlj.c: Likewise.
2157         * unwind.inc: Likewise.
2158
2159 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2160
2161         PR c/5582 PR c++/10538
2162         * langhooks-def.h (lhd_decl_uninit): Declare.
2163         (LANG_HOOKS_DECL_UNINIT): New macro.
2164         (LANG_HOOKS_INITIALIZER): Adjust.
2165         * langhooks.h (struct lang_hooks): Add new field
2166         decl_uninit.
2167         * langhooks.c (lhd_decl_uninit): Define.
2168         * c-common.c (c_decl_uninit_1): New function.
2169         (c_decl_uninit): New function.
2170         (warn_init_self): Define.
2171         * c-common.h (c_decl_uninit): Declare.
2172         (warn_init_self): Declare.
2173         * c.opt: Introduce -Winit-self.
2174         * c-opts.c (c_common_handle_options): Set warn_init_self.
2175         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2176         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
2177         * function.c (uninitialized_vars_warning): Call the language hook.
2178         * doc/invoke.texi: Document -Winit-self.
2179
2180 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
2181
2182         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2183         to use better predicates and constraints.  Define new
2184         instruction to handle "trap_if" with DI-mode arguments.
2185         (conditional_trap): FAIL if trap code is not 0.
2186
2187 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
2188
2189         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2190         strstr with $pb to a strcompare with "<pic base>"
2191         (ix86_output_addr_diff_elt): Output the real pic base.
2192
2193 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2194
2195         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2196         (LANG_HOOKS_INITIALIZER): Correct.
2197         * c-lang.c: Likewise.
2198
2199 2003-08-19  Jan Hubicka  <jh@suse.cz>
2200
2201         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2202         (cgraph_varpool_mark_needed_node): Likewise.
2203         * cgraph.h (notice_global_symbol): Declare
2204         * varasm.c (notice_global_symbol): Break out from ...
2205         (assemble_start_function): ... here; update for variables.
2206         (assemble_variable): Use notice_global_symbol.
2207
2208 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2209
2210         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2211         expect SFmode and DFmode arguments to be passed in FPRs,
2212         regardless of the underlying type.
2213
2214 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
2215
2216         PR target/11924
2217         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2218         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2219
2220 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
2221
2222         PR c/11207
2223         * c-typeck.c (set_init_index): Check for negative index.
2224
2225 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
2226
2227         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2228         call0 ABI.
2229         * config/xtensa/crtn.asm (_init, _fini): Likewise.
2230         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2231         __umodsi3, __modsi3): Likewise.
2232         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2233         $(INCLUDES).
2234
2235 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
2236
2237         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2238
2239 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2240
2241         * config/mips/mips.md: Quote C code in braces.  Remove use of
2242         fake const0_rtx operands.  Remove double backslashes.  Use \;.
2243         Remove workarounds for bogus warnings.
2244
2245 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2246
2247         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2248         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2249         rather than TARGET_MIPS4300.
2250         (mulsf3_internal, mulsf3_r4300): Likewise.
2251
2252 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
2253
2254         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
2255
2256 2003-08-17  Roger Sayle  <roger@eyesopen.com>
2257
2258         * simplify-rtx.c (associative_constant_p): New function to test
2259         whether an RTX expression is an immediate constant.
2260         (simplify_associative_operation): New function to perform some
2261         reassociation optimizations of associative binary expressions.
2262         (simplify_binary_operation): Use simplify_associative_operation
2263         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2264         Floating point expressions are only reassociated when unsafe
2265         math optimizations are permitted.
2266
2267 2003-08-17  Andreas Jaeger  <aj@suse.de>
2268
2269         * config/alpha/alpha.md: Remove usage of PARAMS.
2270
2271         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2272         * config/i386/i386-interix.h: Likewise.
2273         * config/i386/winnt.c: Likewise.
2274         * config/i386/cygming.h: Likewise.
2275         * config/i386/cygwin2.c: Likewise.
2276         * config/darwin.c: Likewise.
2277         * config/darwin-c.c: Likewise.
2278         * config/darwin-protos.h: Likewise.
2279         * config/darwin.h: Likewise.
2280         * config/s390/s390-protos.h: Likewise.
2281         * config/s390/s390.c: Likewise.
2282         * config/ia64/ia64.c: Likewse
2283         * config/ia64/ia64-protos.h: Likewise.
2284         * config/ia64/ia64-c.c: Likewise.
2285
2286 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2287
2288         * config/sparc/sparc.c: Convert to ISO C.
2289
2290         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2291         * config/sparc/sparc.c: Likewise.
2292
2293 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
2294
2295         PR c++/11512
2296         * stmt.c (expand_expr_stmt_value): Don't warn about any void
2297         typed expression.
2298
2299 2003-08-16  Jan Hubicka  <jh@suse.cz>
2300
2301         * i386.c (ix86_fntype_regparm): Rename from ...
2302         (ix86_function_regparm): ... this one; add fastcall and local
2303         functions.
2304         (ix86_function_ok_for_sibcall): Update.
2305         (ix86_return_pops_args): Likewise.
2306         (init_cumulative_args): Likewise.
2307         (x86_can_output_mi_thunk): Likewise.
2308         (function_arg): Fix formating.
2309         (x86_this_parameter): Fix fastcall.
2310         (x86_output_mi_thunk): Likewise.
2311
2312         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2313         body as reachable; mark nested functions as needed too.
2314         (dump_cgraph): Do not output global.calls.
2315         * cgraph.h (cgraph_global_info): Kill.
2316         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2317         (record_call_1): Speedup.
2318         (cgraph_analyze_function): Break out from ...; compute inlining
2319         parameters.
2320         (cgraph_finalize_compilation_unit): ... here.
2321         (cgraph_mark_inline): Kill computation of calls.
2322         (cgraph_decide_inlining): Do not compute most of initial values.
2323
2324 2003-08-14  Roger Sayle  <roger@eyesopen.com>
2325
2326         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2327         to negate if either operand is easy to negate, if we don't care
2328         about sign-dependent rounding.
2329         (negate_expr): Make the logic to negate a REAL_CST explicit.
2330         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2331         that's easy to negate, if we don't honor sign-dependent rounding.
2332         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2333         negate, and the symmetric A * -B as -A * B if A is easy to negate.
2334         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2335         -C/D if B and C are cheap to negate.  Add an explicit rule to
2336         optimize X/-1.0 as -X when we don't care about signaling NaNs.
2337
2338 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
2339
2340         * Makefile.in (tm_file): Rename tm_include_list.
2341         (tm_p_file): Rename tm_p_include_list.
2342         (build_xm_file): Rename build_xm_include_list.
2343         (host_xm_file): Rename host_xm_include_list.
2344         (xm_file): Rename xm_include_list.
2345         (xm_file_list): Add to be substituted.
2346         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2347         Update to match.
2348         (bt-load.o): Add missing dependency on $(TM_H).
2349         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2350         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2351         build_xm_file, generate both *_file_list and *_include_list
2352         values from it.  (xm_file_list was formerly not being generated.)
2353         In *_include_list, prefix the names of all headers found in
2354         $(srcdir)/config with config/.  In each loop, consider only
2355         the special case files that can actually appear in that list.
2356         AC_SUBST all *_file_list and all *_include_list variables; do
2357         not AC_SUBST the plain *_file variables.
2358         * configure: Regenerate.
2359
2360 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2361
2362         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2363
2364 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2365
2366         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2367         direct calls.
2368         (attr_length_call): Include it here.  Improve length estimate for
2369         local calls.
2370         (output_call): Use targetm.binds_local_p.
2371
2372 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2373
2374         * builtins.c (CASE_MATHFN): New helper macro.
2375         (mathfn_built_in): Simplify and sort.
2376
2377         * protoize.c (substr): Delete, callers changed to `strstr'.
2378
2379 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
2380
2381         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2382         * config/iq2000/xm-iq2000.h: Delete file.
2383
2384 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
2385
2386         * gengtype.c (walk_type): Process a subobject before processing
2387         the pointer that points to the subobject.
2388
2389 2003-08-13  Per Bothner  <pbothner@apple.com>
2390
2391         * regclass.c (init_reg_modes):  Make non-static.
2392         Rename to init_reg_modes_once per new naming convention.
2393         (init_regs):  Don't call init_reg_modes here.
2394         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
2395         * rtl.h (init_reg_modes_once):  New declaration.
2396         * toplev.c (backend_init):  Call init_regs after init_emit_once.
2397
2398 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2399
2400         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2401         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2402
2403 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
2404
2405         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2406         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2407
2408 2003-08-13  Dale Johannesen  <dalej@apple.com>
2409
2410         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
2411         handling of decrement-and-branch farther than 32 bits.
2412
2413 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
2414
2415         * configure.in (make_compare_target): Move test to ...
2416         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2417         * configure: Regenerate.
2418
2419 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
2420
2421         * config/mips/iris6.h: Convert to C90 prototypes.
2422         * config/mips/irix6-libc-compat.c: Likewise.
2423         * config/mips/mips-protos.h: Likewise.
2424         * config/mips/mips.c: Likewise.
2425
2426 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2427
2428         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
2429         for selected machines.  Comment heavily.
2430         fixinc/fixincl.x: Rebuild.
2431         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2432
2433 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
2434
2435         * config/mips/mips.h: Tweak various comments.
2436         * config/mips/mips.c: Likewise.
2437
2438 2003-08-11  James E Wilson  <wilson@tuliptree.org>
2439
2440         PR optimization/11319
2441         PR target/10021
2442         * alias.c (find_base_value, case REG): Return 0 not src if no base
2443         found.
2444
2445 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2446
2447         * gcse.c (gmalloc): Fix last change.
2448
2449 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2450
2451         * simplify-rtx.c (simplify_binary_operation): Replace calls to
2452         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2453         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2454         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2455
2456 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2457
2458         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2459         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2460         typecode for an ABS_EXPR.
2461
2462         * doc/c-tree.texi: Document ABS_EXPR.
2463
2464 2003-08-11  Roger Sayle  <roger@eyesopen.com>
2465
2466         * fold-const.c (fold): Optimize any associative floating point
2467         operator with -funsafe-math-optimizations, not just MULT_EXPR.
2468
2469 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
2470
2471         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2472         information in SHmedia case too.
2473         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2474         Likewise.
2475         (__set_fpscr): Use an access via GOT for PIC case.
2476
2477 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
2478
2479         * configure.in (intermodule): Make switch test more portable.
2480         * configure: Regenerate.
2481
2482 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
2483
2484         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
2485         (restrap): Likewise.
2486
2487 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2488
2489         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
2490         (grealloc): Size argument is a size_t.
2491         (gcalloc): New function.  Use throughout in lieu of
2492         gmalloc/memset.
2493
2494         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
2495         xmalloc/memset.
2496         * config/ia64/ia64.c (ia64_reorg): Likewise.
2497         * conflict.c (conflict_graph_new): Likewise.
2498         * fixinc/fixincl.c (run_compiles): Likewise.
2499         * genattrtab.c (optimize_attrs): Likewise.
2500         * genrecog.c (new_decision): Likewise.
2501         * haifa-sched.c (schedule_block): Likewise.
2502         * hashtable.c (ht_create): Likewise.
2503
2504 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
2505
2506         * config/xtensa/lib2funcs.S: Fix whitespace.
2507         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
2508         syntax where appropriate.  Remove unnecessary backslash escapes.
2509         Reformat comments and fix some code formatting.
2510         (extendqisi2): Rearrange conditional.
2511         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
2512         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
2513         of fatal_insn.
2514
2515 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
2516
2517         * config/mips/mips.c: Various formatting fixes.
2518         (override_options): Resync -mtune handling with gas.
2519         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
2520         * config/mips/mips.h: More formatting fixes.
2521         (mips_abi): Move declaration.
2522         * config/mips/mips.md (exception_receiver): Add mode to
2523         unspec_volatile.
2524
2525 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
2526
2527         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
2528         evsplatfi here.
2529         (bdesc_1arg): Remove evsplati and evsplatfi.
2530
2531 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
2532
2533         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
2534         into account.
2535
2536 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2537
2538         * builtins.c (expand_builtin_strcat): Optimize constant strings.
2539
2540 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2541
2542         * pretty-print.c (pp_base_indent): Rename from pp_indent.
2543         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
2544         (struct c_pretty_print_info): Add more fields.
2545         (pp_c_left_paren): Move to c-pretty-print.c.
2546         (pp_c_right_paren): Likewise.
2547         (pp_c_left_brace): Likewise.
2548         (pp_c_right_brace): Likewise.
2549         (pp_c_left_bracket): Likewise.
2550         (pp_c_right_bracket): Likewise.
2551         (pp_c_declarator): Declare.
2552         (pp_c_direct_declarator): Likewise.
2553         (pp_c_specifier_qualifier_list): Likewise.
2554         (pp_c_type_id): Likewise.
2555         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
2556         (pp_c_type_qualifier_list): New.
2557         (pp_c_pointer): Likewise.
2558         (pp_c_parameter_type_list): Likewise.
2559         (pp_c_function_definition): Likewise.
2560         (pp_c_id_expression): Likewise.
2561         (pp_c_simple_type_specifier): Tidy.
2562         (pp_c_unary_expression): Likewise.
2563         (pp_c_expression): Likewise.
2564         (pp_c_pretty_printer_init): Likewise.
2565         (pp_c_specifier_qualifier_list): Rework..
2566         (pp_c_abstract_declarator): Likewise.
2567         (pp_c_postfix_expression): Likewise.
2568         (pp_c_primary_expression): Likewise.
2569         (pp_c_cast_expression): Likewise.
2570         (pp_c_direct_abstract_declarator): Likewise.
2571         (pp_c_storage_class_specifier): Likewise.
2572         (pp_c_function_specifier): Likewise.
2573         (pp_c_declaration_specifiers): Likewise.
2574         (pp_c_direct_declarator): Likewise.
2575         (pp_c_declarator): Likewise.
2576         (pp_c_declaration): Likewise.
2577         (pp_c_statement): Likewise.
2578         (pp_c_integer_constant): Rename from pp_c_integer_literal.
2579         (pp_c_character_constant): Rename from pp_c_character_literal.
2580         (pp_c_bool_constant): Rename from pp_c_bool_literal.
2581         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
2582         (pp_c_floating_constant): Rename from pp_c_real_literal.
2583         (pp_c_constant): Rename from pp_c_literal.
2584         * c-lang.c: Include diagnostic.h and c-pretty-print.h
2585         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
2586         (c_initialize_diagnostics): New.
2587         * Makefile.in (c-lang.o): Update dependency.
2588
2589 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
2590
2591         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2592
2593 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
2594
2595         * config/mips/mips.c (mips_no_mips16_string): Remove.
2596         (override_options): Don't handle -mips16 as part of -mipsN.
2597         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
2598         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
2599         (TARGET_OPTIONS): Remove -mno-mips16.
2600
2601 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
2602
2603         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
2604         (coprocessor2_operand): Likewise.
2605         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
2606         (lookup_name): Remove declaration.
2607         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
2608         (mips16, mips_abicalls): Remove.
2609         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
2610         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
2611         (coprocessor_operand, coprocessor2_operand): Remove.
2612         (override_options): Don't set mips16 or mips_abicalls.
2613         (print_operand): Don't expect SIGN_EXTEND operands.
2614         (mips_secondary_reload_class): Likewise.
2615         (mips_output_conditional_branch): Remove disabled long-branch code.
2616         * config/mips/mips.h (call_used_regs): Remove declaration.
2617         (may_call_alloca): Likewise.
2618         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
2619         (mips_abicalls, mips16): Remove declarations.
2620         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
2621         (CC1_SPEC): Remove outdated comment.
2622         (MIPS_VERSION, MACHINE_TYPE): Remove.
2623         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2624         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
2625         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
2626         (PUSH_ROUNDING): Likewise.
2627         (ASSEMBLER_SCRATCH_REGNUM): Remove.
2628         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
2629         and mips16 with TARGET_MIPS16.
2630
2631 2003-08-09  Per Bothner  <pbothner@apple.com>
2632
2633         * cppinit.c (cpp_read_main_file):  Split out source-independent
2634         initialization to separate function ...
2635         (cpp_post_options):  New function.
2636         * cppfiles.c (cpp_stack_file):  Rename public name to ...
2637         (_cpp_stack_file):  New internal function name.
2638         * cpplib.h:  Update accordingly.
2639         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
2640         (cpp_read_main_file):  Don't initialize line here.
2641         * c-opts.c (c_common_post_options):  Call cpp_post_options.
2642         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
2643         * fix-header.c (read_scan_file):  Call cpp_post_options.
2644
2645 2003-08-09  Per Bothner  <per@bothner.com>
2646
2647         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
2648
2649 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2650
2651         * pa.c (pa_asm_output_mi_thunk): Fix typo.
2652
2653 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
2654
2655         PR preprocessor/11839
2656         * cppfiles.c (open_file): Handle ENOTDIR.
2657
2658 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
2659
2660         PR target/11699
2661         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
2662
2663 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2664
2665         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
2666         source/destination is not a register operand.
2667
2668 2003-08-08  Richard Henderson  <rth@redhat.com>
2669
2670         PR target/11535
2671         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
2672         RETURN_ADDRESS_POINTER_REGNUM.
2673         (ia64_expand_prologue): Don't frob it.
2674         (ia64_output_function_epilogue): Likewise.
2675         (ia64_return_addr_rtx): New.
2676         (ia64_split_return_addr_rtx): New.
2677         * config/ia64/ia64-protos.h: Update.
2678         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
2679         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
2680         (GENERAL_REGNO_P): Don't check it.
2681         (AR_*_REGNUM): Renumber.
2682         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
2683         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
2684         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
2685         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
2686         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
2687         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
2688         (movdi_ret_addr): New.
2689
2690 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
2691
2692         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
2693
2694 2003-08-08  Roger Sayle  <roger@eyesopen.com>
2695
2696         * tree.h (get_identifier) Define a macro form of get_identifier
2697         that calls get_identifier_with_length when the string is constant.
2698         (get_identifier_with_length): Change type of second argument to
2699         size_t in prototype.
2700         * stringpool.c (get_identifier): Undefine the macro before giving
2701         the function definition.
2702         (get_identifier_with_length): Change  type of second argument to
2703         size_t in function definition.
2704         * hashtable.c (calc_hash): Change type of second argument to size_t.
2705         (ht_lookup): Change type of third argument to size_t.  Reorganize
2706         to speed-up the cases where the hash table slot is empty, or the
2707         first probe matches (i.e. there isn't a collision).
2708         * hashtable.h (ht_lookup): Adjust function prototype.
2709
2710 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
2711
2712         PR target/9697
2713         PR target/11777
2714         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
2715
2716 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
2717
2718         * common.opt: Add debug switches.
2719         * flags.h (use_gnu_debug_info_extensions): Boolify.
2720         * opts.c (write_symbols, debug_info_level,
2721         use_gnu_debug_info_extensions): Move from toplev.c.
2722         (set_debug_level): New.
2723         (common_handle_options): Handle debug switches.
2724         (print_help): Display target options directly.
2725         * toplev.c (debug_hooks): Don't initialize.
2726         (write_symbols, debug_info_level,
2727         use_gnu_debug_info_extensions): Move to opts.c.
2728         (debug_args, display_help, decode_g_option): Remove.
2729         (process_options): Set no debug if level zero here,
2730         and no-debug-hooks.  Error here if impossible debug format selected.
2731         * toplev.h (display_help, decode_g_option): Remove.
2732
2733 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
2734
2735         * tree.c (get_file_function_name_long): Fix size of alloca() area.
2736
2737 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
2738
2739         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
2740         and gcc_cv_prog_cmp_skip.
2741         * configure: Regenerate.
2742
2743 2003-08-08  Stan Cox  <scox@redhat.com>
2744
2745         * config/iq2000: New port.
2746         * config.gcc (iq2000-*-elf): Added.
2747         * doc/install.texi (Specific):  Add iq2000 description.
2748
2749 2003-08-08  Andreas Schwab  <schwab@suse.de>
2750
2751         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
2752         and insert missing empty argument.
2753         * configure: Regenerate.
2754
2755 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2756
2757         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
2758         (attr_length_millicode_call): Likewise.
2759         (attr_length_call): Likewise.  Revise some maximum insn lengths.
2760         (attr_length_indirect_call): Likewise.
2761         (output_call): Fix thinko that added extra nop.
2762         * pa.h (IN_NAMED_SECTION_P): Define.
2763
2764         PR c++/11712
2765         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
2766         __STDC_EXT__ when using C++ dialect.
2767
2768 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
2769
2770         * sh.c (calc_live_regs): If the return address pointer is live,
2771         force pr live.
2772         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
2773         for saves / restores.
2774         (sh_expand_epilogue): If sh_media_register_for_return returns a
2775         register number, flag the instructions that restores PR_MEDIA_REG
2776         as possibly dead.
2777         Remove dead update of offset.
2778         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
2779         we can use the result of get_hard_reg_initial_val.
2780         * sh.md (UNSPEC_RA): New constant.
2781         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
2782         (load_ra).  Handle UNSPEC_RA.
2783         (sibcall_media): Use PR_MEDIA_REG.
2784
2785         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
2786         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
2787         needs saving on SHmedia.
2788
2789 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
2790
2791         * config/s390/s390.md: Replace all occurrences of \\t with \t.
2792
2793 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
2794
2795         * local-alloc.c (combine_regs): Fix comment typo.
2796
2797 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
2798
2799         * c-decl.c (builtin_decls): Replace with first_builtin_decl
2800         and last_builtin_decl.
2801         (c_init_decl_processing): Initialize both.
2802         (c_reset_state): Iterate from first_builtin_decl to
2803         last_builtin_decl inclusive to reintroduce builtins.
2804
2805 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
2806
2807         * doc/extend.texi (Function Attributes): Document the IA-64 version
2808         of the "model" attribute.
2809
2810         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
2811         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
2812         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
2813
2814         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
2815         (ia64_encode_section_info): Likewise.
2816         (ia64_attribute_table): Add "model" attribute.
2817         (TARGET_ENCODE_SECTION_INFO): Define.
2818         (small_addr_symbolic_operand): New function.
2819         (got_symbolic_operand): Return 0 for a symbolref to an object
2820         in the small address area.
2821         (enum ia64_addr_area): New type.
2822         (small_ident1): New variable.
2823         (small_ident2): Likewise.
2824         (init_idents): New function.
2825         (ia64_get_addr_area): Likewise.
2826         (ia64_encode_addr_area): Likewise.
2827         (ia64_encode_section_info): Likewise.
2828         (ia64_expand_load_address): For symbolic references to objects in
2829         the small-address-area, load the address via gen_rtx_SET() (which,
2830         eventually, will expand into "addl").
2831
2832 2003-08-06  Per Bothner  <pbothner@apple.com>
2833
2834         * line-map.h (fileline):  New typedef.
2835         (struct line_map, linemap_add, linemap_lookup):  Use it.
2836         * input.h (struct location_s):  Comment notes that long-term we want
2837         to replace it by fileline.
2838
2839 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
2840
2841         Fix SHcompact exception handling:
2842         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
2843         by the prologue, return a MEM with return_address_pointer_rtx
2844         as address.
2845         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
2846         (RETURN_ADDR_OFFSET): Don't define.
2847         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
2848         registers that are visible in compact mode.  Show that SHmedia
2849         registers still exist in compact mode, even if there are not
2850         readily accessible.
2851         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
2852         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
2853         and DW_EH_PE_pcrel for pic data.
2854         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
2855         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
2856         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
2857         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
2858         * sh.md (movsi_media-1): New splitter.
2859
2860 2003-08-06  Graeme Peterson <gp@qnx.com>
2861
2862         * config/i386/nto.h: New.
2863         * config/i386/t-nto: New.
2864         * config.gcc (i[34567]86-*-nto-qnx*): New.
2865
2866 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
2867
2868         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
2869
2870 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
2871
2872         * calls.c (load_register_parameters): Arrange for call_fusage to
2873         report the whole register as used when shifting to the msb.
2874
2875 2003-08-05  Roger Sayle  <roger@eyesopen.com>
2876
2877         * builtins.c (expand_builtin): When not optimizing, call the library
2878         function for all builtins that have library functions (except alloca).
2879
2880 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
2881
2882         * c.opt: Introduce -fworking-directory.
2883         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
2884         * c-common.h (flag_working_directory): Declare.
2885         * c-common.c (flag_working_directory): Define.
2886         * c-opts.c (c_common_handle_options): Set it.
2887         (sanitize_cpp_opts): Set...
2888         * cpplib.h (struct cpp_options): ... working_directory option.
2889         (struct cpp_callbacks): Add dir_change.
2890         * cppinit.c (read_original_filename): Call...
2891         (read_original_directory): New.  Look for # 1 "directory//"
2892         and process it.
2893         (cpp_read_main_file): Call dir_change callback if working_directory
2894         option is set.
2895         * gcc.c (cpp_unique_options): Pass -g*.
2896         * c-lex.c (cb_dir_change): New.
2897         (init_c_lex): Set dir_change callback.
2898         * toplev.c (src_pwd): New static variable.
2899         (set_src_pwd, get_src_pwd): New functions.
2900         * toplev.h (get_src_pwd, set_src_pwd): Declare.
2901         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
2902         * dwarf2out.c (gen_compile_unit_die): Likewise.
2903         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
2904
2905 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2906
2907         * pretty-print.h (pp_set_line_maximum_length): Make macro.
2908         (pp_set_prefix): Likewise.
2909         (pp_destroy_prefix): Likewise.
2910         (pp_remaining_character_count_for_line): Likewise.
2911         (pp_clear_output_area): Likewise.
2912         (pp_formatted_text): Likewise.
2913         (pp_last_position_in_text): Likewise.
2914         (pp_emit_prefix): Likewise.
2915         (pp_append_text): Likewise.
2916         (pp_flush): Likewise.
2917         (pp_format_text): Likewise.
2918         (pp_format_verbatim): Likewise.
2919         (pp_tree_identifier): Tidy.
2920         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
2921         (pp_base_format_verbatim): Rename from pp_format_verbatim.
2922         (pp_base_flush): Rename from pp_flush.
2923         (pp_base_set_line_maximum_length): Rename from
2924         pp_set_line_maximum_length.
2925         (pp_base_clear_output_area): Rename from pp_clear_output_area.
2926         (pp_base_set_prefix): Rename from pp_set_prefix.
2927         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
2928         (pp_base_emit_prefix): Rename from pp_emit_prefix.
2929         (pp_base_append_text): Rename from pp_append_text.
2930         (pp_base_formatted_text): Rename from pp_formatted_text.
2931         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
2932         (pp_base_remaining_character_count_for_line): Rename from
2933         pp_remaining_character_count_for_line.
2934         * diagnostic.h (diagnostic_format_decoder): Tidy.
2935         (diagnostic_flush_buffer): Likewise.
2936         * c-pretty-print.h: (pp_c_string_literal): Declare.
2937         (pp_c_real_literal): Likewise.
2938         (pp_c_integer_literal): Likewise.
2939         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
2940         pp_identifier.
2941         (pp_c_character_literal): Tidy.
2942         (pp_c_string_literal): Make public.
2943         (pp_c_bool_literal): Likewise.
2944         (pp_c_integer_literal): Likewise.
2945         (pp_c_real_literal): Likewise.
2946
2947         * Makefile.in (C_PRETTY_PRINT_H): New variable.
2948         (c-pretty-print.o): Update dependence.
2949
2950 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
2951
2952         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
2953         ".set nomacro" state.
2954         (fix_truncsfsi2_macro): Likewise.
2955
2956 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
2957
2958         * tree.h (DID_INLINE_FUNC): Remove macro.
2959         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
2960         add tree check for FUNCTION_DECL.
2961         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
2962         (struct tree_decl): Rename inlined_function_flag to
2963         declared_inline_flag.
2964         * c-common.h (c_lang_decl): Remove.
2965         (DECL_ESTIMATED_INSNS): Remove.
2966         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
2967         (DECL_DECLARED_INLINE_P): Remove.
2968         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
2969         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
2970         (finish_function): Make uninlinable a bool.  Fixup call to
2971         tree_inlinable_function_p() and fix some code style issues.
2972         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
2973         * cgraph.c (dump_cgraph): Likewise.
2974         * cgraphunit.c (cgraph_decide_inlining): Likewise
2975         (cgraph_finalize_compilation_unit): Likewise.
2976         Also update call to tree_inlinable_function_p().
2977         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
2978         look at DECL_DECLARED_INLINE and reverse logic.
2979         * print-tree.c (print_node): Likewise.
2980         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
2981         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
2982         prototype.
2983         * tree-inline.c (inlinable_function_p): Split up in this function to
2984         check for basic inlining inhibiting conditions, and new
2985         limits_allow_inlining() function.  Warn if inlining is impossible
2986         because the inline candidate calls alloca or uses sjlj exceptions.
2987         (limits_allow_inlining): this new function to check if the inlining
2988         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
2989         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
2990         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
2991         Update prototypes.
2992         (tree_inlinable_function_p): Make a bool.  Update call to
2993         inlinable_function_p
2994         (expand_call_inline): Use limits_allow_inlining() when not in
2995         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
2996         instead see if the function was declared `inline'.
2997
2998 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
2999
3000         * gcse.c (try_replace_reg): Fix updating of note.
3001
3002 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3003
3004         PR middle-end/11771
3005         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
3006         logic in negate_expr, i.e. we don't invert (A-B) for floating
3007         point types unless flag_unsafe_math_optimizations.
3008
3009 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3010
3011         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
3012         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
3013         for floating point expressions with -ffast-math.
3014         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
3015         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
3016
3017 2003-08-04  Roger Sayle  <roger@eyesopen.com>
3018
3019         * c-common.c (flag_noniso_default_format_attributes): Delete.
3020         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
3021         (c_attrs_initialized): Delete.
3022         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
3023         always call c_init_attributes.
3024         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
3025         set c_attrs_initialized when done.
3026         (c_common_insert_default_attributes): Delete.
3027         * c-common.h (flag_noniso_default_format_attributes): Delete.
3028         (c_coomon_insert_default_attributes): Delete prototype.
3029         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
3030         flag_noniso_default_format_attributes.
3031
3032         * c-decl.c (c_insert_default_attributes): Delete.
3033         * c-tree.h (c_insert_default_attributes): Delete prototype.
3034
3035         * attribs.c (decl_attributes): Don't call insert_default_attributes
3036         langhook.  Update function description comment.
3037         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3038         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3039         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3040         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3041
3042         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3043         define.
3044
3045 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
3046
3047         * config/mips/mips.c (override_options): Disable -G on targets that
3048         have no .section support.
3049         (mips_select_section): Use default_select_section for such targets.
3050
3051 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3052
3053         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3054         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3055         * fixinc/fixincl.x: Rebuild.
3056         * fixinc/tests/base/regexp.h: New test.
3057
3058 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
3059
3060         * c-ppoutput.c (cb_line_change): Don't skip line changing while
3061         parsing macro arguments in the top-level context.
3062
3063 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
3064
3065         * config.in: Remove HAVE_LSTAT.
3066         * configure, configure.in: Don't test for lstat.
3067
3068 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3069
3070         * opts.c (decode_options): Do language-specific initialization for
3071         the global diagnostic context.
3072         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3073         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3074         (LANG_HOOKS_INITIALIZER): Adjust.
3075         * langhooks.h (struct lang_hooks): Add new field
3076         initialize_diagnostics.
3077         * langhooks.c (lhd_initialize_diagnostics): Define.
3078
3079 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3080
3081         * pretty-print.h:   Adjust macro definitions.
3082         * pretty-print.c (pp_newline): Rename to pp_base_newline.
3083         (pp_character): Rename to pp_base_character.
3084         (pp_string): Rename to pp_base_string.
3085         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3086         (pp_newline):  Likewise.  Adjust.
3087         (pp_c_char): Adjust.
3088
3089 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3090
3091         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3092         BUILT_IN_LLABS): Move to miscellaneous section.
3093
3094 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
3095
3096         PR preprocessor/11534
3097         * cppexp.c (parse_defined): Warn only if -pedantic.
3098
3099 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
3100
3101         * cppfiles.c (stack_file): Use file path.
3102
3103 2003-08-02  Roger Sayle  <roger@eyesopen.com>
3104
3105         * builtin-types.def (BT_SSIZE): New primitive type.
3106         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
3107         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
3108         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
3109         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
3110         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
3111         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
3112         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
3113         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
3114         few functions that define default attributes using it.
3115         * c-common.c (c_common_insert_default_attributes): Do nothing.
3116
3117         * doc/extend.texi: Document these "new" builtins.
3118
3119 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
3120
3121         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
3122         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
3123         when -mieee-fp set and -shared not set.
3124         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
3125
3126 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
3127
3128         * cppfiles.c (struct _cpp_file): Rename once_only_next to
3129         next_file.  Remove import and pragma_once, add once_only.
3130         (find_file): Add new file structures to the all_files list.
3131         (should_stack_file): Mark #import-ed files once-only, and
3132         don't stack them if the file has already been stacked.
3133         (_cp_mark_file_once_only): Simplify.
3134         * cpphash.h (struct cpp_reader): Rename once_only_files
3135         to all_files.  Rename saw_pragma_once to seen_once_only.
3136         (_cpp_mark_file_once_only): Update prototype.
3137         * cpplib.c (do_pragma_once): Update.
3138
3139 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
3140
3141         * cppfiles.c (ENOTDIR): Remove.
3142         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
3143         other than ENOENT here.
3144         (once_only_file_p): Rename should_stack_file.
3145         (find_file, open_file_failed, read_file_guts): Report errors
3146         with full path name.
3147         (read_file): Move pch handling to should_stack_file.
3148         (should_stack_file): Handle PCH and once-only issues, and
3149         reading the file.
3150         (stack_file): Don't do file reads.
3151
3152 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3153
3154         * libgcov.c (gcov_exit): Cleanup and fix.
3155         * profile.c (compute_value_histograms): Don't try to read profiles
3156         that are not present.
3157
3158 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3159
3160         * builtins.def: Categorize.
3161
3162         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3163         Mind fp rounding.
3164         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
3165
3166 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
3167
3168         * config.gcc: Enable posix threads by default on darwin.
3169
3170 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
3171
3172         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
3173         even if nehedges1 is 0.
3174
3175 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
3176
3177         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
3178         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
3179         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
3180         and defintions.
3181
3182         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
3183         * fixinc/fixincl.x: Regenerate.
3184         * fixinc/tests/base/math.h: Regenerate to match test_text change.
3185
3186 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3187
3188         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
3189
3190 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3191
3192         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
3193         for accesses to exc_ptr.
3194
3195 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
3196
3197         * doc/sourcebuild.texi (Front End Directory): Don't make references
3198         to libsubdir, it's not part of the interface to frontends.
3199         * doc/install.texi (Configuration): Help users read faster by saying
3200         that GCC's configure options are the standard autoconf ones.
3201         Mention --libdir.  Update the default rules for finding the
3202         assembler.  Don't use libsubdir since we haven't said what it means.
3203         (Specific): In the Solaris 7 notes, update the place to put the
3204         assembler.
3205         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
3206         * doc/cpp.texi (Search Path): Actually, the search path
3207         depends on libdir, which can relocate with cpp.
3208         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
3209         now a private interface between the Makefile and the driver.
3210
3211 2003-08-01  Richard Henderson  <rth@redhat.com>
3212
3213         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
3214
3215         * varasm.c (lookup_constant_def): New function.
3216         * rtl.h (lookup_constant_def): Declare it.
3217         * dwarf2out.c (loc_descriptor_from_tree): Use it.
3218         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
3219
3220 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
3221
3222         * c-decl.c (gettags, pushdecl_function_level): Delete.
3223         (last_function_parm_vars): Rename last_function_parm_others.
3224         (current_function_parm_vars): Rename current_function_parm_others.
3225         (struct c_scope): Rewrite comment explaining this data structure.
3226         Add names_last, blocks_last, parms_last fields.  Rename
3227         incomplete_list to incomplete.
3228         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
3229         (poplevel): Ignore second argument.  No need to nreverse
3230         anything.  Restructure such that each list is processed
3231         exactly once.  Use 'const location_t *locus' syntactic sugar
3232         variable where useful.  Issue unused variable warnings
3233         ourselves, do not rely on function.c.
3234         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
3235         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
3236         (implicitly_declare): decl cannot be error_mark_node.
3237         (undeclared_variable): Manipulate scope structure directly.
3238         (c_make_fname_decl): Likewise.
3239         (getdecls, c_init_decl_processing): Fix comment.
3240         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
3241         for 'last' variable.
3242         (grokparms): No need to nreverse parms list.
3243         (store_parm_decls_newstyle): Set up the parms_last and
3244         names_last fields of the new scope too.
3245         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
3246         on parms to begin with; check this under ENABLE_CHECKING.  Set
3247         up parms_last.
3248         (check_for_loop_decls): Refer directly to current_scope->tags.
3249         Use consistent quote style in diagnostics.
3250         (c_write_global_declarations): The names list is not backward.
3251
3252         * c-common.h: Don't prototype gettags.
3253         * c-parse.in: Call poplevel with second argument 0 always.
3254
3255 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3256
3257         * builtins.def: Resort builtins.
3258
3259 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3260
3261         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
3262         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
3263         Prepend "__builtin_" onto NAME with string concatenation.  Remove
3264         explicit "__builtin_" from each macro call.
3265
3266         Reformat entire file.
3267
3268 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3269
3270         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3271         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
3272
3273 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
3274
3275         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
3276         CCL1, or CCL2 modes with floating point operations.
3277
3278         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
3279         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
3280         "*subdf3_cconly"): New insns.
3281         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
3282
3283 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
3284
3285         * Makefile.in: Refine dependencies.
3286         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
3287         * c.opt: Update help for -Wimport.
3288         * cppfiles.c: Include hashtab.h.  Update comments.
3289         (stack_file): Read the file before updating dependencies.
3290         (once_only_file_p): Be smarter about marking once-only files.
3291         (_cpp_mark_file_once_only): Correct the check for existence on
3292         the list.
3293         (open_file_failed): Use name not path, which is NULL.
3294         * cpphash.h: Don't include hashtab.h.
3295         (struct _cpp_file): Remove.
3296         (struct cpp_reader): Update.
3297         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
3298         * cpplib.h (struct cpp_options): Remove warn_import.
3299         (cpp_simplify_path): Remove.
3300
3301 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
3302
3303         PR c++/11295
3304         * doc/extend.texi (Statement Expressions): Document C++ semantics.
3305
3306 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
3307
3308         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
3309
3310 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3311
3312         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
3313         throughout.
3314         * builtins.def: Likewise.
3315
3316 2003-07-31  Jason Merrill  <jason@redhat.com>
3317
3318         * Makefile.in (bubblestrap): Don't require a previous full
3319         bootstrap.
3320
3321         * expr.c (mostly_zeros_p): No longer static.
3322         * tree.h: Declare it.
3323         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
3324         unless we need to do substitutions.
3325
3326 2003-07-31  Roger Sayle  <roger@eyesopen.com>
3327
3328         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
3329         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
3330         as pow(x,2.0) when the latter will be expanded back into x*x.
3331         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
3332         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
3333         pow can never set errno when used with an integer exponent.
3334         Always use expand_powi when exponent is -1, 0, 1 or 2.
3335         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
3336         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
3337         the pow forms of these expressions.
3338
3339 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
3340
3341         * Makefile.in (libexecdir): New.
3342         (libsubdir): Use gcc instead of gcc-lib.
3343         (libexecsubdir): New.
3344         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
3345         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
3346         gcc-lib.
3347         (installdirs): Make libexecsubdir.
3348         (install-common): Put executables in libexecsubdir.
3349         (itoolsdir): Use libexecsubdir.
3350         (itoolsdatadir): New.
3351         (install-mkheaders): Separate data files and executables.
3352         (install-collect2): Put executables in libexecsubdir.
3353         (uninstall): Remove libexecsubdir.
3354         * mkheaders.in: Update for new arrangement of files.
3355         (libexecdir): New.
3356         (libexecsubdir): New.
3357         (itoolsdir): Use libexecsubdir.
3358         (itoolsdatadir): New.
3359         * gcc.c (gcc_libexec_prefix): New.
3360         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
3361         (standard_exec_prefix_1): Use libexec.
3362         (standard_exec_prefix_2): New.
3363         (standard_libexec_prefix): New.
3364         (process_command): Update for new arrangement of files.  Compute
3365         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
3366
3367 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3368
3369         * inclhack.def (stdio_va_list): Avoid bogus replacement which
3370         triggers on Interix.
3371         * fixincl.x: Regenerate.
3372
3373 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
3374
3375         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
3376         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
3377
3378 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3379
3380         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
3381
3382 2003-07-31  Per Bothner  <pbothner@apple.com>
3383
3384         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
3385         (add_input_filename):  New function.
3386         (handle_options):  Call add_input_filename directly instead of
3387         with a lang hook.
3388         * opts.h (in_fnames, num_in_fnames):  Moved here.
3389         (add_input_filename):  Declare.
3390         * c-decl.c:  Need to #include opts.h.
3391         * Makefile.in (c-decl.o):  Also depends on opts.h.
3392         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
3393         (c_common_handle_filename):  Replaced by add_input_filename.
3394         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
3395         Remove.
3396         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
3397         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
3398         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
3399         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
3400
3401 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3402
3403         * combine.c (try_combine): Set JUMP_LABEL for newly created
3404         unconditional jump.
3405
3406 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3407
3408         * fold-const.c (fold): Fold some comparisons of bit operations.
3409
3410 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
3411
3412         * cgraph.c (create_edge): Fix typo.
3413         * i386.c (pic_symbolic_operand): Reorder tests.
3414
3415 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
3416
3417         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
3418         more fully.
3419         (Gcov Data Files): Update.
3420
3421 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3422
3423         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
3424         default.
3425
3426         * gthr-posix.c: New file.
3427         * gthr-posix.h: Define _REENTRANT if missing.
3428         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
3429
3430         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
3431         by gthr-posix.o.
3432         * config/alpha/t-osf-pthread: New file.
3433
3434         * fixinc/inclhack.def (alpha_pthread): New fix.
3435         * fixinc/fixincl.x: Regenerate.
3436         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
3437
3438         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
3439         warning.
3440         Fixes PR bootstrap/9330.
3441
3442 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3443
3444         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
3445         without GNU ld.
3446         Update comment.
3447         * configure: Regenerate.
3448
3449 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
3450
3451         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
3452         setter.
3453
3454 2003-07-30  Roger Sayle  <roger@eyesopen.com>
3455
3456         * builtins.def: Alphabetize.
3457
3458 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
3459
3460         * doc/c-tree.texi: Normalize spellings of "lowercase" and
3461         "uppercase".
3462         * doc/cpp.texi: Likewise.
3463         * doc/md.texi: Likewise.
3464         * doc/rtl.texi: Likewise.
3465         * doc/tm.texi: Likewise.
3466
3467 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
3468
3469         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
3470         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
3471         of cc1obj.
3472
3473 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
3474
3475         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
3476         macros before defining them.
3477
3478 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
3479
3480         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
3481         UNSPECV_BLOCKAGE): New constants.
3482         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
3483         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
3484         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
3485         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
3486
3487         (all insns and expanders): Write output control string as brace block
3488         where appropriate.  Remove \-escapes for doublequote characters.
3489
3490 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
3491
3492         * gcse.c (insert_store): Fix typo in previous patch.
3493
3494 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
3495
3496         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
3497
3498 2003-07-30  Andi Kleen  <ak@muc.de>
3499
3500         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
3501
3502 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3503
3504         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
3505         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
3506         GCOV_N_VALUE_COUNTERS): New.
3507         * profile.c (compute_value_histograms): New static function.
3508         (branch_prob): Read back the value histograms.
3509         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
3510         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
3511         * value-prof.c: Add comment on reading the profile.
3512         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
3513         * doc/invoke.texi (-fprofile-values): Document behavior with
3514         -fbranch-probabilities.
3515
3516 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
3517
3518         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
3519
3520 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
3521
3522         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
3523         symbolically.
3524
3525 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
3526
3527         * gcse.c (insert_store): Ignore fake edges.
3528
3529         * c-common.c (flag_vtable_gc): Kill.
3530         * c-common.g (flag_vtable_gc): Kill.
3531         * c-opts (c_common_handle_option): Kill.
3532         * c.opt (fvtable-gc): Kill.
3533         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
3534         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3535         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3536
3537         * invoke.texi (-ftable-gc): Kill documentation.
3538
3539         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
3540         just because function body is missing.
3541
3542         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
3543
3544 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
3545
3546         * unwind-sjlj.c: Fix typo in file description.
3547
3548 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
3549
3550         * calls.c (load_register_parameters): When shifting reg sized values
3551         to the msb, move the value to a reg first.
3552
3553 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
3554
3555         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
3556         * line-map.h (linemap_add): Update comments.
3557         * line-map.c (linemap_add): Update comments, interpret zero-length
3558         filename as "<stdin>".
3559
3560 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
3561
3562         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
3563
3564 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
3565
3566         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
3567         New static variables.
3568         (struct c_scope): Add parms and warned_forward_parm_decls
3569         fields; remove parm_order.
3570         (storedecls, storetags): Delete.
3571         (poplevel): Also clear bindings on the parms chain.
3572         (pushdecl): Handle forward declarations of parameters, and
3573         chain PARM_DECLs on the parms list, not the names list.
3574         (lookup_name_current_level): Check for PARM_DECLs on the parms
3575         list too.
3576         (push_parm_decl): Don't update parm_order.
3577         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
3578         warning, only once per parameter list, and set TREE_ASM_WRITTEN
3579         on the decls here.  Then move the forward decls to the names list.
3580         (grokparms): Set last_function_parm_vars.
3581         (get_parm_info): Don't use gettags or getdecls.  No need to
3582         extract non-parms from the parms list, or reorganize the parms
3583         list.  Feed nonparms back in the TREE_TYPE of the list node
3584         returned.  Issue only one error per parameter list for "void"
3585         appearing more than once in said parameter list.  Collapse
3586         parmlist_tags_warning into this function to avoid double scan
3587         of tags list.
3588         (start_function): Set current_function_parm_vars.
3589         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
3590         directly.  Get non-parms from current_function_parm_vars; no
3591         need to extract them from the parms chain.  Properly bind tags
3592         in the new scope.
3593         (store_parm_decls_oldstyle): No need to extract non-parameters
3594         from the parms chain, nor to store them back afterward.  Move
3595         declaration to top of function, restructure code reordering
3596         DECL_ARGUMENTS.
3597         (store_parm_decls): No need to save and restore warn_shadow.
3598         * c-parse.in: Don't call parmlist_tags_warning nor
3599         clear_parm_order.  Call mark_forward_parm_decls when forward
3600         parm decls are encountered.
3601         * c-tree.h: Prototype mark_forward_parm_decls; not
3602         clear_parm_order or parmlist_tags_warning.
3603
3604 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
3605
3606         * c-common.c (allow_pch): Remove.
3607         * c-common.h (allow_pch): Remove.
3608         (c_common_no_more_pch): Declare.
3609         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
3610         * c-pch.c: Include hosthooks.h.
3611         (c_common_valid_pch): Don't check allow_pch.
3612         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
3613         (c_common_no_more_pch): New.
3614         * ggc-common.c: Include hosthooks.h.
3615         (gt_pch_save): Call gt_pch_get_address.
3616         (gt_pch_restore): Call gt_pch_use_address.
3617         * hooks.c (hook_voidp_size_t_null): New.
3618         (hook_bool_voidp_size_t_false): New.
3619         * hooks.h (hook_voidp_size_t_null): New.
3620         (hook_bool_voidp_size_t_false): New.
3621         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
3622         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
3623         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
3624         HOST_HOOKS_GT_PCH_USE_ADDRESS.
3625         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
3626         gt_pch_use_address.
3627         * doc/hostconfig.texi (Host Common): Document
3628         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
3629         * Makefile.in (c-pch.o): Depend on hosthooks.h.
3630         (ggc-common.o): Likewise.
3631
3632         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
3633         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
3634         (pch_address_space): New.
3635         (darwin_rs6000_gt_pch_get_address): New.
3636         (darwin_rs6000_gt_pch_use_address): New.
3637
3638 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
3639
3640         PR preprocessor/11569
3641         PR preprocessor/11649
3642         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
3643         * cppfiles.c: Completely rewritten.
3644         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
3645         struct cpp_path is now struct cpp_dir.
3646         (remove_duplicates): Don't simplify path names.
3647         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
3648         cpp_stack_file.
3649         * cpphash.h: Include hashtab.h.
3650         (_cpp_file): Declare.
3651         (struct cpp_buffer): struct include_file is now struct _cpp_file,
3652         and struct cpp_path is now struct cpp_dir.  Rename members.
3653         (struct cpp_reader): Similarly.  New members once_only_files,
3654         file_hash, file_hash_entries, quote_ignores_source_dir,
3655         no_search_path, saw_pragma_once.  Remove all_include_files and
3656         max_include_len.  Make some members bool.
3657         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
3658         (_cpp_stack_file): Renamed from _cpp_read_file.
3659         (_cpp_stack_include): Renamed from _cpp_execute_include.
3660         (_cpp_init_files): Renamed from _cpp_init_includes.
3661         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
3662         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
3663         (cpp_read_next_file): Rename and move to cppfiles.c.
3664         (cpp_read_main_file): Update.
3665         * cpplib.c (run_directive): Update for renamed members.
3666         (do_include_common, _cpp_pop_buffer): Update.
3667         (do_import): Undeprecate #import.
3668         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
3669         * cpplib.h: Remove file_name_map_list.
3670         (cpp_options): Remove map_list.
3671         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
3672         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
3673
3674 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
3675
3676         * Makefile.in:  Make stamp-objdir safe for parallel builds.
3677
3678 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
3679
3680         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
3681         (info):  Depend on stmp-docobjdir.
3682
3683 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3684
3685         * configure: Regenerate.
3686
3687 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
3688
3689         PR C++/11131
3690         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
3691         in !unit-at-a-time mode.
3692
3693 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
3694
3695         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
3696         main function.
3697
3698 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
3699
3700         PR c++/11667
3701         * c-common.c (shorten_compare): Take into account differences
3702         between C and C++ representation for enumeration types.
3703         * tree.h (set_min_and_max_values_for_integral_type): Declare.
3704         * stor-layout.c (set_min_and_max_values_for_integral_type): New
3705         function, broken out from ...
3706         (fixup_signed_type): ... here and ...
3707         (fixup_unsigned_type): ... here.
3708
3709 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
3710
3711         * c-decl.c: Update commentary, adjust blank lines throughout.
3712         (struct c_scope): Fix indentation.  Reorder members so
3713         outer-context pointers come first, booleans last.
3714         (duplicate_decls, define_label): Use a 'locus' variable for
3715         diagnostic locations in a few more places.
3716         (warn_if_shadowing): Un-split a conditional that fits on one line.
3717         (c_init_decl_processing): No need to clear current_scope and
3718         current_function_scope.
3719         (start_decl): Merge if/else if statements with same action.
3720         (push_parm_decl): Rename old_immediate_size_expand to use
3721         save_foo convention; save/restore around entire function.
3722         (grokdeclarator): Remove unnecessary braces.
3723
3724 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
3725             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
3726
3727         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
3728         when warn_declaration_after_statement.  Call pedwarn_c90, not
3729         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
3730         * c-common.c (warn_declaration_after_statement): Define.
3731         * c-common.h (warn_declaration_after_statement): Declare.
3732         * c.opt (Wdeclaration-after-statement): New.
3733         * c-errors.c (pedwarn_c90): New function.
3734         * c-opts.c (c_common_handle_option) <case
3735         OPT_Wdeclaration_after_statement>: New.
3736         * c-tree.h (pedwarn_c90): Declare.
3737         * doc/invoke.texi (Option Summary): Document
3738         -Wdeclaration-after-statement.
3739         (Warning Options): Ditto.
3740
3741 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
3742
3743         * i386.md (memory attribute) Avoid accessing uninitialized memory
3744         for ishift1 type instructions.
3745
3746 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
3747
3748         * configure.in (--enable-checking): Add fold category.
3749         (ENABLE_FOLD_CHECKING): Define if requested.
3750         * configure: Rebuilt.
3751         * config.in: Rebuilt.
3752         * doc/install.texi: Document it.
3753         * fold-const.c: Include md5.h.
3754         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
3755         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
3756         print_fold_checksum): New functions.
3757
3758         * fold-const.c (fold): Never modify argument passed to fold, instead
3759         change a copy and return it.
3760         * convert.c (convert_to_integer): Likewise.
3761
3762 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
3763
3764         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
3765         cleanup of junk after #else and #endif directives.  Collapse repeated
3766         clauses into for statment.
3767
3768         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
3769
3770 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
3771
3772         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
3773         (keep_next_if_subblocks): Rename next_is_function_body.
3774         (pushlevel): Adjust commentary.  Always set ->keep on the
3775         outermost level of a function.  Don't set ->keep_if_subblocks.
3776         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
3777         (store_parm_decls): Adjust to match.
3778         (finish_function): Adjust to match.
3779         Call poplevel with all three arguments zero.
3780
3781         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
3782         New functions split out of store_parm_decls.
3783         Avoid unnecessary work. Use local variables consistently.
3784         (store_parm_decls): Likewise.
3785
3786         (finish_function): No need to set functionbody flag on call to
3787         poplevel.
3788         (struct language_function): Remove scope field.
3789         (c_push_function_context, c_pop_function_context): No need to
3790         save and restore current_scope.
3791
3792 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
3793
3794         * doc/extend.texi (Deprecated Features): Implicit typename is
3795         gone. Default args on types is going.
3796
3797 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
3798
3799         * Makefile.in (ifcvt.o): Depend on target.h
3800         * ifcvt.c (target.h): Include.
3801         (if_convert): Don't call mark_loop_exit_edges if we can't
3802         modify jumps.
3803
3804 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3805
3806         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
3807
3808 2003-07-26  Richard Henderson  <rth@redhat.com>
3809
3810         PR inline-asm/11676
3811         * cse.c (count_reg_usage): Handle asm_operands properly.
3812
3813 2003-07-26  Roger Sayle  <roger@eyesopen.com>
3814
3815         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
3816         (DEF_EXT_FALLBACK_BUILTIN): Delete.
3817         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
3818         the regular DEF_EXT_LIB_BUILTIN macro.
3819         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
3820         the regular DEF_LIB_BUILTIN macro.
3821         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
3822         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
3823         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
3824         DEF_EXT_LIB_BUILTIN macro.
3825
3826         * c-decl.c (duplicate_decls): Remove code to handle builtin
3827         functions prototyped without an argument list.
3828
3829 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
3830
3831         * config/i386/winnt.c: Revert 2003-07-08 change.
3832         (i386_pe_section_type_flags): Remove error_with_decl here too.
3833
3834 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3835
3836         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
3837         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
3838         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
3839         (v850_handle_data_area_attribute): Likewise.
3840
3841 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
3842
3843         * varasm.c (output_constant_def_contents): Use
3844         ASM_DECLARE_CONSTANT_NAME if defined.
3845         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
3846         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
3847         objects get at least one byte to prevent assembler problems.
3848         (ASM_DECLARE_CONSTANT_NAME): New.
3849
3850         * Makefile.in (libbackend.o): Remove options_.h.
3851         (mostlyclean): Likewise.
3852
3853         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
3854         insert a label at the end of an function under Mach-O.
3855
3856         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
3857
3858 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
3859
3860         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
3861         equality.
3862         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
3863
3864         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
3865
3866 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3867
3868         * doc/passes.texi (Passes): Mention pretty-printing and
3869         diagnostic files.
3870
3871 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
3872
3873         * doc/extend.texi (Function Attributes): GNU C++ does now allow
3874         unused parameter decls.
3875         (Attribute Syntax): GNU C++ does not allow label attributes to be
3876         after the ':'.
3877
3878 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3879
3880         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
3881         (objc_declare_class): Likewise.
3882         (error_with_ivar): Likewise.
3883         (start_class): Likewise.
3884         (warn_with_method): Likewise.
3885
3886 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3887
3888         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
3889         from GCC.
3890         * calls.c (try_to_integrate): Don't use xxx_with_decl.
3891         (expand_call): Likewise.
3892         * dwarfout.c (output_reg_number): Likewise.
3893         * expr.c (expand_expr): Likewise.
3894         * function.c (assign_temp): Likewise.
3895         (uninitialized_vars_warning): Likewise.
3896         (setjmp_args_warning): Likewise.
3897         (expand_function_end): Likewise.
3898         * stmt.c (fixup_gotos): Likewise.
3899         (warn_about_unused_variables): Likewise.
3900         (expand_end_bindings): Likewise.
3901         * stor-layout.c (layout_decl): Likewise.
3902         (place_field): Likewise.
3903         * toplev.c (check_global_declarations): Likewise.
3904         (rest_of_handle_inlining): Likewise.
3905         (default_tree_printer): New function.
3906         (general_init): Initialize diagnostic machinery before routing
3907         signals to the ICE machinery.  Set default tree printer.
3908         * toplev.h (pedwarn_with_decl): Remove declaration.
3909         (warning_with_decl): Likewise.
3910         (error_with_decl): Likewise.
3911         (pedwarn): Remove attribute for the time being.
3912         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
3913         * varasm.c (named_section): Likewise.
3914         (make_decl_rtl): Likewise.
3915         (assemble_variable): Likewise.
3916         (merge_weak): Likewise.
3917         (declare_weak): Likewise.
3918
3919         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
3920         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
3921         (format_with_decl): Remove.
3922         (diagnostic_for_decl): Likewise.
3923         (pedwarn_with_decl): Likewise.
3924         (warning_with_decl): Likewise.
3925         (error_with_decl): Likewise.
3926         (diagnostic_initialize): Adjust.
3927         (diagnostic_count_diagnostic): Likewise.
3928         (announce_function): Likewise.
3929         (lhd_print_error_function): Likewise.
3930         (diagnostic_report_current_module): Likewise.
3931         (default_diagnostic_starter): Likewise.
3932         (diagnostic_report_diagnostic): Likewise.
3933         (default_diagnostic_finalizer): Likewise.
3934         (verbatim): Likewise.
3935         (error): Likewise.
3936         (warning): Likewise.
3937         * opts.c (common_handle_option): Likewise.
3938         * pretty-print.c: New file.
3939         * c-pretty-print.h (pp_base): Override.
3940         * c-pretty-print.c: Adjust use of macros throughout.
3941         (pp_buffer): New macro.
3942         (pp_newline): Likewise.
3943         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
3944         * Makefile.in (DIAGNOSTIC_H): New variable.
3945         (c-errors.o): Use it.
3946         (c-objc-common.o): Likewise.
3947         (c-common.o): Likewise.
3948         (c-opts.o): Likewise.
3949         (c-format.o): Likewise.
3950         (diagnostic.o): Likewise.
3951         (opts.o): Likewise.
3952         (toplev.o): Likewise.
3953         (rtl-error.o): Likewise.
3954         (dwarf2out.o): Likewise.
3955         (jump.o): Likewise.
3956         (pretty-print.o): New rule.
3957
3958 2003-07-24  Roger Sayle  <roger@eyesopen.com>
3959
3960         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
3961         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
3962         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
3963         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
3964         (DEF_FRONT_END_LIB_BUILTIN): Delete.
3965         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
3966         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
3967
3968         * builtins.c (build_string_literal): New function to construct
3969         a char* pointer to a string literal.
3970         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
3971         "rtx target" to be consistent with other expand_builtin_* functions.
3972         Change 3rd argument from "int unlocked" to "bool unlocked".
3973         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
3974         c-common.c to avoid front-end dependencies.  Optimize printf("")
3975         as a no-op when the result isn't required.  Handle embedded NULs
3976         in format string.
3977         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
3978         from c-common.c to avoid front-end dependencies.  Likewise, optimize
3979         fprintf(fp,"") as a no-op when the result isn't required, evaluating
3980         fp for side-effects.  Handle embedded NULs in format string.
3981         (expand_builtin_sprintf): Fix typo.
3982         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
3983         optimizing.  Adjust calls of expand_builtin_fputs to match the API
3984         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
3985         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
3986         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
3987
3988         * c-common.c (is_valid_printf_arglist): Delete.
3989         (c_expand_builtin): Delete.
3990         (c_expand_builtin_printf): Moved to builtins.c. Delete.
3991         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
3992         (c_expand_expr): No longer treat CALL_EXPRs specially.
3993         (CALLED_AS_BUILT_IN): Delete.
3994
3995 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3996
3997         PR optimization/11631
3998         * gcse.c (store_motion): Connect infinite loops to exit.
3999
4000 2003-07-24  Jason Merrill  <jason@redhat.com>
4001
4002         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
4003         (boolean_true_node, boolean_false_node): Likewise.
4004         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
4005         * tree.c (build_common_tree_nodes): Init boolean_type_node.
4006         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
4007         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
4008         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
4009         (truthvalue_true_node): Renamed from boolean_true_node.
4010         (truthvalue_false_node): Renamed from boolean_false_node.
4011         * c-decl.c: Just set truthvalue_* to integer_*.
4012         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
4013
4014 2003-07-24  Roger Sayle  <roger@eyesopen.com>
4015
4016         * c-decl.c (match_builtin_function_types): New subroutine of
4017         duplicate_decls to test whether a redeclaration of a builtin
4018         function is suitably close, i.e. the return type and all of
4019         the argument types have the same modes as the builtin expects.
4020         (duplicate_decls): Fuzzy type matching for builtin functions
4021         moved to match_builtin_function_types.
4022
4023 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4024
4025         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
4026         flag correctly.
4027
4028 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
4029
4030         * c-decl.c: Search-and-replace change 'binding level' to
4031         'scope' in commentary.
4032         (struct binding_level): Now struct c_scope.
4033         (current_binding_level): Now current_scope.
4034         (free_binding_level): Now scope_freelist.
4035         (current_function_level): Now current_function_scope.
4036         (global_binding_level): Now global_scope.
4037         (make_binding_level): Now make_scope.
4038         (pop_binding_level): Now pop_scope.
4039
4040 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4041
4042         * configure.in (libgcc_visibility): Add missing whitespace.
4043
4044 2003-07-24  Richard Henderson  <rth@redhat.com>
4045
4046         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
4047         __gcc_personality_v0.
4048
4049 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4050
4051         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
4052
4053 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
4054
4055         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
4056         documentation missed from my 2003-07-09 patch.
4057
4058 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4059
4060         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
4061         it's not provided.
4062         * configure: Rebuild.
4063
4064 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
4065
4066         PR c/10602
4067         * c-typeck.c (type_lists_compatible_p): Do not compare
4068         arguments if one of them is an error_mark_node
4069
4070 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
4071
4072         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
4073         if current_function_calls_eh_return.
4074
4075 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
4076
4077         * doc/c-tree.texi (OFFSET_TYPE): Update description.
4078
4079 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
4080
4081         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
4082         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
4083         __umodsi3, __modsi3): Increase frame size to 32.
4084
4085 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
4086
4087         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
4088         prototype.
4089
4090 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
4091
4092         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
4093
4094         PR optimization/10679
4095         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
4096
4097 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4098
4099         PR target/11607 and PR target/11516
4100         * pa.md (extzv, extv, insv): Revert latter half of last patch.
4101
4102 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
4103
4104         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
4105         * varasam.c (output_constant): Likewise.
4106
4107 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
4108
4109         * alias.c: Fix comment formatting.
4110         * c-common.c: Likewise.
4111         * c-decl.c: Likewise.
4112         * c-opts.c: Likewise.
4113         * combine.c: Likewise.
4114         * cpplib.c: Likewise.
4115         * diagnostic.c: Likewise.
4116         * dojump.c: Likewise.
4117         * final.c: Likewise.
4118         * fold-const.c: Likewise.
4119         * gcc.c: Likewise.
4120         * gcse.c: Likewise.
4121         * ggc-page.c: Likewise.
4122         * jump.c: Likewise.
4123         * loop.c: Likewise.
4124         * mips-tfile.c: Likewise.
4125         * recog.c: Likewise.
4126         * regclass.c: Likewise.
4127         * regmove.c: Likewise.
4128         * tree.c: Likewise.
4129         * tree.h: Likewise.
4130
4131 2003-07-22  Per Bothner  <pbothner@apple.com>
4132
4133         * line-map.c (add_line_map):  Handle invalid LEAVE request.
4134         Fixes PR preprocessor/11361.
4135
4136 2003-07-22  Per Bothner  <pbothner@apple.com>
4137
4138         * diagnostic.c.(diagnostic_report_current_module):  Update to match
4139         2003-06-05 changes to push_srcloc and pop_srcloc.
4140
4141 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
4142
4143         * doc/trouble.texi: Better document two-stage name lookup.
4144
4145 2003-07-22  Eric Christopher <echristo@redhat.com>
4146
4147         * config/s390.c (s390_valid_pointer_mode): New.
4148         (TARGET_VALID_POINTER_MODE): Use.
4149         (s390_emit_prologue): Add tpf profiling hooks.
4150         (s390_emit_epilogue): Ditto.
4151         * config/s390.h (MASK_TPF): New.
4152         (TARGET_TPF): Use.
4153         (POINTERS_EXTEND_UNSIGNED): Define.
4154         * config/s390.md (ptr_extend): New pattern.
4155
4156 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
4157
4158         * hashtable.c (approx_sqrt): Make static.
4159         * hashtable.h: Don't prototype approx_sqrt.
4160         * line-map.c (init_line_maps): Rename linemap_init.
4161         (free_line_maps): Rename linemap_free.
4162         (add_line_map): Rename linemap_add.
4163         (lookup_line): Rename linemap_lookup.
4164         (print_containing_files): Rename linemap_print_containing_files.
4165         * linemap.h: Update to match.
4166
4167         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
4168         linemap routines to use new names.
4169
4170 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
4171
4172         * c-common.c (handle_packed_attribute): Don't pack a struct via a
4173         typedef. Propagate packedness from a main variant.
4174
4175 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
4176
4177         * Makefile.in (install-common): Add dependency on installdirs.
4178
4179 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
4180
4181         * c-common.c (c_common_type_for_mode): Return integer types for
4182         pointer modes.
4183
4184 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
4185
4186         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
4187         (finish_decl): Call maybe_apply_pragma_weak here.
4188         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
4189         TREE_PUBLIC and TREE_STATIC are decided.
4190         (start_function): Move call to maybe_apply_pragma_weak.  Check that
4191         DECL_ASSEMBLER_NAME isn't set too early.
4192
4193         * cpplex.c (_cpp_process_line_notes): Mention option name in
4194         trigraphs warning.
4195
4196 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
4197
4198         * combine.c (if_then_else_cond): Simplify the comparison of
4199         rtx against -1, 0, and 1.
4200         * loop.c (check_dbra_loop): Likewise.
4201         * optabs.c (emit_conditional_move): Likewise.
4202         (emit_conditional_add): Likewise.
4203         * config/i386/i386.md (*movsi_or): Likewise.
4204         (*movdi_or_rex6): Likewise.
4205
4206 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
4207
4208         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
4209
4210 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
4211
4212         * cppfiles.c (open_file_pch): Don't put unused entries in the
4213         splay tree.  Remove dead code.
4214
4215 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
4216
4217         * c-common.h (num_in_fnames): Declare.
4218         (c_static_assembler_name): Move from here...
4219         * c-tree.h (c_static_assembler_name): ... to here.
4220         * c-opts.c: Don't include langhooks-def.h.
4221         (c_static_assembler_name): Move to c-decl.c.
4222         (num_in_fnames): Make externally visible.
4223         * c-decl.c: Include langhooks-def.h.
4224         (c_static_assembler_name): Move from c-opts.c.
4225         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
4226         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
4227
4228         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
4229         when it's not needed.
4230
4231 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
4232
4233         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
4234         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
4235         (rs6000_emit_prologue): Save FPRs inline if set.
4236
4237 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
4238
4239         * config/ia64/ia64.md (prefetch): Support predicate.
4240
4241 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
4242
4243         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
4244         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
4245         table.
4246
4247 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
4248
4249         PR optimization/11536
4250         * unroll.c (loop_iterations): Do not replace a register holding
4251         the final value by its equivalent before the loop if it is not
4252         invariant.
4253
4254 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
4255
4256         * doc/extend.texi: Fixes to spelling, grammar, and diction.
4257
4258 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
4259
4260         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
4261         (V850 Options): Spelling fixes.
4262
4263 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
4264
4265         * doc/invoke.texi: Fixes to style, grammar and diction.
4266
4267 2003-07-20  Roger Sayle  <roger@eyesopen.com>
4268
4269         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
4270         * system.h (SMALL_STACK): Poison obsolete target macro.
4271         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
4272
4273 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
4274
4275         * configure.in:  Cache the results of testing for cmp's capabilities.
4276         * configure:  Regenerate.
4277
4278 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
4279
4280         PR debug/11279
4281         * dwarf2out.c (gen_enumeration_type_die): Remember that
4282         enumerators can be unsigned.
4283
4284 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
4285
4286         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
4287         (push_label_level, pop_label_level): Kill.
4288         (struct binding_level): Rename level_chain to outer.
4289         Add outer_function field.  Change parm_flag, function_body,
4290         keep, keep_if_subblocks to 1-bit bitfields of type bool.
4291         (current_function_level): New variable.
4292         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
4293         (keep_next_level, declare_parm_level, warn_if_shadowing):
4294         Update to match.
4295         (struct language_function): Kill named_labels, shadowed_labels fields.
4296         (c_init_decl_processing, start_function, c_push__function_context)
4297         (c_pop_function_context): No need to muck with named_labels nor
4298         shadowed_labels.
4299
4300         (make_binding_level): No need to clear the structure here.
4301         (pop_binding_level): Always operate on current_binding_level.
4302         Update current_function_level if necessary.
4303         (pushlevel): Don't clear named_labels.  Update current_function_level
4304         if necessary.  Use "true" and "false" where appropriate.
4305         (poplevel): Diagnose labels defined but not used, or vice
4306         versa, and clear out label-meanings leaving scope, while
4307         walking down the decls list, for all binding levels.
4308         Handle LABEL_DECLs appearing in the shadowed list.
4309         pop_binding_level takes no arguments.
4310         (pushdecl_function_level): Use current_function_level.
4311
4312         (make_label, bind_label): New static functions.
4313         (declare_label): New exported function.
4314         (lookup_label, define_label): Rewritten for new data structure.
4315         (shadow_label): Kill.
4316
4317         * c-tree.h: Prototype declare_label; don't prototype
4318         push_label_level, pop_label_level, nor shadow_label.
4319         * c-parse.in: Remove all calls to push_label_level and
4320         pop_label_level.  Use declare_label for __label__ decls.
4321
4322         * doc/extend.texi: Clarify that __label__ can be used to
4323         declare labels with local scope in any nested block, not
4324         just statement expressions.  Cross-reference nested functions
4325         section from local labels section.
4326
4327 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4328
4329         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
4330
4331 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
4332
4333         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
4334
4335 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4336
4337         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
4338         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
4339
4340 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
4341
4342         * config/s390/s390.c (legitimize_pic_address): Access local symbols
4343         relative to the GOT instead of relative to the literal pool base.
4344         (s390_output_symbolic_const): Handle new GOT-relative accesses.
4345         * config/s390/s390.md ("call"): Access local functions and PLT stubs
4346         relative to the GOT instead of relative to the literal pool base.
4347         ("call_value"): Likewise.
4348         ("call_value_tls"): Likewise.
4349
4350         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
4351         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
4352         (s390_chunkify_finish): Likewise.
4353         (s390_chunkify_cancel): Likewise.
4354         (s390_reorg): Adapt caller.
4355         (find_base_register_in_addr,
4356         find_base_register_ref, replace_base_register_ref): Delete.
4357         (find_ltrel_base, replace_ltrel_base): New functions.
4358         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
4359         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
4360         base vs. index register usage.
4361         (struct constant_pool): Remove 'anchor'.
4362         (s390_add_anchor): Delete.
4363         (s390_dump_pool): Remove anchor handling.
4364         * config/s390/s390.md ("reload_anchor"): Remove.
4365
4366         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
4367         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
4368         (s390_emit_prologue): Use it.
4369         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
4370         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
4371         hard-code register 14.
4372         * config/s390/s390-protos.h (s390_load_got): Declare.
4373
4374         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
4375         Support TImode constants.
4376         * config/s390/s390.md ("consttable_ti"): New.
4377         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
4378
4379         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
4380         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
4381         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
4382         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
4383         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
4384         New symbolic constants.
4385         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
4386         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
4387         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
4388         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
4389         symbolic UNSPEC values.
4390         * config/s390/s390.c (larl_operand, s390_short_displacement,
4391         bras_sym_operand, s390_cannot_force_const_mem,
4392         s390_delegitimize_address, s390_decompose_address,
4393         legitimize_pic_address, s390_output_symbolic_const,
4394         s390_function_profiler): Use symbolic UNSPEC values.
4395
4396 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4397
4398         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
4399         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
4400         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
4401         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
4402         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
4403         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
4404         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
4405         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
4406         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
4407         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
4408         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
4409         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
4410         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
4411         postreload.c prefix.c print-tree.c protoize.c ra-build.c
4412         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
4413         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
4414         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
4415         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
4416         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
4417         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
4418         casts.
4419
4420 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4421
4422         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
4423         * toplev.h (warning): Remove attribute.
4424
4425 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4426
4427         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
4428         (pop_label_level): Likewise.
4429         (duplicate_decls): Likewise.
4430         (implicitly_declare): Likewise.
4431         (shadow_label): Likewise.
4432         (start_decl): Likewise.
4433         (finish_decl): Likewise.
4434         (grokdeclarator): Likewise.
4435         (get_parm_info): Likewise.
4436         (detect_field_duplicates): Likewise.
4437         (finish_struct): Likewise.
4438         (start_function): Likewise.
4439         (store_parm_decls): Likewise.
4440         (finish_function): Likewise.
4441         (c_expand_body_1): Likewise.
4442         (check_for_loop_decls): Likewise.
4443         (merge_translation_unit_decls): Likewise.
4444
4445 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
4446
4447         * common.opt:  Document --param.
4448         * opts.c (columns, undocumented_msg): New.
4449         (print_help): Get number of columns from environment.  Print
4450         --param help.  Tweak newline handling.
4451         (print_param_help): New.
4452         (print_filtered_help): Better handling of duplicates.  Complain
4453         about undocumented switches.
4454         (print_switch): New.
4455         (wrap_help): Improve wrapping, use COLUMNS.
4456         * opts.sh: Ignore comments in records.
4457         * params.def: Fix typos and remove trailing periods.
4458         * toplev.c (display_help): Don't dump --param help.
4459         * doc/sourcebuild.texi: Update.
4460
4461 2003-07-18  Richard Henderson  <rth@redhat.com>
4462
4463         PR target/11556
4464         * optabs.c (prepare_operand): Fail gracefully instead of abort
4465         if the predicate doesn't satisfy.
4466         (gen_cond_trap): Allow prepare_operand to fail.
4467
4468 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4469
4470         * c-common.c: Don't undefine GCC_DIAG_STYLE.
4471         (fname_decl): Don't use xxx_with_decl.
4472         (c_add_case_label): Likewise.
4473         (handle_section_attribute): Likewise.
4474         (handle_alias_attribute): Likewise.
4475         (handle_no_instrument_function_attribute): Likewise.
4476         (handle_no_limit_stack_attribute): Likewise.
4477         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
4478         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
4479
4480 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4481
4482         * Makefile.in (ifcvt.o): Add cfgloop.h.
4483         * basic-block.h (EDGE_LOOP_EXIT): New flag.
4484         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
4485         * ifcvt.c: Include cfgloop.h.
4486         (mark_loop_exit_edges): New static function.
4487         (if_convert): Call it.
4488         (find_if_header): Ignore branches out of loops.
4489
4490 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
4491
4492         * combine.c (simplify_comparison): Don't share rtx when converting
4493         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
4494
4495 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
4496
4497         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
4498         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
4499         (MUST_PASS_IN_STACK): Define.
4500         (BLOCK_REG_PADDING): Define.
4501
4502 2003-07-18  Richard Henderson  <rth@redhat.com>
4503
4504         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
4505         to skip the addr_vec.
4506
4507 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
4508
4509         * combine.c (combinable_i3pat): Don't forbid occurrences of
4510         i2dest or i1dest in inner_dest if inner_dest is a mem.
4511
4512 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
4513
4514         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
4515
4516 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
4517
4518         PR target/11087
4519         * loop.c (basic_induction_var): Check if convert_modes emitted any
4520         instructions. Remove them and return 0 if so.
4521
4522 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4523
4524         PR optimization/11083
4525         * toplev.c (rest_of_handle_addresof): Rename into
4526         rest_of_handle_addressof.  Delete unreachable blocks
4527         if dead edges were purged after the addressof pass.
4528
4529 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
4530
4531         * Makefile.in, configure, configure.in: Remove handling of
4532         lang-options.h and options_.h.
4533         * toplev.c (struct lang_opt, documented_lang_options): Remove.
4534         (display_help): Don't use documented_lang_options.
4535
4536 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
4537
4538         * c-decl.c (pushdecl_function_level): Make static, return nothing.
4539         (kept_level_p): Fold into poplevel.
4540         (undeclared_variable): Moved here from c-typeck.c.  Export.
4541         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
4542         (undeclared_variable): Prototype here.  Don't prototype
4543         kept_level_p nor pushdecl_function_level.
4544         * c-parse.in: Change first argument to poplevel from
4545         "kept_level_p()" to "KEEP_MAYBE".
4546         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
4547
4548 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4549
4550         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
4551         commutative operands instead of modifying the RTL in-place.
4552
4553 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
4554
4555         PR optimization/11557
4556         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
4557         unless we know which function is being called.
4558
4559 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4560
4561         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
4562         whether to reorder the operands of a commutative binary operator.
4563
4564 2003-07-17  Roger Sayle  <roger@eyesopen.com>
4565
4566         * fold-const.c (const_binop): Avoid performing the FP operation at
4567         compile-time, if either operand is NaN and we honor signaling NaNs,
4568         or if we're dividing by zero and either flag_trapping_math is set
4569         or the desired mode doesn't support infinities.
4570         (fold_initializer): New function to fold an expression ignoring any
4571         potential run-time exceptions or traps.
4572         * tree.h (fold_initializer): Prototype here.
4573         * c-typeck.c (build_binary_op): Move to the end of the file so
4574         that intializer_stack is in scope.  If constructing an initializer,
4575         i.e. when initializer_stack is not NULL, use fold_initializer to
4576         fold expressions.
4577         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
4578         performing FP operations at compile-time, if they would raise an
4579         exception at run-time.
4580
4581 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
4582
4583         PR 11498
4584         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
4585         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
4586         (GTFILES): Add langhooks.c.
4587         (gt-langhooks.h): New.
4588         * c-common.h (c_static_assembler_name): Prototype.
4589         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
4590         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
4591         * c-opts.c: Include langhooks-def.h.
4592         (c_static_assembler_name): New.
4593         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
4594         (var_labelno): New.
4595         (lhd_set_decl_assembler_name): Give static objects with context
4596         unique names.
4597         * varasm.c (var_labelno): Delete.
4598         (make_decl_rtl): Don't change the assembler name once it's set.
4599
4600         * c-opts.c (this_input_filename): New.
4601         (finish_options): Take new parameter, name of file being compiled.
4602         Update callers.  Set this_input_filename.
4603         (push_command_line_include): Use this_input_filename not
4604         main_input_filename.
4605
4606 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
4607
4608         * Makefile.in: Depend .pot generation on options.c.
4609         * po/exgettext: Add an extra_files variable containing additional
4610         files to scan.
4611
4612 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
4613
4614         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
4615         c_write_global_declarations.
4616
4617         * c-decl.c: Fix typos in several comments.  Remove all
4618         #if 0 blocks; reindent as needed.  Remove unused argument
4619         to declare_parm_level; all callers changed.
4620         * c-parse.in: Update calls to declare_parm_level.  Avoid
4621         issuing a double warning in some circumstances.
4622         * c-typeck.c: Update calls to declare_parm_level.
4623         * c-tree.h: Update prototype of declare_parm_level.
4624
4625         * c-pragma.c (apply_pragma_weak): Don't complain about a
4626         redundant #pragma weak.
4627
4628         * objc/objc-act.c (forward_declare_categories,
4629         build_selector_reference_decl, build_class_reference_decl,
4630         build_objc_string_decl, synth_forward_declarations,
4631         build_protocol_reference): Set TREE_PUBLIC on synthetic
4632         forward decl to 0, consistent with eventual definition.
4633         Correct comments to match.
4634
4635         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
4636         in regexp that don't form a range expression.
4637         * fixinc/fixincl.def: Regenerate.
4638
4639 2003-07-17  Richard Henderson  <rth@redhat.com>
4640
4641         PR target/10907
4642         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
4643         even with !TARGET_CONST_GP.
4644         (ia64_function_ok_for_sibcall): Reject non-local functions.
4645
4646 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
4647
4648         * c-common.c (c_estimate_num_insns_1): Don't handle
4649         METHOD_CALL_EXPR.
4650         * expr.c (safe_from_p): Likewise.
4651         * gengtype.c (adjust_field_tree_exp): Likewise.
4652         * stmt.c (warn_if_unused_value): Likewise
4653         * tree.c (first_rtl_op): Likewise.
4654         * tree.def: Don't define METHOD_CALL_EXPR.
4655         * java/lang.c (java_estimate_num_insns_1): Don't handle
4656         METHOD_CALL_EXPR.
4657
4658 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
4659
4660         PR other/11466
4661         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
4662         and its restrictions for the SPARC64 port.
4663         Move the entry of "-mimpure-text" before that of "-mv8".
4664
4665 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
4666             Phil Edwards <phil@jaj.com>
4667
4668         * doc/install.texi (*-*-solaris2*): Document the step-by-step
4669         procedure to bootstrap and install.
4670         Document the preference for the legacy Sun tools in /usr/bin
4671         over the POSIX tools in /usr/xpg4/bin for the build process.
4672
4673 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
4674
4675         * c.opt: Document Uncodumented; use it.  Document ObjC options.
4676         * opts.c (print_filtered_help): Skip undocumented switches.
4677         * opts.h (CL_UNDOCUMENTED): New.
4678         * opts.sh: Handle Undocumented.
4679         * toplev.c (documented_lang_options): Prevent its becoming empty.
4680 objc:
4681         * lang-options.h: Remove.
4682
4683 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
4684
4685         * loop.c (check_ext_dependent_givs): Pass const struct loop *
4686         instead of struct loop_info * as argument.  Accept BIVs with
4687         increment +/- 1 provided there is a friendly exit test against
4688         a loop-invariant value.
4689         (strength_reduce): Adapt call to check_ext_dependent_givs.
4690
4691 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
4692             Con Bradley <con.bradley@superh.com>
4693
4694         * sh-protos.h (sh_get_pr_initial_val): Declare.
4695         * sh.c (regno_reg_class): Make its elements type enum reg_class.
4696         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
4697         and live_regs_mask arguments.  Changed all callers.
4698         (save_schedule_s): New structure.
4699         (save_schedule): New typedef.
4700         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
4701         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
4702         In interrupts handlers, also save registers that are usually
4703         partially saved, and make sure there is at least one general purpose
4704         register saved if a target register needs saving.
4705         Add casts in comparisons to avoid warnings.
4706         (sh_media_register_for_return): return -1 for interrupt handlers.
4707         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
4708         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
4709         registers used are available.
4710         Set RTX_FRAME_RELATED_P where appropriate.
4711         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
4712         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
4713         (initial_elimination_offset): Likewise.
4714         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
4715         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
4716         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
4717         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
4718         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
4719         and for target registers.
4720         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
4721         (regno_reg_class): Make its elements type enum reg_class.
4722         (CONSTRAINT_LEN): Don't use isdigit.
4723         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
4724         (FUNCTION_ARG): Add parentheses to avoid warnings.
4725         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
4726         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
4727         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
4728         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
4729         * sh.md (xordi3+1): Remove unused variable regno.
4730         (return_media): Check that tr0 is available before using it.
4731
4732 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
4733
4734         * c.opt: Document more options.
4735
4736 2003-07-16  Roger Sayle  <roger@eyesopen.com>
4737
4738         * combine.c (subst): Also handle (subreg (const_double ...)) case
4739         if created by a substitution, by using the original inner mode.
4740
4741 2003-07-16  Roger Sayle  <roger@eyesopen.com>
4742
4743         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
4744         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
4745         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
4746
4747 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
4748
4749         * doc/install.texi (--without-headers): New.
4750
4751         Partial Fix PR/10129
4752         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
4753         (machopic_output_function_base_name): New; print the true pic label.
4754         (machopic_classify_ident): Pic Base is always a defined data.
4755         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
4756         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
4757
4758         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
4759         if they are not floating point registers.
4760
4761         PR c/10962
4762         * ggc.h: Add header guards.
4763         * c-decl.c (finish_struct): Sort fields if
4764         number greater than 15 and there are no
4765         anonymous structs/unions.
4766         * c-common.h: Include ggc.h.
4767         (sorted_fields_type): New struct.
4768         (field_decl_cmp): New prototype.
4769         (resort_sorted_fields): New prototype.
4770         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
4771         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
4772         as s, removing other fields.
4773         * c-typeck.c (lookup_field): Use s in lang_type.
4774         These were mostly moved from cp/class.c:
4775         * c-common.c (field_decl_cmp): New static function.
4776         (field_decl_cmp): New function.
4777         (resort_sorted_fields): New function.
4778
4779 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
4780
4781         * config/darwin.c (machopic_select_section): Use decl_readonly_section
4782         to do most of the work.
4783
4784 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
4785
4786         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
4787         * config/mmix/mmix.c: Convert functions to ISO C90.
4788         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
4789         formatting.
4790         (mmix_get_hard_reg_initial_val): Tweak section head comment.
4791
4792 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
4793
4794         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
4795
4796 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
4797
4798         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
4799         (uw_update_context_1): Use it.
4800         * config/rs6000/rs6000.c (insn_after_throw): Remove.
4801         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
4802         in parent frame if _Unwind_* called directly instead of through
4803         .plt.
4804         (rs6000_emit_eh_toc_restore): Remove.
4805         (rs6000_emit_prologue): Update stack pointer before doing any saving
4806         if current_function_calls_eh_return.  Generate unwind info for $r2.
4807         (rs6000_emit_epilogue): Restore stack pointer after doing all
4808         restoring if current_function_calls_eh_return.  Restore $r2.
4809         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
4810         * config/rs6000/rs6000.md (eh_return): Remove call to
4811         rs6000_emit_eh_toc_restore.
4812         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
4813         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
4814
4815 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
4816
4817         * expr.c (emit_block_move): Don't move anything if size is const 0.
4818         (clear_storage): Test against const0_rtx instead of comparing INTVAL
4819         against 0.
4820
4821 2003-07-15  David S. Miller  <davem@redhat.com>
4822
4823         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
4824         emit nop if the last real insn is CALL_INSN.
4825
4826 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
4827
4828         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
4829         as "nul".
4830         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
4831
4832 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
4833
4834         * config/i386/winnt.c (associated_type): Artificial methods are not
4835         affected by the import/export status of their class unless they are
4836         COMDAT.
4837         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
4838
4839         * config/i386/winnt.c: Fix GCC copyright comment.
4840
4841 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
4842
4843         PR c++/11531
4844         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
4845         not recursing on hard error.
4846         (diagnostic_for_decl): Likewise.
4847         * diagnostic.def: Rearrange.
4848
4849 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
4850
4851         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
4852         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
4853
4854 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
4855             Richard Henderson  <rth@redhat.com>
4856
4857         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
4858         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
4859         (_Unwind_SetGR): Likewise.
4860         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
4861         (Unwind_SpTmp): New typedef.
4862         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
4863         (uw_update_context): Use _Unwind_GetPtr.
4864         (init_dwarf_reg_size_table): Move above uw_init_context_1.
4865         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
4866         Use _Unwind_SetSpColumn.
4867         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
4868         Use _Unwind_GetPtr.
4869
4870 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
4871
4872         * c.opt: Document more options.
4873         * toplev.c (documented_lang_options): Remove all local help strings.
4874
4875 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
4876
4877         PR debug/11473
4878         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
4879         base classes.
4880
4881 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
4882
4883         PR target/10795
4884         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
4885         swap comparison operands if doing so would generate an
4886         unrecognizable insn.
4887
4888 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
4889
4890         PR optimization/11320
4891         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
4892         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
4893         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
4894         current_sched_info->compute_jump_reg_dependencies. Record which
4895         registers are used and which registers are set by the jump.
4896         Clear deps->reg_conditional_sets after a barrier.
4897         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
4898         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
4899         (init_deps): Initialize reg_conditional_sets.
4900         (free_deps): Clear reg_conditional_sets.
4901         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
4902         Mark registers live on entry of the fallthrough block and conditionally
4903         set as set by the jump. Mark registers live on entry of non-fallthrough
4904         blocks as used by the jump.
4905         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
4906         Mark new parameters as unused.
4907
4908 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
4909
4910         * doc/invoke.texi: Resync MIPS -march documentation.
4911
4912 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
4913
4914         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
4915         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
4916         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
4917         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
4918         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
4919         (mips_issue_rate): Handle PROCESSOR_R9000.
4920         (mips_use_dfa_pipeline_interface): Likewise.
4921         * config/mips/9000.md: New file.
4922         * config/mips/mips.md: Include it.
4923         (define_attr cpu): Add r9000.
4924         (mulsi3_mult3): Use "mul" for rm9000 code.
4925
4926 2003-07-15  Stan Cox  <scox@redhat.com>
4927
4928         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
4929         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
4930         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
4931         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
4932         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
4933         (mips_issue_rate): Handle PROCESSOR_R7000.
4934         (mips_use_dfa_pipeline_interface): Likewise.
4935         * config/mips/7000.md: New file.
4936         * config/mips/mips.md: Include it.
4937         (define_attr cpu): Add r7000.
4938         (mulsi3_mult3): Use "mul" for rm7000 code.
4939
4940 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
4941
4942         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
4943         the conditional move patterns.
4944         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
4945         Check for condmove type.
4946         (ir_vr54_arith): Add move type.
4947         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
4948         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
4949
4950 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
4951
4952         * c-opts.c (print_help): Remove.
4953         (c_common_handle_option): Don't handle --help.
4954         * c.opt: Document some options.
4955         (--help): Remove.
4956         * opts.c (print_filtered_help): New.
4957         (print_help): Use it.
4958
4959 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
4960
4961         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
4962         * tree.c: (build_common_tree_nodes_2): Likewise.
4963         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
4964         (V4DF_type_node): New.
4965
4966         * c-opts.c (push_command_line_include): Don't free deferred_opts,
4967         we'll need it.
4968         (finish_options): Reset init_cursor.
4969
4970 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
4971
4972         * expr.c (expand_assignment): Remove an unused argument
4973         SUGGEST_REG.
4974         * expr.h: Update the prototype.
4975         * function.c: Update the callers.
4976         * stmt.c: Likewise.
4977
4978 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
4979
4980         PR debug/11098
4981         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
4982         as DECL_ABSTRACT.
4983
4984 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4985
4986         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
4987         with __cplusplus, not "we must use the C++ compiler's type"
4988         * fixinc/inclhack.def (void_null): Note that Interix needs this.
4989         * fixinc/fixincl.x: Regenerate.
4990
4991 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
4992
4993         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
4994         and unseen_objects from the global data before calling
4995         __deregister_frame_info_bases.
4996         (examine_objects): Insert objects into the seen_objects list,
4997         not unseen_objects.
4998         (_Unwind_Find_FDE): Always unlock the global object lists, even if
4999         we couldn't allocate a data structure to put in it.
5000
5001         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
5002         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
5003         (SET_TYPE_PROTOCOL_LIST): New.
5004         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
5005         (get_object_reference): Likewise.
5006
5007 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
5008
5009         * cfglayout.c (locator_file): Break out from ....
5010         (insn_file): ... here.
5011         (locator_line): Break out from ....
5012         (insn_line): ... here.
5013         * rtl.h (locator_file, locator_line): Declare.
5014         (final_start_function): Set proper line/file info.
5015
5016 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5017
5018         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
5019         handled by pp_c_cast_expression.
5020
5021 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5022
5023         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
5024         allocate 32768 bytes of stack.  Use addition rather than subtraction
5025         when a single insn is enough.
5026         * config/mips/mips.md: Remove insns and splitters for subtracting
5027         constants.
5028         (subsi3): Only accept register operands.
5029         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
5030         (subdi3_internal_3, subsi3_internal_2): Likewise.
5031         (casesi): Use expand_binop to subtract the lower bound.
5032
5033 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5034
5035         * config/mips/mips.c (mips_in_small_data_p): Don't handle
5036         TARGET_MIPS16 specially.
5037
5038 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
5039
5040         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
5041         mips_output_aligned_bss.
5042         * config/mips/linux.h: Likewise.
5043         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
5044         * config/mips/mips.c (mips_output_aligned_bss): New function.
5045
5046         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
5047         * config/mips/elf64.h: Likewise.
5048
5049         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
5050         mips_declare_object_name.
5051         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
5052         * config/mips/elf64.h: As for elf.h.
5053         * config/mips/iris6.h: Likewise.
5054         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
5055         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
5056         do...while (0) block.
5057         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
5058         (mips_finish_declare_object): Declare.
5059         * config/mips/mips.c (mips_declare_object_name): New function.
5060         (mips_finish_declare_object): New function.
5061
5062         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
5063         * config/mips/linux.h: Likewise.
5064
5065         * config/mips/mips.c (inside_function): Delete.
5066         (file_in_function_warning, ignore_line_number): Delete.
5067         (mips_output_filename): Don't warn about changing filenames within
5068         a function.
5069         (mips_output_lineno): Update accordingly.
5070         (mips_output_function_prologue): Don't reset the deleted variables.
5071         * config/mips/mips.h (inside_function): Delete.
5072         (file_in_function_warning, ignore_line_number): Delete.
5073
5074         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
5075         * config/mips/elf64.h: Likewise.
5076         * config/mips/openbsd.h: Likewise.
5077         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
5078         * config/mips/linux.h: Likewise.
5079         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
5080         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
5081
5082         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
5083         to the list of include files when using gas.
5084         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
5085         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
5086         * config/mips/elf64.h: Likewise.
5087         * config/mips/iris5.h: Likewise.
5088         * config/mips/linux.h: Likewise.
5089         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
5090         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
5091         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
5092         * config/mips/sdb.h: ...this new file.
5093
5094 2003-07-14  Douglas Rupp  <rupp@gnat.com>
5095
5096         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
5097         argument to getcwd; use fixed buffer instead.
5098
5099 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
5100
5101         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
5102         * fixinc/fixinc.wrap: Delete.
5103
5104 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
5105
5106         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
5107         don't have 2.
5108
5109 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
5110
5111         * ggc-page.c (struct globals): Add new fields to keep track of the
5112         total allocated memory and overhead.
5113         (ggc_print_statistics): Print them.
5114         (ggc_alloc): Keep track of the total allocated memory and the
5115         overhead.
5116
5117         * tree.c (dump_tree_statistics): Increase spacing.
5118         (enum tree_node_kind): Move to ...
5119         * tree.h (enum tree_node_kind): ... here.
5120         (tree_node_counts, tree_node_sizes): Declare.
5121
5122 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
5123
5124         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
5125
5126 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5127
5128         PR optimization/11440
5129         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
5130         SIGN_EXTRACT SETs.
5131
5132 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
5133
5134         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
5135         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
5136         (emit_group_load, emit_group_store): Adjust declarations.
5137         Remove most occurrences of #ifdef TREE_CODE.
5138         * expr.c (emit_group_load): Add "type" param, and use
5139         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
5140         aligned accesses if !SLOW_UNALIGNED_ACCESS.
5141         (emit_group_store): Likewise.
5142         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
5143         emit_group_load and emit_group_store calls.
5144         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
5145         BLOCK_REG_PADDING to determine whether we need endian_correction.
5146         (load_register_parameters): Localize vars.  Handle shifting of
5147         small values to the correct end of regs.  Adjust emit_group_load
5148         call.
5149         (expand_call, emit_library_call_value_1): Adjust emit_group_load
5150         and emit_group_store calls.
5151         * function.c (assign_parms): Set mem alignment for stack slots.
5152         Adjust emit_group_store call.  Store values at the "wrong" end
5153         of regs to the stack.  Use BLOCK_REG_PADDING.
5154         (locate_and_pad_parm): Save where_pad.
5155         (expand_function_end): Adjust emit_group_load call.
5156         * stmt.c (expand_value_return): Adjust emit_group_load call.
5157         * Makefile.in (calls.o): Depend on $(OPTABS_H).
5158         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
5159         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
5160         (MUST_PASS_IN_STACK): Define.
5161         (BLOCK_REG_PADDING): Define.
5162         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
5163         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
5164         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
5165         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
5166         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
5167
5168 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
5169
5170         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
5171
5172 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5173
5174         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
5175         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
5176
5177 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5178
5179         PR other/11123
5180         * toplev.c: Don't cut off option names.
5181
5182 2003-07-13  Andreas Jaeger  <aj@suse.de>
5183
5184         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
5185         to integer of different size.
5186
5187 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
5188
5189         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
5190         to (eq (and X 1) 0).
5191
5192 2003-07-13  Andreas Jaeger  <aj@suse.de>
5193
5194         * config.gcc: Add pmmintrin.h for x86_64-*-*.
5195
5196 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
5197
5198         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
5199         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
5200         list.  Move these all together down by cpplib.
5201
5202         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
5203         definition of CPPCHAR_SIGNED_T.
5204
5205         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
5206         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
5207         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
5208
5209         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
5210         * cppinit.c (cpp_create_reader): Likewise.
5211
5212         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
5213         * cpptrad.c: Likewise.  All callers changed.
5214         * cpplib.c: All callers changed.
5215         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
5216         * hashtable.h: Define GTY(x) to nothing here too.
5217
5218 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5219
5220         * stor-layout.c (compute_record_mode): Remove very obsolete test
5221         that forces BLKmode for records with fields crossing word boundary.
5222
5223 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
5224
5225         * Makefile.in: Remove orphan reference to acconfig.h.
5226
5227 2003-07-13  Andreas Jaeger  <aj@suse.de>
5228
5229         * cgraphunit.c: Convert prototypes to ISO C90.
5230
5231 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5232
5233         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
5234         (for OpenBSD).
5235         * fixinc/fixincl.x: Rebuild.
5236
5237 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
5238
5239         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
5240         i?86-*-*.  Use correct name of cache variable.
5241         * configure: Regenerate.
5242
5243 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
5244
5245         * config/alpha/alpha.c: Fix comment typos.
5246         * config/alpha/alpha.md: Likewise.
5247         * config/arm/arm.c: Likewise.
5248         * config/arm/arm.md: Likewise.
5249         * config/arm/lib1funcs.asm: Likewise.
5250         * config/avr/avr.md: Likewise.
5251         * config/arm/README-interworking: Fix typos.
5252
5253 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
5254
5255         * c-format.c: Fix comment formatting.
5256         * c-typeck.c: Likewise.
5257         * coverage.c: Likewise.
5258         * cppcharset.c: Likewise.
5259         * cpplib.c: Likewise.
5260         * dbxout.c: Likewise.
5261         * gcov-io.h: Likewise.
5262         * toplev.c: Likewise.
5263
5264 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5265
5266         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
5267         fix.
5268
5269 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
5270
5271         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
5272         uses three-argument AC_DEFINE so no acconfig.h entries are
5273         needed.
5274         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
5275         which contains the GAS version number as a scaled integer.
5276         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
5277         ability to check for ELF assembler.
5278         (gcc_GAS_CHECK_FEATURE): New macro.
5279         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
5280         assembler feature checks using gcc_GAS_CHECK_FEATURE.
5281         Use three-argument AC_DEFINE everywhere.
5282         * acconfig.h: Deleted.
5283         * config.in, configure: Regenerate.
5284
5285 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5286
5287         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
5288         (on OpenBSD).
5289         * fixinc/fixincl.x: Regenerate.
5290
5291         * fixinc/inclhack.def (gnu_types): Improve comment.
5292
5293 2003-07-12  Andreas Jaeger  <aj@suse.de>
5294
5295         * fp-test.c (main): Use ISO C90 prototype.
5296
5297         * version.c: Remove unneded include of ansidecl.h.
5298
5299         * cgraph.h: Convert prototypes to ISO C90.
5300         * cgraph.c: Likewise.
5301         * fix-header.c: Likewise.
5302         * ra.h: Likewise.
5303         * protoize.c: Likewise.
5304
5305 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
5306
5307         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
5308         warning.
5309
5310 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
5311                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5312
5313         * cgraph.c (cgraph_max_uid): New global variable.
5314         (cgraph_node): Set uid field.
5315         (create_edge): Keep inline flags consistent.
5316         (dump_cgraph): Dump more info.
5317         * cgraph.h (struct cgraph_local_info): Remove inline_many and
5318         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
5319         (struct cgraph_global_info): Add insns, calls, cloned_times,
5320         will_be_output.
5321         (struct cgraph_node): Add uid.
5322         (struct cgraph_edge): Add inline_call.
5323         (cgraph_max_uid, cgraph_inline_p): Declare.
5324         * cgraph.c: Include params.h and fibheap.h
5325         (cgraph_mark_functions_to_inline_once): Kill.
5326         (INSNS_PER_CALL): New constant.
5327         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
5328         static variables.
5329         (cgraph_finalize_function): Do not analyze inlining.
5330         (cgraph_finalize_compilation_unit): Set inlining attributes.
5331         (cgraph_mark_functions_to_output): More consistency checks.
5332         (cgraph_optimize_function): Set current_function_decl to NULL.
5333         (cgraph_expand_function): Use new inline flags.
5334         (cgraph_postorder): Expand from cgraph_expand_functions.
5335         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
5336         (cgraph_inlined_into, cgraph_inlined_callees,
5337         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
5338         cgraph_mark_inline, cgraph_check_inline_limits,
5339         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
5340         cgraph_decide_inlining, cgraph_inline_p): New functions.
5341         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
5342         PARAM_INLINE_UNIT_GROWTH): New parameters.
5343         * tree-inline.c (struct inline_data): New field current_decl.
5344         (expand_call_inline): Avoid forward declarations; use
5345         inlinable_function_p.
5346         (optimize_inline_calls): Set id.current_decl.
5347
5348 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
5349
5350         * configure.in: Remove wrongly added definition of
5351         local_prefix.
5352         * configure: Regenerate.
5353
5354 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
5355
5356         * rtl.def (NOTE): Do not use padding.
5357
5358 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
5359
5360         * doc/install.tex: Update required binutils for i?86-*-linux*
5361
5362 2003-07-11  Richard Henderson  <rth@redhat.com>
5363
5364         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
5365
5366 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
5367
5368         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
5369         TRANSLATION_UNIT_DECL as top_level.
5370
5371 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
5372
5373         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
5374         then fall back to cmpstrM.
5375         * builtins.c (expand_builtin_memcmp): Likewise.
5376         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
5377         (s390_expand_cmpmem): ... this.
5378         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
5379         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
5380         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
5381         to s390_expand_cmpmem.
5382         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
5383         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
5384         to cmpmem*.
5385         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
5386         cmpstr* patterns.
5387         * doc/md.texi (cmpstrM): Describe as String compare insn, not
5388         Block compare insn.
5389         (cmpmemM): Add.
5390
5391 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
5392
5393         * config/i386/freebsd.h (SET_ASM_OP): Remove.
5394         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
5395         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
5396          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
5397
5398 2003-07-11  Richard Henderson  <rth@redhat.com>
5399
5400         * function.c (assign_parms): Don't recombine complex args if
5401         fnargs is unchanged from orig_fnargs.
5402         (split_complex_args): Return args without complex before copying.
5403         Re-layout the modified parameters.
5404
5405 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
5406
5407         * regclass.c (choose_hard_reg_mode): Add third argument.
5408         Changed all callers.
5409         * rtl.h (choose_hard_reg_mode): Update declaration.
5410         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
5411         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
5412
5413 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
5414
5415         * c-decl.c (finish_decl): Handle 'used' here...
5416         * cgraphunit.c (cgraph_finalize_function): ... and here ...
5417         * c-common.c: (handle_used_attribute): ... not here.
5418
5419         * configure.in (onstep): Support --enable-intermodule.
5420         * Makefile.in (OBJS-common): New.
5421         (OBJS-md): New.
5422         (OBJS-archive): New.
5423         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
5424         (OBJS-onestep): New.
5425         (libbackend.a): Support @onestep@.
5426         (libbackend.o): New.
5427         * configure: Regenerate.
5428
5429         * c-common.h (c_reset_state): New prototype.
5430         (c_parse_file): New prototype.
5431         (finish_file): Move prototype from c-tree.h.
5432         * c-decl.c: Include <hashtab.h>.
5433         (builtin_decls): New.
5434         (current_file_decl): New.
5435         (duplicate_decls): Add extra parameter. Change all callers.  Don't
5436         output duplicate common symbols.
5437         (link_hash_hash): New.
5438         (link_hash_eq): New.
5439         (poplevel): Handle popping of the top level.
5440         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
5441         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
5442         (pushdecl_top_level): Likewise.
5443         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
5444         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
5445         (finish_decl): Handle TRANSLATION_UNIT_DECL.
5446         (merge_translation_unit_decls): New.
5447         (c_write_global_declarations): New.
5448         (c_reset_state): New.
5449         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
5450         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
5451         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
5452         TRANSLATION_UNIT_DECL.
5453         (c_objc_common_finish_file): Call merge_translation_unit_decls.
5454         * c-opts.c (in_fnames): Rename from in_fname.
5455         (c_common_decode_option): Handle multiple input filenames.
5456         (c_common_post_options): Likewise.
5457         (c_common_parse_file): Likewise; also, call c_parse_file rather than
5458         yyparse.
5459         * c-parse.in: Move cleanup code to c_parse_file.
5460         (free_parser_stacks): Move contents to c_parse_file.
5461         (c_parse_file): New.
5462         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
5463         for integer types.
5464         (C_DECL_FILE_SCOPE): New.
5465         (finish_file): Move prototype to c-common.h.
5466         (merge_translation_unit_decls): New prototype.
5467         (comptypes): Add extra parameter to prototype.
5468         (c_write_global_declarations): New prototype.
5469         * c-typeck.c (tagged_types_tu_compatible_p): New.
5470         (function_types_compatible_p): Add extra parameter, change all callers.
5471         (type_lists_compatible_p): Likewise.
5472         (comptypes): Likewise.
5473         (struct tagged_tu_seen): New.
5474         (tagged_tu_seen_base): New.
5475         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
5476         (c_mark_addressable): Remove #if 0 code.
5477         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
5478         comment explaining why it shouldn't have to.
5479         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
5480         options.
5481         * cppinit.c (cpp_read_next_file): New.
5482         (cpp_read_main_file): Use it.
5483         * cpplib.c (undefine_macros): New.
5484         (cpp_undef_all): New.
5485         * cpplib.h (cpp_read_next_file): Prototype.
5486         (cpp_undef_all): Prototype.
5487         * langhooks-def.h (write_global_declarations): Remove prototype.
5488         * toplev.h (write_global_declarations): Add prototype.
5489         * tree.c (decl_type_context): Use switch statement, handle
5490         TRANSLATION_UNIT_DECL.
5491         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
5492         (TRANSLATION_UNIT_DECL): New kind of tree.
5493         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
5494         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
5495         * doc/invoke.texi: Make attempt to document new functionality.
5496
5497         2003-05-19  Per Bothner <bothner@apple.com>
5498
5499         * gcc.c (combine_inputs): New.
5500         (process_command): Set combine_inputs.
5501         (do_spec_1): Handle combine_inputs.
5502         (main): Likewise.
5503
5504 2003-07-10  James E Wilson  <wilson@tuliptree.org>
5505
5506         PR optimization/9745
5507         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
5508         loop_insn_emit_before.
5509         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
5510
5511 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
5512
5513         * cppcharset.c: Fix comment.
5514         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
5515         (EILSEQ): #define to EINVAL if not already defined.
5516         (convert_using_iconv): #if out when !HAVE_ICONV.
5517         (init_iconv_desc): Handle !HAVE_ICONV here...
5518         (cpp_init_iconv): ...not here.
5519
5520 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
5521
5522         * common.opt: More --help messages.
5523         * opts.c (print_help): Use puts().
5524         * toplev.c (f_options): Remove help text.
5525         (display_help): Don't dump f_options.
5526
5527 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
5528
5529         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
5530         Move i?86-*-interix* to the don't-fix list.
5531         * fixinc/fixinc.interix: Delete with extreme prejudice.
5532
5533 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
5534
5535         PR bootstrap/10758
5536         * doc/install.texi: Document requirements for ia64-*-hpux* target.
5537
5538 2003-07-10  Roger Sayle  <roger@eyesopen.com>
5539
5540         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
5541
5542 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
5543
5544         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
5545         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
5546         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
5547         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
5548         convert_no_conversion, convert_using_iconv): New functions.
5549         (APPLY_CONVERSION): New macro.
5550         (struct conversion, conversion_tab): New data structure.
5551         (init_iconv_desc): Check conversion_tab for a custom conversion
5552         primitive before trying to use iconv.
5553         (convert_cset): Deleted.
5554         (cpp_init_iconv): Use UTF- terminology, not UCS-.
5555         (_cpp_destroy_iconv): Update to match.
5556         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
5557         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
5558         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
5559         (_cpp_interpret_string_notranslate): New function, moved here
5560         from cpplib.c.
5561
5562         * cpphash.h (convert_f, struct cset_converter): New types.
5563         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
5564         are now struct cset_converter, not bare iconv_t.
5565         Update prototypes.
5566         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
5567         all callers changed.
5568
5569 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
5570
5571         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
5572         to opts.sh command line.
5573         * opts.sh: Write to temporary files with a move-if-change at the end.
5574
5575 2003-07-10  Denis Chertykov  <denisc@overta.ru>
5576             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5577
5578         * combine.c (gen_binary): Handle the CLOBBER rtx and
5579         don't build a binary operation with it.
5580
5581 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5582
5583         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
5584         store_killed_after, store_killed_before): Keep track of the correct
5585         dependency function to use.
5586
5587 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
5588         * toplev.c (do_compile): Don't try to open dump files before
5589         lang_dependent_init initializes dump_base_name.
5590
5591 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5592
5593         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
5594         Use ARRAY_SIZE.
5595         * config/frv/frv.c (frv_expand_builtin): Likewise.
5596         * config/sh/sh.c (sh_media_init_builtins): Likewise.
5597
5598 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
5599
5600         PR c++/10032
5601         * doc/invoke.texi (C++ Dialect Options): Change documentation of
5602         -fpermissive.
5603
5604 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
5605
5606         * tm.texi (RETURN_ADDR_OFFSET): Document.
5607
5608 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
5609
5610         * gcov-io.h: Update documentation.
5611         (GCOV_UNSIGNED2STRING): New.
5612         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
5613         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
5614         GCOV_TAG_SUMMARY_LENGTH): Adjust.
5615         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
5616         GCOV_TAG_COUNTER_NUM): New.
5617         (GCOV_BLOCK_SIZE): Number of words.
5618         (gcov_var): Adjust buffer type.
5619         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
5620         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
5621         count, not byte count.
5622         (gcov_open): Adjust overread init.
5623         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
5624         gcov_write_string, gcov_write_tag, gcov_write_length,
5625         gcov_write_tag_length): Adjust.
5626         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
5627         (gcov_sync, gcov_seek): Adjust.
5628         * gcov-dump.c (print_usage): Show gcc version only.
5629         (dump_file): Use GCOV_UNSIGNED2STRING.
5630         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
5631         * gcov.c (print_version): Show gcc version only.
5632         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
5633         GCOV_TAG_*_NUM macros.
5634         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
5635         GCOV_TAG_COUNTER_LENGTH.
5636         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
5637         Use GCOV_TAG_COUNTER_NUM.
5638         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
5639         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
5640
5641 2003-07-10  Andreas Schwab  <schwab@suse.de>
5642
5643         * gcov-dump.c (dump_file): Fix missing address operator.
5644
5645 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
5646
5647         PR c/11449
5648         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
5649         of HOST_WIDE_INT.
5650         (fold_single_bit_test): If sign_bit_p() fails, assume that the
5651         bit being tested is not a sign bit.
5652
5653 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
5654
5655         * config/h8300/h8300.md (a peephole2): New.
5656
5657 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
5658
5659         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
5660         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
5661         from ld-linux.so.2 to ld.so.1.
5662         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
5663         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
5664         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
5665         nor -Wl,-rpath-link.
5666         (LIB_SPEC): Add -rpath-link if !static.
5667         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
5668         * config/mn10300/mn10300.c (mn10300_protect_label): New
5669         variable.
5670         * config/mn10300/linux.h (PRINT_OPERAND,
5671         PRINT_OPERAND_ADDRESS): Set it during their execution.
5672         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
5673         mn10300_protect_label is set.
5674         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
5675         -Wl,-rpath-link.
5676         (LIB_SPEC, STARTFILE_SPEC): Define.
5677         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
5678         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
5679         FLOAT_BIT_ORDER_MISMATCH.
5680         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
5681         * config.gcc (am33_2.0-*-linux*): Added.
5682         * config/mn10300/linux.h: New.
5683         * config/mn10300/t-linux: New.
5684
5685 2003-07-10  Andreas Jaeger  <aj@suse.de>
5686
5687         * fold-const.c: Properly wrap prototypes.
5688
5689 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
5690
5691         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
5692         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
5693         Moved from...
5694         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
5695         * config/mn10300/mn10300.h: GTY-declare it.
5696         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
5697         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
5698         prototype.  Use incoming RTL argument.
5699         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5700         * config/mn10300/mn10300.md (int_label): Move C statements...
5701         (GOTaddr2picreg): ... here.
5702         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
5703         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
5704         * config/mn10300/mn10300.c (mn10300_encode_section_info):
5705         ... here.  New function.
5706         (TARGET_ENCODE_SECTION_INFO): Define to it.
5707         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
5708         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
5709         pattern name.
5710         (mn10300_loadPC): Define as insn splittable after reload.
5711         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
5712         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
5713         be defined in .rodata even in PIC, now that the assembler
5714         supports that.
5715         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
5716         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
5717         symbol take an underscore prefix.
5718         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
5719         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
5720         legitimize_pic_address): Declare.
5721         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
5722         the PIC register as fixed.
5723         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
5724         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
5725         PIC.
5726         (LEGITIMATE_PIC_OPERAND_P): Define.
5727         (PIC_OFFSET_TABLE_REGNUM): Define.
5728         (GOT_SYMBOL_NAME): Define.
5729         (SYMBOLIC_CONST_P): Define.
5730         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
5731         symbols.
5732         (MN10300_GLOBAL_P): Test it.
5733         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
5734         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
5735         * config/mn10300/mn10300.c (print_operand): Handle unspec.
5736         (expand_prologue): Set PIC register.
5737         (call_address_operand): Don't match SYMBOL_REFs in PIC.
5738         (legitimize_address): Call legitimize_pic_address.
5739         (legitimize_pic_address): New fn.
5740         (legitimate_pic_operand_p): New fn.
5741         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
5742         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
5743         UNSPEC_PLT): New constants.
5744         (pop_pic_reg): New insn.
5745         (movsi): Adjust non-PIC addresses.
5746         (builtin_setjmp_receiver): Restore the PIC register.
5747         (casesi): New insn.
5748         (call): Adjust non-PIC addresses.
5749         (int_label, GOTaddr2picreg): New expands.
5750         (am33_loadPC): New insn.
5751         (mn10300_loadPC): New expand.
5752         (call_next_insn): New insn.
5753         (add_GOT_to_pic_reg): New expand.
5754         (symGOT2reg, symGOT2reg_i): New expands.
5755         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
5756         (sym2PIC, sym2PLT): New expands.
5757
5758 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
5759
5760         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
5761         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
5762         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
5763         to flag_unsafe_math_optimizations.
5764         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
5765         * config/mn10300/mn10300.c (expand_prologue): Mark
5766         FP-register-saving insns as frame-related.
5767         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
5768         * config/mn10300/mn10300.c
5769         (mn10300_get_live_callee_saved_regs): Don't search past
5770         LAST_EXTENDED_REGNUM.
5771         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
5772         * config/mn10300/mn10300.md: Remove excessive line breaks from
5773         `@' output patterns that were accounted as additional
5774         alternatives.
5775         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
5776         Re-introduce changes accidentally removed in Richard Sandiford's
5777         2000-12-05's patch.
5778         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
5779         Re-instate am33-2 lost in merge from net GCC.
5780         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
5781         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
5782         floating-point registers.
5783         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
5784         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
5785         pessimizations that had gone in on 2000-05-08.
5786         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
5787         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
5788         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
5789         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
5790         operand 0.
5791         * (movhi): Likewise.
5792         * (movsi): Likewise.
5793         * (movsf): Likewise.
5794         * (movdi): Likewise.
5795         * (movdf): Likewise.
5796         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
5797         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
5798         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
5799         (expand_prologue, expand_epilogue): Save and restore FP regs.
5800         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
5801         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
5802         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
5803         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
5804         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
5805         Do not clobber cc0.
5806         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
5807         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
5808         Discourage the two-argument, longer opcodes.
5809         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
5810         ones.
5811         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
5812         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
5813         * config/mn10300/mn10300.md (cmpsf): New pattern.
5814         (branch): Test mdep.fpCC and output fbCC.
5815         * config/mn10300/mn10300.c (print_operand): Output conditions.
5816         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
5817         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
5818         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
5819         mulsf3, divsf3): Use the `F' constraint for FP values.
5820         * config/mn10300/mn10300.c (const_1f_operand): New function.
5821         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
5822         * config/mn10300/mn10300.md (sqrtsf2): New expand.
5823         (rsqrtsf2): New insn.
5824         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
5825         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
5826         previous check-in.
5827         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
5828         * config/mn10300/mn10300.md (abssf2, negdf2): On
5829         TARGET_AM33_2, expand to...
5830         (abssf2_am33_2, negdf2_am33_2): New insns.
5831         (addsf3, subsf3, mulsf3, divsf3): Likewise.
5832         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
5833         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
5834         movdi, movdf): Added FP regs.
5835         * invoke.texi (-mam33-2, -mno-am33-2): Document.
5836         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
5837         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
5838         New macros.
5839         (REGNO_AM33_2_FP_P): Renamed to...
5840         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
5841         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
5842         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
5843         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
5844         regs from GENERAL_REGS.
5845         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
5846         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
5847         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
5848         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
5849         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
5850         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
5851         as FP_REGS.
5852         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
5853         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
5854         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
5855         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
5856         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
5857         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
5858         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
5859         AM33/2.0 floating-point registers.
5860         (CONDITIONAL_REGISTER_USAGE): Adjust.
5861         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
5862         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
5863         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
5864         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
5865         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
5866         (MULTILIB_DIRNAMES): Likewise.
5867         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
5868         `__AM33_2__' when `-mam33-2' is given.
5869         (TARGET_AM33_2): Define.
5870         (TARGET_SWITCHES): Adjust.
5871         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
5872         when appropriate.
5873
5874 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
5875
5876         * doc/install.texi: Add missing @.
5877
5878 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
5879
5880         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
5881
5882 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
5883
5884         PR/11144
5885         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
5886
5887 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
5888
5889         PR bootstrap/11043
5890         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
5891         "x-crtfini.o" with "crtinit.o", "crtfini.o".
5892
5893         * fixinc/inclhack.def (limits_ifndefs): Add select test.
5894         * fixinc/fixincl.x: Rebuild.
5895
5896         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
5897         * fixinc/fixincl.x: Rebuild.
5898
5899 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
5900
5901         * doc/install.texi (Configuration): Document the valgrind option
5902         to --enable-checking.
5903
5904 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
5905
5906         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
5907
5908 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5909
5910         * c-lex.c (cb_ident): Cast cstr.text to const char *.
5911
5912 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
5913
5914         * gcov-io.h: Update documentation.
5915         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
5916         GCOV_NOTE_MAGIC.
5917         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
5918         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
5919         (struct gcov_var): Change buffer's type. Add endian flag.
5920         (gcov_open): Remove mode in libgcov.
5921         (gcov_magic): Prototype.
5922         * gcov-io.c (from_file): New.
5923         (gcov_open): Clear endian flag.
5924         (gcov_magic): New.
5925         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
5926         pointers.
5927         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
5928         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
5929         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
5930         * gcov-iov.c (main): Correct cast.
5931         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
5932         conversion.
5933         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
5934         (coverage_init): Use GCOV_NOTE_SUFFIX.
5935         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
5936         Rename to gcov_version, and return flag.
5937         (gcov_exit): Use gcov_version.
5938         (__gcov_init): Use gcov_version.
5939         * Makefile.in (coverageexts): Update.
5940         * gcov.c (print_version): Remove endianness conversion.
5941         (create_file_names): Use GCOV_NOTE_SUFFIX.
5942         (read_graph_file): Use gcov_magic.
5943         (read_count_file): Likewise.
5944         * gcov-dump.c (dump_file): Remove endianness conversion, use
5945         gcov_magic.
5946
5947 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
5948
5949         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
5950         coverage is on.
5951         * configure: Regenerated.
5952         * Makefile.in (ALL_CFLAGS): Correct its comment.
5953
5954 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
5955
5956         * fold-const.c (make_range): Do not access operand 1 for a
5957         zero-operand operator.
5958
5959 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
5960
5961         * toplev.c (warn_dummy, W_options): Die.
5962         (display_help): Don't print W_options.
5963         * common.opt: Add W_options help from toplev.c.
5964
5965 2003-07-09  Andreas Jaeger  <aj@suse.de>
5966
5967         * opts.c (wrap_help): Only pass int arguments as arguments to
5968         printf's '*' modifier.  Change argument of function.
5969
5970 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
5971
5972         * doc/invoke.texi: Fix misspelling of "@item".
5973
5974 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
5975
5976         * config/i386/i386.md: Remove an old comment about
5977         NOTICE_UPDATE_CC.
5978
5979 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
5980
5981         * cgraph.c (cgraph_node_name): New function.
5982         (dump_cgraph): Use it.
5983         * cgraph.h (cgraph_dump_file): Declare.
5984         (cgraph_node_name): Declare.
5985         * cgraphunit.c: Include timevar.h
5986         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
5987         (cgraph_optimize_function): Use TV_INTEGRATION.
5988         (cgraph_mark_local_functions): reorganize dumps.
5989         (cgraph_mark_functions_to_inline_once): Likewise.
5990         (cgraph_optimize): Likewise; use timevar.
5991         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
5992         * toplev.c (dump_file_index): Add DFI_cgraph.
5993         (dump_file_info): Likewise.
5994         (cgraph_dump_file): New global variable.
5995         (do_compile): Open and close cgraph dump.
5996         * invoke.texi (-d): Document new flag; renumber.
5997
5998 2003-07-08  Roger Sayle  <roger@eyesopen.com>
5999
6000         PR c/11370
6001         * calls.c (emit_call_1): Don't bother popping the arguments off of
6002         the stack after a noreturn function call;  The adjustment is dead.
6003         (expand_call): Likewise.
6004
6005 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
6006
6007         * expr.c (MOVE_MAX_PIECES): Move from here...
6008         * defaults.h (MOVE_MAX_PIECES): ... to here.
6009
6010 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
6011
6012         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
6013
6014 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6015
6016         * genattr.c (internal_dfa_insn_code): Don't prototype.
6017         * genattrtab.c (attr_desc): Add `static_p' field.
6018         (expand_units): Make blockage range and ready cost functions
6019         static.
6020         (write_attr_get): Don't add extern prototypes in C file.  Mark
6021         static functions as appropriate.
6022         (find_attr, make_internal_attr): Initialize static_p.
6023         * genattrtab.h (ATTR_STATIC): New macro.
6024         * genautomata.c (output_internal_reset_func): Mark output function
6025         as inline.
6026         (make_internal_dfa_insn_code_attr): Mark output function as static.
6027
6028 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6029
6030         * genattrtab.h: Add new macros for attr `special' flags.
6031         * genattrtab.c (attr_desc): Reorder/resize fields better.
6032         Use attr `special' macros in all calls to make_internal_attr.
6033         * genautomata.c: Likewise.
6034
6035 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
6036
6037         * c-common.c (c_estimate_num_insns_1): New static function.
6038         (c_estimate_num_insns): New global function.
6039         * c-common.h (DECL_NUM_STMTS): Rename to...
6040         (DECL_ESTIMATED_INSNS): ... this.
6041         (c_estimate_num_insns): Declare.
6042         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
6043         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
6044         * c-semantics.c (add_stmt): Do not account statements.
6045         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
6046         New.
6047         * langhooks.h (lang_hooks_for_tree_inlining): Add
6048         estimate_num_insns
6049         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
6050         to 100.
6051         (max-inline-insns): set to 300.
6052         (min-inline-insns): set to 10.
6053         * tree-inline.c (struct inline_data): Rename inlined_stmts to
6054         inlined-insns.
6055         (INSNS_PER_STMT): Kill.
6056         (inlinable_function_p): Compute and store body size.
6057         (expand_call_inline): Likewise.
6058         (optimize_inline_calls): Likewise.
6059
6060 2003-07-08  James E Wilson  <wilson@tuliptree.org>
6061
6062         PR target/10021
6063         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
6064         loop over new variable t2 instead of t.
6065
6066 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
6067
6068         PR bootstrap/11455
6069         * config/i386/winnt.c: Replace use of error(), warning() with
6070         error_with_decl(), warning_with_decl(),  throughout.
6071
6072 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
6073
6074         * opts.c (wrap_help): Use unsigned int, not size_t.
6075
6076 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
6077
6078         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
6079         as .file/.loc directives are incompatible with linker relaxation.
6080
6081 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
6082
6083         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
6084         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
6085         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
6086         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
6087         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
6088         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
6089         Escape { and } characters which are not part of range expressions.
6090         * fixinc/fixincl.x: Regenerate.
6091         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
6092
6093 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
6094
6095         PR c/1687
6096         * tree-inline.c (find_alloca_call): Use
6097         walk_tree_without_duplicates, instead of walk_tree.
6098         (find_builtin_longjmp_call): Likewise.
6099         * c-objc-common.c (c_cannot_inline_fn): Likewise.
6100         * c-semantics.c (find_reachable_label): Likewise.
6101
6102 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
6103
6104         PR c/11420
6105         * config/i386/i386.c (ix86_check_movabs): New function.
6106         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
6107         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
6108         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
6109
6110 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
6111
6112         * Makefile.in (install-po): Cope with empty CATALOGS.
6113
6114 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
6115
6116         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6117         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
6118         (SECTION_FUNCTION_TEMPLATE): Delete.
6119         * config/mips/elf.h: As for elf64.h.
6120         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
6121         * config/mips/linux.h: As for elf.h
6122         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6123         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
6124         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
6125         of in_sdata from current_section_name and current_section_flags.
6126         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6127         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
6128         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
6129         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
6130         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
6131         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6132         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
6133         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
6134         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
6135         (override_options): Remove setting of MASK_GPOPT.
6136         (mips_output_external): Use mips_in_small_data_p to check whether a
6137         symbol needs an .extern directive.  Don't emit such directives for
6138         TARGET_EXPLICIT_RELOCS.
6139         (mips_declare_object): Update accordingly.
6140         (mips_select_rtx_section): Call named_section rather than
6141         SMALL_DATA_SECTION.
6142         (mips_select_section): Use default_elf_section_section for everything
6143         except .text string constants.
6144         (mips_in_small_data_p): New function.
6145         (mips_encode_section_info): Remove small data handling.
6146         (mips_unique_section): Delete.
6147         (iris6_section_type_flags): New function.
6148         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
6149
6150 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6151
6152         PR Target/11453
6153         * pa.md: Disparage all mtsar constraints.
6154         (extzv, extv, insv): Don't fail on length of {32|64}.
6155
6156 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
6157
6158         * system.h: Poison MAP_CHARACTER.
6159         * config/i370/i370-protos.h (mvs_map_char): Delete.
6160         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
6161         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
6162         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
6163
6164 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
6165
6166         * toplev.c (randomize): Correct call to time().
6167
6168 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
6169
6170         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
6171         REG_EQUIV notes as well.
6172
6173 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
6174
6175         * doc/md.texi: Fix the description of addmodecc.
6176
6177 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
6178
6179         * Makefile.in (top_builddir): Set to "..", not ".".
6180         (INTLLIBS, INTLDEPS): Delete.
6181         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
6182         (LIBDEPS): Add $(LIBICONV_DEP).
6183         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
6184         (INCLUDES): Replace -I../intl with @INCINTL@.
6185         ($(top_builddir)/intl/libintl.a): Delete rule.
6186         (stage2-start, stage3-start, stage4-start, stageprofile-start,
6187         stagefeedback-start): Use $$ for variable to be evaluated by
6188         shell, not make.
6189         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
6190         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
6191         * aclocal.m4: sinclude ../config/progtest.m4.  Add
6192         contents of lcmessage.m4 from gettext distro.
6193         * configure.in: Check for wchar.h and setlocale.  Set
6194         LIBICONV_DEP to the empty string and substitute it.
6195         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
6196         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
6197         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
6198         in $LIBINTL, to avoid linking it twice.
6199         * configure, config.in: Regenerate.
6200
6201 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
6202
6203         * fixinc/mkfixinc.sh: Remove winnt support.
6204         * fixinc/fixinc.winnt: Delete with extreme prejudice.
6205
6206 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
6207
6208         * Makefile.in: Update.
6209         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
6210         * c.opt: Update documentation.
6211         * common.opt: Add some help text.
6212         * opts.c: Include intl.h.
6213         (wrap_help, print_help): New.
6214         (find_opt, handle_option, common_handle_option): opt_text now
6215         contains the '-'.  Use print_help to output help.
6216         * opts.h (struct cl_option): New member "help".
6217         * opts.sh: Update to handle help text output and to prepend
6218         options with '-'.
6219         * toplev.c (display_help): Remove some help text.
6220
6221 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
6222             Fariborz Jahanian  <fjahanian@apple.com>
6223
6224         * configure.in: Test for PowerPC mfcr field support in assembler.
6225         * config.in, configure: Regenderated.
6226
6227         * config/rs6000/power4.md: Add mfcrf reservation.
6228         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
6229         * config/rs6000/rs6000.c (mfcr_operation): Define.
6230         (print_operand): Add 'Q' case for mfcrf.
6231         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
6232         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
6233         (movcc_internal1): Emit optional field operand for mfcr and set
6234         "type" attribute appropriately.
6235         (mfcr SCC): Likewise.
6236         (movesi_from_cr_one): New.
6237
6238 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6239
6240         * config/i386/i386.md: Correct check-in of incorrect version.
6241
6242 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6243
6244         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
6245         adjacent stdio calls.
6246         * c-decl.c (c_print_identifier): Likewise.
6247         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
6248         * print-rtl.c (print_rtx): Likewise.
6249         * print-tree.c (print_node_brief, print_node): Likewise.
6250         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
6251
6252         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
6253         * config.in, configure: Regenerated.
6254
6255 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6256
6257         PR target/10979
6258         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
6259         Changed to define_expand patterns that copy operand[1] to prevent
6260         it from being clobbered before emitting an atan2?f3_1 insn.
6261         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
6262         patterns that actually specify the behaviour of x87's FPATAN.
6263
6264 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
6265
6266         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
6267         clearing of SYMBOL_FLAG_LOCAL bit.
6268         If vcall_offset fits into signed 16-bit immediate, use
6269         one instruction for both addition and load.
6270
6271 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
6272
6273         * opts.c (common_handle_option): Correct handling of the
6274         -falign- switches that do and don't take an argument.
6275
6276 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6277
6278         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
6279         today.
6280         (pushhi1_h8300hs): Likewise.
6281
6282 2003-07-07  Andreas Jaeger  <aj@suse.de>
6283
6284         * genextract.c: Convert remaining prototypes to ISO C90.
6285
6286         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
6287         * fold-const.c (fold_single_bit_test): Likewise.
6288         * diagnostic.c (default_diagnostic_finalizer): Likewise.
6289         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
6290
6291         * gengtype.c (write_array): Generate ISO C90 prototypes.
6292
6293         * genflags.c (gen_proto): Generate ISO C90 prototypes.
6294
6295 2003-07-07  Roger Sayle  <roger@eyesopen.com>
6296
6297         PR optimization/11059
6298         * expr.c (can_store_by_pieces): Return true if length is zero.
6299         (store_by_pieces): If length is zero and endp is two, abort,
6300         othwerise, if length is zero and endp is not two, return "to".
6301         (clear_by_pieces): Do nothing if length is zero.
6302         (clear_storage): Do nothing if length is zero.
6303         (store_constructor): Simplify code when size is zero, or the
6304         target has already been cleared.  This avoids emitting a
6305         blockage instruction when initializing empty structures.
6306
6307 2003-07-07  Andreas Jaeger  <aj@suse.de>
6308
6309         * mips-tfile.c: Convert prototypes to ISO C90.
6310         * mips-tdump.c: Convert prototypes to ISO C90.
6311
6312 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6313
6314         * rtl.h (emit_line_note): Take a location_t.
6315         (emit_line_note_force): Remove.
6316         (set_file_and_line_for_statement): Take a location_t.
6317         * tree.g (emit_line_note): Take a location_t.
6318         * emit-rtl.c (emit_line_note): Take a location_t.
6319         (emit_line_note_force): Remove.
6320         * function.c (init_function_start): Adjust emit_line_note call.
6321         (expand_function_end): Use force_next_line_note, not
6322         emit_line_note_force.
6323         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
6324         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
6325         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
6326         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
6327         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
6328         genrtl_continue_stmt, genrtl_switch_stmt,
6329         genrtl_asm_stmt): Likewise.
6330         * expr.c (expand_expr): Likewise.
6331         * integrate.c (expand_inline_function): Likewise.
6332         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
6333         (expand_decl_init): Adjust emit_line_note call.
6334
6335 2003-07-07  Dale Johannesen  <dalej@apple.com>
6336
6337         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
6338
6339 2003-07-07  Andreas Jaeger  <aj@suse.de>
6340
6341         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
6342         * config/i386/i386.c: Likewise.
6343
6344 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6345
6346         * config/h8300/h8300.md: Use gen_int_mode instead of
6347         GEN_INT (trunc_int_for_mode (...)).
6348
6349 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
6350
6351         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
6352         2 bytes and then subtract 2 from the stack pointer.
6353         (pushhi1_h8300hs): Likewise.
6354
6355 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6356
6357         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
6358         -frandom-seed.
6359         * configure: Regenerated.
6360         * Makefile.in: Remove extraneous comment.
6361         * toplev.c (randomize): Protect against potential multiple calls.
6362         * doc/invoke.texi (-frandom-seed): Document use for in coverage
6363         files.
6364
6365 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6366             Eric Botcazou  <ebotcazou@libertysurf.fr>
6367
6368         PR optimization/11198
6369         * alias.c (objects_must_conflict_p): Return 1 if the types have
6370         the same alias set, not if the alias sets only conflict.
6371
6372 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
6373
6374         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
6375         (convert_cset): Change inbuf to type ICONV_CONST char.
6376         * Makefile.in (LIBS): Add LIBICONV.
6377
6378         * doc/invoke.texi (-falign-functions): Document that
6379         when n is zero then a machine-dependent default is used.
6380         (-falign-labels): Document that when n is zero then a
6381         machine-dependent default is used and that -falign-labels =1
6382         is equivalent to -fno-align-labels.
6383         (-falign-loops): Likewise.
6384         (-falign-jumps): Likewise.
6385
6386 2003-07-06  Art Haas  <ahaas@airmail.net>
6387
6388         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
6389         initializer syntax.
6390
6391 2003-07-06  James E Wilson  <wilson@tuliptree.org>
6392
6393         PR optimization/9812
6394         * rtl.h (mem_for_const_double): Delete prototype.
6395         * varasm.c (mem_for_const_double): Delete function.
6396         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
6397         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
6398         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
6399         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
6400         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
6401         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
6402         comment about confused support for XFmode constants.
6403
6404 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
6405
6406         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
6407
6408 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
6409
6410         * config/h8300/h8300.c: Fix comment typos.
6411         * config/h8300/h8300.md: Likewise.
6412         * config/i386/athlon.md: Likewise.
6413         * config/i386/i386.c: Likewise.
6414         * config/i386/pentium.md: Likewise.
6415         * config/ia64/ia64.c: Likewise.
6416         * config/ia64/itanium1.md: Likewise.
6417         * config/ia64/itanium2.md: Likewise.
6418         * config/m32r/m32r.md: Likewise.
6419         * config/m68hc11/m68hc11.c: Likewise.
6420         * config/mcore/mcore.c: Likewise.
6421         * config/mips/sr71k.md: Likewise.
6422         * config/mips/t-iris5-as: Likewise.
6423         * config/mmix/mmix.h: Likewise.
6424         * config/ns32k/ns32k.h: Likewise.
6425         * config/ns32k/NOTES: Fix a typo.
6426
6427 2003-07-06  Andreas Jaeger  <aj@suse.de>
6428
6429         * stmt.c: Convert remaining prototypes to ISO C90.
6430         * cfglayout.c: Likewise.
6431         * dbxout.c: Likewise.
6432         * gcc.c: Likewise.
6433         * genemit.c: Likewise.
6434
6435         * basic-block.h: Convert prototypes to ISO C90.
6436         * c-parse.in: Likewise.
6437         * c-pragma.h: Likewise.
6438         * c-typeck.c: Likewise.
6439         * cfghooks.h: Likewise.
6440         * cfgloopanal.c: Likewise.
6441         * dbxout.h: Likewise.
6442         * debug.h: Likewise.
6443         * dwarf2asm.h: Likewise.
6444         * gcov.c: Likewise.
6445         * gengtype-lex.l: Likewise.
6446         * sched-int.h: Likewise.
6447         * timevar.c: Likewise.
6448
6449 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6450
6451         * c-common.h (c_comon_handle_filename,
6452         c_common_missing_arguement): New.
6453         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6454         LANG_HOOKS_MISSING_ARGUMENT): New.
6455         * c-opts.c (missing_arg): Rename c_common_missing_argument,
6456         update to be an appropriate langhook.
6457         (c_common_handle_option): Don't handle filenames.
6458         (c_common_handle_filename): New.
6459         * hooks.c (hook_void_constcharptr,
6460         hook_bool_constcharptr_size_t_false): New.
6461         * hooks.h (hook_void_constcharptr,
6462         hook_bool_constcharptr_size_t_false): New.
6463         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
6464         LANG_HOOKS_MISSING_ARGUMENT): New.
6465         (LANG_HOOKS_INITIALIZER): Update.
6466         * langhooks.h (struct lang_hooks): Add handle_filename and
6467         missing_argument.
6468         * opts.c (handle_option): Don't handle filenames here, but ...
6469         (handle_options): ... here.
6470         (common_handle_option): Don't handle missing arguments here.
6471         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6472         LANG_HOOKS_MISSING_ARGUMENT): New.
6473
6474 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6475
6476         * Makfile.in: Remove traces of mbchar.
6477         * c-parse.in (MULTIBYTE_CHARS): Remove.
6478         * config.in (MULTIBYTE_CHARS): Remove.
6479         * configure: Remove --enable-mbchar.
6480         * configure.in: Remove --enable-mbchar.
6481         * mbchar.c, mbchar.h: Remove.
6482         * system.h: Poison MULTIBYTE_CHARS.
6483         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
6484         * config/linux.h (MULTIBYTE_CHARS): Remove.
6485         * config/svr4.h (MULTIBYTE_CHARS): Remove.
6486         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
6487
6488 2003-07-06  Andreas Jaeger  <aj@suse.de>
6489
6490         * varray.c (varray_check_failed): Fix typo.
6491
6492         * unroll.c: Convert prototypes to ISO C90.
6493         * varasm.c: Likewise.
6494         * varray.c: Likewise.
6495         * varray.h: Likewise.
6496         * vmsdbgout.c: Likewise.
6497         * xcoffout.c: Likewise.
6498         * xcoffout.h: Likewise.
6499
6500 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6501
6502         * gcov-io.h: Add a local time stamp.
6503         (struct gcov_info): Add stamp field.
6504         (gcov_truncate): New.
6505         * coverage.c (read_counts_file): Skip the stamp.
6506         (coverage_begin_output): Write the stamp.
6507         (build_gcov_info): Declare and init the stamp.
6508         (coverage_finish): Only unlink data file, if stamp is zero.
6509         * gcov-dump.c (dump_file): Dump the stamp.
6510         * gcov.c (bbg_stamp): New.
6511         (release_structures): Clear bbg_stamp.
6512         (read_graph_file): Read stamp.
6513         (read_count_file): Check stamp.
6514         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
6515
6516 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6517
6518         * tree.h (default_flag_random_seed): Remove.
6519         * toplev.h (local_tick): Declare.
6520         * tree.c (flag_random_seed, default_flag_random_seed): Move to
6521         toplev.c.
6522         (append_random_chars): Don't call default_flag_random_seed.
6523         * toplev.c (flag_random_seed): Define here. Set local_tick.
6524         (local_tick): Define.
6525         (randomize): New, moved from tree.c.
6526         (print_switch_values): Adjust.
6527         (toplev_main): Call randomize.
6528
6529 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
6530
6531         * tree.h (crc32_string): Declare.
6532         * tree.c (append_random_chars): Remove.
6533         (crc32_string): New.
6534         (get_file_function_name_long): Use crc32_string here.
6535
6536 2003-07-06  Andreas Jaeger  <aj@suse.de>
6537
6538         * gcc.c: Convert prototypes to ISO C90.
6539         * gcc.h: Likewise.
6540         * gcov-dump.c: Likewise.
6541         * gcov-iov.c: Likewise.
6542         * gcse.c: Likewise.
6543         * genattrtab.h: Likewise.
6544         * ggc.h: Likewise.
6545         * global.c: Likewise.
6546         * graph.c: Likewise.
6547         * graph.h: Likewise.
6548         * hosthooks.h: Likewise.
6549         * hooks.h: Likewise.
6550         * hooks.c: Likewise.
6551         * hashtable.h: Likewise.
6552         * hashtable.c: Likewise.
6553         * haifa-sched.c: Likewise.
6554         * integrate.h: Likewise.
6555         * integrate.c: Likewise.
6556         * input.h: Likewise.
6557         * ifcvt.c: Likewise.
6558         * jump.c: Likewise.
6559         * langhooks-def.h: Likewise.  Add extern to prototypes.
6560         * langhooks.c: Likewise.
6561         * langhooks.h: Likewise.
6562         * lcm.c: Likewise.
6563         * local-alloc.c: Likewise.
6564         * loop-init.c: Likewise.
6565         * loop-unroll.c: Likewise.
6566         * loop-unswitch.c: Likewise.
6567         * loop.c: Likewise.
6568         * loop.h: Likewise. Add extern to prototypes.
6569         * machmode.h: Likewise.
6570         * main.c: Likewise.
6571         * mbchar.c: Likewise.
6572         * mbchar.h: Likewise.
6573         * mkdeps.c: Likewise.
6574         * mkdeps.h: Likewise.
6575         * optabs.c: Likewise.
6576         * optabs.h: Likewise.
6577         * output.h: Likewise.
6578         * gccspec.c: Likwise.
6579         * postreload.c: Likewise.
6580         * prefix.c: Likewise.
6581         * prefix.h: Likewise.
6582         * print-rtl.c: Likewise.
6583         * print-tree.c: Likewise.
6584         * profile.c: Likewise.
6585         * read-rtl.c: Likewise.
6586         * real.c: Likewise.
6587         * real.h: Likewise.
6588         * recog.c: Likewise.
6589         * recog.h: Likewise.
6590         * reg-stack.c: Likewise.
6591         * regclass.c: Likewise.
6592         * regmove.c: Likewise.
6593         * regrename.c: Likewise.
6594         * regs.h: Likewise.
6595         * reload.c: Likewise.
6596         * reload.h: Likewise.
6597         * reload1.c: Likewise.
6598         * reorg.c: Likewise.
6599         * resource.c: Likewise.
6600         * resource.h: Likewise.
6601         * rtl-error.c: Likewise.
6602         * rtl.c: Likewise.
6603         * rtl.h: Likewise.
6604         * rtlanal.c: Likewise.
6605         * sbitmap.c: Likewise.
6606         * sbitmap.h: Likewise.
6607         * scan-decls.c: Likewise.
6608         * scan.c: Likewise.
6609         * sched-deps.c: Likewise.
6610         * sched-ebb.c: Likewise.
6611         * sched-int.h: Likewise.
6612         * sched-rgn.c: Likewise.
6613         * sched-vis.c: Likewise.
6614         * sibcall.c: Likewise.
6615         * simplify-rtx.c: Likewise.
6616         * sreal.c: Likewise.
6617         * sreal.h: Likewise.
6618         * ssa-ccp.c: Likewise.
6619         * ssa-dce.c: Likewise.
6620         * ssa.c: Likewise.
6621         * ssa.h: Likewise.
6622         * stack.h: Likewise.
6623         * stmt.c: Likewise.
6624         * stor-layout.c: Likewise.
6625         * stringpool.c: Likewise.
6626         * target.h: Likewise.
6627         * timevar.c: Likewise.
6628         * timevar.h: Likewise.
6629         * tlink.c: Likewise.
6630         * tracer.c: Likewise.
6631         * tree-inline.c: Likewise.
6632         * tree-inline.h: Likewise.
6633         * tree.c: Likewise.
6634         * tree.h: Likewise.
6635
6636 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6637
6638         * combine.c (nonzero_bits1): Fix a warning.
6639
6640 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6641
6642         * config/h8300/h8300.c (compute_mov_length): Correct the
6643         length of loading CONST0_RTX (SFmode).
6644
6645 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
6646
6647         * toplev.c (output_clean_symbol_name): Remove.
6648         * toplev.h (output_clean_symbol_name): Remove.
6649         * config/alpha/alpha.c (unicosmk_output_module_name): Use
6650         lbasename & clean_symbol_name.
6651
6652 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6653
6654         * ggc.h: Follow spelling conventions.
6655         * config/i386/i386.c: Likewise.
6656         * config/i386/winnt.c: Likewise.
6657         * config/rs6000/rs6000.c: Likewise.
6658
6659 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
6660
6661         * bt-load.c: Fix comment typos.
6662         * c-incpath.c: Likewise.
6663         * cfg.c: Likewise.
6664         * cfgcleanup.c: Likewise.
6665         * cfgloop.h: Likewise.
6666         * cfgloopmanip.c: Likewise.
6667         * cfgrtl.c: Likewise.
6668         * diagnostic.h: Likewise.
6669         * dwarfout.c: Likewise.
6670         * emit-rtl.c: Likewise.
6671         * et-forest.c: Likewise.
6672         * et-forest.h: Likewise.
6673         * expr.c: Likewise.
6674         * gcse.c: Likewise.
6675         * genattr.c: Likewise.
6676         * jump.c: Likewise.
6677         * langhooks.h: Likewise.
6678         * local-alloc.c: Likewise.
6679         * loop-unroll.c: Likewise.
6680         * loop-unswitch.c: Likewise.
6681         * ra-build.c: Likewise.
6682         * regclass.c: Likewise.
6683         * regmove.c: Likewise.
6684         * rtl.def: Likewise.
6685         * rtlanal.c: Likewise.
6686         * sched-ebb.c: Likewise.
6687         * sched-rgn.c: Likewise.
6688         * simplify-rtx.c: Likewise.
6689         * ssa.c: Likewise.
6690         * tracer.c: Likewise.
6691         * tree.c: Likewise.
6692
6693 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
6694
6695         * cppcharset.c: Use the correct return type for the fallback iconv
6696         macro.
6697
6698 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6699
6700         Blame to Jan Hubicka  <jh@suse.cz>
6701         * cfglayout.c (record_effective_endpoints): Split insns before
6702         first basic block correctly.
6703
6704 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6705
6706         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
6707         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
6708         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
6709
6710 2003-07-05  Andreas Jaeger  <aj@suse.de>
6711
6712         * genattrtab.c (write_attr_get): Revert part of last patch to
6713         always write out a prototype.
6714
6715         * genemit.c (gen_split): Readd lost unused attributes in last
6716         patch.
6717
6718 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6719
6720         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
6721         different from header.
6722
6723 2003-07-05  Andreas Schwab  <schwab@suse.de>
6724
6725         * config/m68k/m68k.c: Remove code protected by CRDS.
6726         * config/m68k/m68k.md: Likewise.
6727
6728 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
6729
6730         PR driver/11417
6731         * c-opts.c (permit_fortran_options): New.
6732         (c_common_init_options): Accept fortran front end options if
6733         it looks like we might be preprocessing Fortran.
6734         (c_common_handle_option): Don't reject switch if permit_fotran_options.
6735
6736 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6737
6738         * genattr.c (internal_dfa_insn_code): Output prototype.
6739         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
6740         * genautomata.c: Likewise.
6741         * genconditions.c: Likewise.
6742         * genemit.c: Likewise.
6743         * genextract.c: Likewise.
6744         * gengenrtl.c: Likewise.
6745         * gengtype.c: Likewise.
6746         * genopinit.c: Likewise.
6747         * genoutput.c: Likewise.
6748         * genpeep.c: Likewise.
6749         * genrecog.c: Likewise.
6750
6751 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
6752
6753         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
6754         (struct cpp_options): Add narrow_charset, wide_charset,
6755         bytes_big_endian fields.  Remove EBCDIC field.
6756         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
6757
6758         * cpphash.h: Include <iconv.h> if we have it, otherwise
6759         provide a dummy definition of iconv_t.
6760         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
6761         (_cpp_valid_ucn): Update prototype.
6762         (_cpp_destroy_iconv): New prototype.
6763
6764         * doc/cpp.texi: Document character set handling.
6765         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
6766         * doc/extend.texi: Delete entire section on multiline strings.
6767         Rewrite section on __FUNCTION__ etc now that these are
6768         variables in C.
6769
6770         * cppucnid.tab, cppucnid.pl: New files.
6771         * cppucnid.h: New generated file.
6772         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
6773         (iconv_open, iconv, iconv_close): Provide dummy definitions
6774         if !HAVE_ICONV.
6775         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
6776         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
6777         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
6778         cpp_interpret_string, narrow_str_to_charconst,
6779         wide_str_to_charconst): New.
6780         (ucn_valid_in_identifier): Use a binary search through the
6781         ucnranges table defined in cppucnid.h, not a long chain of if
6782         statements.
6783         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
6784         character names are only valid in C++ and C99" to a warning.
6785         Issue the "meaning of \[uU] is different in traditional C"
6786         warning here.  Take care not to let iconv see an invalid UCS
6787         value if we get a malformed UCN.  Issue an error if we don't
6788         have iconv.
6789         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
6790         cpp_interpret_string to do the heavy lifting.
6791
6792         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
6793         narrow_charset, wide_charset fields of options structure.
6794         (cpp_destroy): Call _cpp_destroy_iconv.
6795         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
6796         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
6797         (cpp_interpret_charconst): Moved to cppcharset.c.
6798         * cpplib.c (dequote_string): Delete.
6799         (interpret_string_notranslate): New.
6800         (do_line, do_linemarker): Use interpret_string_notranslate.
6801
6802         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
6803
6804         * c-common.c (fname_string, combine_strings): Delete.
6805         * c-common.h (fname_string, combine_strings): Delete prototypes.
6806         * c-lex.c (ignore_escape_flag): Delete.
6807         (cb_ident): Use cpp_interpret_string, not lex_string.
6808         (get_nonpadding_token): New function.
6809         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
6810         Adjust calls to lex_string.  Don't write *value twice.
6811         (lex_string): Now handles string constant concatenation.
6812         Most of the work handed off to cpp_interpret_string.
6813         Call fix_string_type here.
6814         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
6815         FUNC_NAME, throughout.
6816         (OBJC_STRING): New token type.
6817         (primary:STRING): No need to call fix_string_type here.
6818         (primary:objc_string): Make that OBJC_STRING.
6819         (objc_string nonterminal): Delete.
6820         (yylexname): Delete code to handle fake string constants.
6821         (yylexstring): Delete entirely.
6822         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
6823         to handle CPP_ATSIGN.
6824
6825         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
6826         * c-opts.c (missing_arg, c_common_handle_option): Handle
6827         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
6828         (c_common_init): Set cpp_opts->bytes_big_endian, not
6829         cpp_opts->EBCDIC.  Call cpp_init_iconv.
6830         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
6831         (TARGET_EBCDIC): Delete default definition.
6832
6833         * objc/objc-act.c (build_objc_string_object): No need to
6834         handle string constant concatenation.
6835
6836 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
6837
6838         * doc/install.texi: Fix typos.
6839         * doc/invoke.texi: Likewise.
6840         * doc/tm.texi: Likewise.
6841
6842 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
6843
6844         * config/pa/fptr.c: Fix comment typos.
6845         * config/pa/pa-64.h: Likewise.
6846         * config/pa/pa.c: Likewise.
6847         * config/pa/pa.h: Likewise.
6848         * config/rs6000/603.md: Likewise.
6849         * config/rs6000/7xx.md: Likewise.
6850         * config/rs6000/darwin.h: Likewise.
6851         * config/rs6000/freebsd.h: Likewise.
6852         * config/rs6000/rs6000.c: Likewise.
6853         * config/rs6000/rs6000.md: Likewise.
6854         * config/rs6000/spe.h: Likewise.
6855
6856 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
6857
6858         * config/s390/2064.md: Change GNU CC to GCC.
6859         * config/s390/2084.md: Likewise.
6860         * config/s390/fixdfdi.h: Likewise.
6861         * config/s390/linux.h: Likewise.
6862         * config/s390/s390-modes.def: Likewise.
6863         * config/s390/s390-protos.h: Likewise.
6864         * config/s390/s390.c: Likewise.
6865         * config/s390/s390.h: Likewise.
6866         * config/s390/s390.md: Likewise.
6867         * config/s390/s390x.h: Likewise.
6868
6869 2003-07-04  Jeff Law  <law@redhat.com>
6870
6871         PR c/11428
6872         * expr.c (do_store_flag): Pass in the correct result type
6873         when calling fold_single_bit_test.
6874         * fold-const.c (fold_single_bit_test): Use result_type for the
6875         result when folding a sign bit test.
6876
6877 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
6878
6879         * opts.c (common_handle_options): Negate sense of -falign- switches.
6880
6881 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
6882
6883         * Makefile.in: Replace PWD with PWD_COMMAND.
6884
6885 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6886
6887         * cfgloopanal.c (count_strange_loop_iterations): New static function.
6888         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
6889         Handle strange loops.
6890
6891 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
6892
6893         * install.texi: Even the g77 manpage is derived from
6894         the full g77 manual.
6895
6896 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
6897
6898         * ABOUT-NLS: Delete.
6899         * intl: Delete entire directory.
6900         * aclocal.m4: Include ../config/gettext.m4.  Delete
6901         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
6902         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
6903         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
6904         Remove intl/Makefile from all_outputs.
6905         * configure, config.in: Regenerate.
6906         * Makefile.in: Expunge all references to intl subdirectory.
6907         Add -I../intl to INCLUDES.
6908         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
6909
6910 2003-07-04  Roger Sayle  <roger@eyesopen.com>
6911
6912         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
6913         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
6914
6915 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
6916
6917         PR c++/5287, PR c++/7910, PR c++/11021
6918         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
6919         dllimport attribute if function is defined at declaration, but
6920         report error instead. Likewise for dllimport'd variable
6921         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
6922         declared within functions, Report error if dllimport or dllexport
6923         symbol is not global.
6924         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
6925         if defined after declaration or if inlined. Don't allow definition
6926         of static data members of C++ classes. Don't dllimport virtual
6927         methods.
6928         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
6929         (i386_pe_mark_dllimport): Remove unnecessary checks.
6930         (i386_pe_encode_section_info): Warn if the dllimport attribute
6931         and symbol prefix have been instantiated and then overridden.
6932
6933         * doc/extend.texi: Document dllimport and dllexport attributes.
6934
6935         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
6936
6937 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
6938
6939         * config/kaos.h (CPP_PREDEFINES): Delete.
6940         (TARGET_OS_CPP_BUILTINS): New.
6941
6942 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6943
6944         * c-aux-info.c: Include toplev.h after c-tree.h.
6945         * c-common.c: Likewise.
6946         (GCC_DIAG_STYLE): Undef.
6947         * c-semantics.c (GCC_DIAG_STYLE): Define.
6948         * c-tree.h (GCC_DIAG_STYLE): Likewise.
6949         * diagnostic.h (inform): Move prototype to toplev.h.
6950         * jump.c: Include diagnostic.h before toplev.h.
6951         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
6952         (warning, error, fatal_error, pedwarn, sorry, inform,
6953         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
6954
6955 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6956
6957         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
6958         at all if edge is not specified.
6959         (can_copy_bbs_p, copy_bbs): New.
6960         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
6961         * cfgloop.c (get_loop_body): Comment more precisely.
6962         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
6963         (scale_bbs_frequencies): Fix comment typo.
6964         (can_duplicate_loop_p): Use can_copy_bbs_p.
6965         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
6966
6967 2003-07-03  Devang Patel <dpatel@apple.com>
6968
6969         * c-opts.c (c_common_parse_file): Remove extra
6970         debug_hooks->start_source_file call.
6971
6972 2003-07-03  Roger Sayle  <roger@eyesopen.com>
6973
6974         * real.c (real_trunc, real_floor, real_ceil): New functions
6975         to implement trunc, floor and ceil respectively.
6976         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
6977         * builtins.c (integer_valued_real_p): New function to test if
6978         a floating point expression has an integer valued result.
6979         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
6980         foo(x) where foo is an integer rounding function.  Similarly,
6981         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
6982         (double)(int)x when both foo and bar are integer rounding
6983         functions and we don't need to honor errno.
6984         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
6985         New functions to fold trunc, floor and ceil.
6986         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
6987         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
6988         to fold BUILT_IN_CEIL*.
6989         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
6990         the remaining integer rounding functions.
6991
6992 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6993
6994         * config/sparc/sparc.c (function_arg_partial_nregs): Use
6995         SPARC_INT_ARG_MAX to determine where to split unnamed
6996         complex FP arguments.
6997
6998 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
6999
7000         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
7001         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
7002         (merge_blocks_move_predecessor_nojumps,
7003          merge_blocks_move_successor_nojumps): Use merge_blocks.
7004         (try_optimize_cfg): Use merge_blocks_move.
7005         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
7006         (merge_blocks_nomove): Rename to rtl_merge_blocks.
7007         (cfg_layout_create_basic_block): New.
7008         (rtl_can_merge_blocks): New.
7009         (cfg_layout_split_block): Do not alloc aux by hand.
7010         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
7011         merge_blocks.
7012         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
7013         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
7014         * cfgloopmanip.c (loop_split_edge_with): Likewise.
7015         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
7016
7017         * basic-block.h (basic_block_def): Add field 'rbi'.
7018         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
7019         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
7020         * cfg.c (entry_exit_blocks): Add new field.
7021         * cfglayout.c: Include alloc-pool.h;
7022         (cfg_layout_pool): New.
7023         (record_effective_endpoints, fixup_reorder_chain,
7024         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
7025         of rbi.
7026         (cfg_layout_initialize_rbi): New function.
7027         (cfg_layout_initialize): Use it.
7028         (cfg_layout_finalize): Clear rbi fields.
7029         * cfglayout.h (RBI): Kill.
7030         (cfg_layout_initialize_rbi): Declare.
7031         * cfgloopmanip.c (copy_bbs): Use rbi.
7032         (record_exit_edges): Likewise.
7033         (duplicate_loop_to_header_edge): Likewise.
7034         * cfgrtl.c (cfg_layout_create_basic_block): Use
7035         cfg_layout_initialize_rbi.
7036         (cfg_layout_split_block): Use rbi.
7037         (cfg_layout_delete_block): Likewise.
7038         * loop-init.c (loop_optimizer_finalize): Likewise.
7039         * loop-unswitch.c (unswitch_loop): Likewise.
7040         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
7041
7042         * cfgrtl.c: Update comments.
7043         (try_redirect_by_replacing_jump): New argument.
7044         (redirect_branch_edge): Break out from ...
7045         (rtl_redirect_edge_and_branch): ... this one.
7046         (update_cfg_after_block_merging): Break out from ...
7047         (rtl_merge_blocks): ... this one.
7048         (cfg_layout_split_edge): New.
7049         (cfg_layout_merge_blocks): New.
7050         (cfg_layout_can_merge_blocks_p): New.
7051         (cfg_layout_redirect_edge_and_branch): Reorganize.
7052         (cfg_layout_rtl_cfg_hooks): Fill in.
7053         (cfg_layout_delete_block): Kill barriers.
7054         * cfganal.c (can_fallthru): Deal with exit blocks
7055         * cfglayout.c (cfg_layout_function_header): New function
7056         (record_effective_endpoints): Record function header.
7057         (fixup_reorder_chain): Fixup dead jumptables; place header
7058
7059         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
7060         * bb-reorder.c (cfg_layout_initialize): Update call.
7061         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
7062         edges in cfglayout mode.
7063         * cfglayout.c (cleanup_unconditional_jumps): Kill.
7064         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
7065         * cfglayout.h (cfg_layout_initialize): Update prototype.
7066         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
7067         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
7068         * flow.c (propagate_block): Do not crash when basic block ends
7069         by first insn in the chain.
7070         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
7071         do loop discovery.
7072         * tracer.c (tracer): Update call of cfg_layout_initialize.
7073
7074 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7075
7076         * Makefile.in: Use dependency variables in lieu of explicit
7077         files throughout.
7078
7079 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
7080
7081         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
7082         * tree.h: ...to here.
7083
7084 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
7085
7086         * config/s390/2064.md: Fix comment typos.
7087         * config/s390/2084.md: Likewise.
7088         * config/s390/s390.c: Likewise.
7089         * config/s390/s390.md: Likewise.
7090         * config/sh/sh.c: Likewise.
7091         * config/sh/sh.h: Likewise.
7092         * config/sh/sh.md: Likewise.
7093         * config/sparc/sparc.c: Likewise.
7094         * config/sparc/sparc.h: Likewise.
7095         * config/sparc/sparc.md: Likewise.
7096         * config/stormy16/stormy16.c: Likewise.
7097         * config/stormy16/stormy16.h: Likewise.
7098         * config/stormy16/stormy-abi: Fix a typo.
7099
7100 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
7101
7102         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
7103
7104 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7105
7106         * config/mips/mips.h (save_argv): Delete.
7107
7108 2003-07-03  Roger Sayle  <roger@eyesopen.com>
7109
7110         PR target/10700
7111         * fold-const.c (extract_muldiv_1): There's nothing that can be done
7112         if the expression is a SAVE_EXPR.
7113
7114 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
7115
7116         * config/m32r/m32r.c: Fix comment typos.
7117         * config/m68hc11/m68hc11.c: Likewise.
7118         * config/m68hc11/m68hc11.h: Likewise.
7119         * config/m68k/m68k.c: Likewise.
7120         * config/mcore/mcore.c: Likewise.
7121         * config/mcore/mcore.h: Likewise.
7122         * config/mcore/mcore.md: Likewise.
7123         * config/mips/mips.c: Likewise.
7124         * config/mips/mips.h: Likewise.
7125         * config/mips/mips.md: Likewise.
7126         * config/mips/netbsd.h: Likewise.
7127         * config/mn10300/mn10300.c: Likewise.
7128
7129 2003-07-03  Andreas Schwab  <schwab@suse.de>
7130
7131         * dbxout.c (pending_bincls): Move decl down inside
7132         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
7133
7134 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
7135
7136         * rtl.h (NOTE_DATA): Refer to whole union.
7137         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
7138
7139 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7140
7141         PR optimization/11381
7142         * simplify-rtx.c (simplify_relational_operation): Check that
7143         two equal operands have no side-effects before simplifying
7144         the comparison.
7145
7146 2003-07-02  Jeff Law  <law@redhat.com>
7147
7148         * expr.c (do_store_flag): Remove special case folding for
7149         single bit tests.  Instead call back into the commonized folder
7150         routine.
7151         * fold-const.c (fold_single_bit_test): New function, mostly
7152         extracted from do_store_flag, with an additional case extracted
7153         from fold.
7154         (fold): Call fold_single_bit_test appropriately.
7155         * tree.h (fold_single_bit_test): Prototype.
7156
7157 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
7158
7159         * system.h: Include filenames.h.
7160         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
7161         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
7162         define based on HAVE_DOS_BASED_FILE_SYSTEM.
7163         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
7164         * config/i386/xm-mingw32.h: Don't define
7165         HAVE_DOS_BASED_FILE_SYSTEM,
7166         DIR_SEPARATOR, or DIR_SEPARATOR_2.
7167         * doc/hostconfig.texi: Update to match.
7168
7169         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
7170         config/i386/cygwin.h:
7171         Use IS_ABSOLUTE_PATH throughout.
7172         * gcc.c (DIR_UP): Delete, unused.
7173         * protoize.c (IS_SAME_PATH): Define in terms of
7174         FILENAME_CMP.
7175         (is_abspath): Delete.
7176
7177 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
7178
7179         * config/i386/emmintrin.h: Fix comment typos.
7180         * config/i386/i386.c: Likewise.
7181         * config/i386/i386.h: Likewise.
7182         * config/i386/sco5.h: Likewise.
7183         * config/ia64/ia64.c: Likewise.
7184         * config/ia64/itanium2.md: Likewise.
7185
7186 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
7187
7188         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
7189         DBX_USE_BINCL.
7190         (emit_bincl_stab): Same.
7191         (emit_pending_bincls): Same.
7192
7193 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
7194
7195         * config/h8300/h8300.c (compute_mov_length): Fix the length of
7196         loading CONST0_RTX (SFmode).
7197         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
7198         'G' to CONST0_RTX (SFmode).
7199         * config/h8300/h8300.md (movsf_h8300): Change the first
7200         constraint to 'G'.
7201         (movsf_h8300h): Likewise.
7202
7203 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
7204
7205         * c-common.h (c_common_init_options): New prototype.
7206         * c-opts.c (deferred_size): Remove.
7207         (defer_opt): Array is now pre-allocated.
7208         (c_common_init_options): Pre-allocate deferred_opts.  Make
7209         lang_flags unsigned.
7210         (push_command_line_options): Free deferred_opts.
7211         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
7212         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
7213         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
7214         * langhooks.h (struct lang_hooks): New prototype for init_options.
7215         * main.c (main): Cast argv.
7216         * opts.c (handle_option, handle_options): Update prototypes.
7217         (decode_options): save_argc, save_argv are not global.  Constify.
7218         * opts.h (decode_options): New prototype.
7219         * toplev.c (general_init): New protoype.
7220         (save_argv): Make static.
7221         (save_argc): Remove.
7222         (print_switch_values, general_init): Constify.
7223         (toplev_main): Save argv.
7224         * toplev.h (toplev_main): Update prototype.
7225         (save_argc, save_argv): Remove.
7226
7227 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
7228
7229         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
7230         (emit_bincl_stab): Same.
7231         (emit_pending_bincls): Same.
7232
7233 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
7234
7235         PR c++/11072
7236         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
7237
7238 2003-07-02  Andreas Schwab  <schwab@suse.de>
7239
7240         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
7241
7242 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
7243
7244         PR optimization/11210
7245         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
7246         about the behaviour with regard to bitfields.
7247         * fold-const (decode_field_reference): Record outermost type in
7248         case the expression is a NOP. Strip all NOPs. Set the signedness
7249         to that of the outermost type (if any) when the bitsize is equal
7250         to the size of the type.
7251
7252 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
7253
7254         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
7255         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
7256         (adddi3_internal_3, addsi3_internal_2): Likewise.
7257
7258 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
7259
7260         * config/mips/mips.c (machine_function): Add new fields:
7261         ignore_hazard_length_p and all_noreorder_p.
7262         (mips_flag_delayed_branch): New variable.
7263         (override_options): Treat '/' as an operand punctuation character.
7264         Set up mips_flag_delayed_branch.
7265         (print_operand): Handle '/'.
7266         (mips_output_function_prologue): Put the whole function in
7267         .set noreorder and .set nomacro if all_noreorder_p is true.
7268         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
7269         (mips16_optimize_gp): Remove "first insn" parameter.
7270         (mips16_lay_out_constants): New function, split out from mips_reorg.
7271         (mips_avoid_hazard, mips_avoid_hazards): New functions.
7272         (mips_reorg): For mips16 code, call mips16_lay_out_constant
7273         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
7274         do delayed-branch scheduling followed by hazard detection.
7275         (mips_adjust_insn_length): Only account for hazards if
7276         !ignore_hazard_length_p.
7277         (mips_output_load_label): Add a nop to the o32 sequence if
7278         the target suffers from load delays.
7279         (mips_output_conditional_branch): Add %/ to the end of branches.
7280         (mips_output_division): Fill the branch delay slot with %#.
7281         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
7282         instructions.  End all other %* branches with %/.
7283         (ffssi2, ffsdi2): Fix lengths.
7284         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
7285         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
7286         (fix_truncsfsi2_macro): Likewise.
7287         (mov_lwl): Set hazard to "none".
7288         (ashldi3_internal): Fill the branch delay slot with %#.
7289         (ashrdi3_internal, lshrdi3_internal): Likewise.
7290         (exception_receiver): Explicitly set $28.
7291         (hazard_nop): New pattern.
7292
7293 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
7294
7295         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
7296         before calling tree_inlinable_function_p.
7297
7298 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7299
7300         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
7301         <internal/stdio_core.h> too.
7302         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
7303         <internal/wchar_core.h> too.
7304         Substitute va_list uses in inline definition.
7305         * fixinc/fixincl.x: Regenerate.
7306
7307 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7308
7309         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
7310         Undef before redefinition.
7311         (LABEL_AFTER_LOC): Likewise.
7312         (DEFAULT_SIGNED_CHAR): Likewise.
7313         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
7314         Fix IRIX spelling.
7315
7316         * config/mips/iris3.h: Remove, unused.
7317         * config/mips/iris4.h: Likewise.
7318
7319         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
7320
7321         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
7322         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
7323         target_cpu_default.
7324
7325         * config/mips/iris5.h: Move explicit includes ...
7326         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
7327
7328         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
7329         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7330         tm_defines.
7331
7332         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
7333         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7334         target_cpu_default.
7335
7336         * config/mips/iris6.h: Fix IRIX spelling.
7337         (MULTILIB_DEFAULTS): Undef before redefinition.
7338
7339         * config/mips/iris6.h: Move explicit includes ...
7340         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
7341
7342 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
7343
7344         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
7345         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
7346         Use next_needed field instead of aux to maintain the queue.
7347         * cgraph.h (cgraph_node): Add next_needed.
7348         (cgraph_varpool_node): Add next_needed; remove aux.
7349         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
7350
7351 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
7352
7353         * cgraphunit.c (cgraph_finalize_function): Set finalized.
7354         (cgraph_finalize_function): Do not examine inlinablility.
7355         (cgraph_finalize_compilation_unit): Do it here.
7356         * cgraph.h (cgraph_local_info): Add finalized field.
7357
7358 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7359
7360         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
7361         (gt_pch_restore): Likewise.
7362
7363 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7364
7365         * config/alpha/alpha.c: Fix comment typos.
7366         * config/alpha/elf.h: Likewise.
7367         * config/arm/arm.c: Likewise.
7368         * config/arm/arm.h: Likewise.
7369         * config/arm/arm.md: Likewise.
7370         * config/arm/t-arm-coff: Likewise.
7371         * config/arm/t-strongarm-pe: Likewise.
7372         * config/arm/xscale-elf.h: Likewise.
7373         * config/avr/avr.h: Likewise.
7374
7375 2003-07-01  Jeff Law  <law@redhat.com>
7376
7377         * stmt.c (any_pending_cleanups): Remove another redundant test.
7378
7379 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
7380             J"orn Rennecke <joern.rennecke@superh.com>
7381
7382         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
7383         for MEM case.
7384
7385 2003-07-01  Devang Patel  <dpatel@apple.com>
7386
7387         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
7388         (binclstatus): New.
7389         (struct dbx_file): New members - bincl_status, pending_bincl_name and
7390         prev.
7391         (pending_bincls): New.
7392         (dbxout_init): Initialize new dbx_file members.
7393         (dbxout_start_source_file): Same.
7394         (emit_bincl_stab): New function.
7395         (emit_pending_bincls): Same.
7396         (emit_pending_bincls_if_required): Same.
7397         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
7398         processed.
7399         (dbxout_begin_block): Emit pending BINCL stabs.
7400         (dbxout_end_block): Same.
7401         (dbxout_function_decl): Same.
7402         (dbxout_continue): Same.
7403         (dbxout_type): Same.
7404         (dbxout_class_name_qualifiers): Same.
7405         (dbxout_symbol): Same.
7406         (dbxout_symbol_location): Same.
7407         (dbxout_parms): Same.
7408
7409 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7410
7411         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
7412         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
7413
7414 2003-07-01  Andreas Jaeger  <aj@suse.de>
7415
7416         * fold-const.c: Convert prototypes to ISO C90.
7417         * function.c: Likewise.
7418         * function.h: Likewise.
7419
7420 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7421
7422         * doc/contrib.texi: Fix typos.
7423         * doc/invoke.texi: Likewise.
7424         * doc/passes.texi: Likewise.
7425         * doc/sourcebuild.texi: Likewise.
7426         * doc/tm.texi: Likewise.
7427
7428 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
7429
7430         * basic-block.h: Fix comment typos.
7431         * bb-reorder.c: Likewise.
7432         * c-format.c: Likewise.
7433         * cfgcleanup.c: Likewise.
7434         * cfghooks.h: Likewise.
7435         * cfgloop.c: Likewise.
7436         * cfgloopmanip.c: Likewise.
7437         * cfgrtl.c: Likewise.
7438         * cgraph.h: Likewise.
7439         * cgraphunit.c: Likewise.
7440         * combine.c: Likewise.
7441         * convert.c: Likewise.
7442         * dbxout.c: Likewise.
7443         * df.c: Likewise.
7444         * df.h: Likewise.
7445         * diagnostic.c: Likewise.
7446         * dwarf2out.c: Likewise.
7447         * et-forest.h: Likewise.
7448         * flow.c: Likewise.
7449         * fold-const.c: Likewise.
7450         * function.h: Likewise.
7451         * gcov-io.h: Likewise.
7452         * gcov.c: Likewise.
7453         * gcse.c: Likewise.
7454         * genautomata.c: Likewise.
7455         * ggc-common.c: Likewise.
7456         * ggc-page.c: Likewise.
7457         * loop-unroll.c: Likewise.
7458         * loop-unswitch.c: Likewise.
7459         * loop.c: Likewise.
7460         * mips-tfile.c: Likewise.
7461         * optabs.c: Likewise.
7462         * ra-build.c: Likewise.
7463         * ra-colorize.c: Likewise.
7464         * ra-rewrite.c: Likewise.
7465         * ra.h: Likewise.
7466         * regmove.c: Likewise.
7467         * reload.c: Likewise.
7468         * rtlanal.c: Likewise.
7469         * sched-ebb.c: Likewise.
7470         * sched-int.h: Likewise.
7471         * sched-vis.c: Likewise.
7472         * sreal.c: Likewise.
7473         * ssa-ccp.c: Likewise.
7474         * ssa.c: Likewise.
7475         * toplev.c: Likewise.
7476         * tree-inline.c: Likewise.
7477         * value-prof.c: Likewise.
7478         * value-prof.h: Likewise.
7479
7480 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
7481
7482         * rtl.h (emit_line_note_after): Remove.
7483         (emit_note_copy_after, emit_note_copy): New.
7484         * emit-rtl.c (reorder_insns_with_line_notes): Replace
7485         emit_line_note_after with emit_note_copy_after.
7486         (emit_insn_after_with_line_notes): Likewise.
7487         (emit_line_note_after): Kill.
7488         (emit_note_copy_after): New.
7489         (emit_note_copy): New.
7490         * function.c (emit_return_into_block): Use emit_note_copy_after.
7491         (thread_prologue_and_epilogue_insns): Likewise.
7492         * integrate.c (expand_inline_function): Use emit_note_copy.
7493         (copy_insn_list): Likewise.
7494         * unroll.c (copy_loop_body): Likewise.
7495         * cfglayout.c (duplicate_insn_chain): Likewise.
7496
7497 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
7498
7499         * c-tree.h (define_label): Replace filename and lineno arguments
7500         with a location_t.
7501         * c-decl.c (poplevel): Adjust define_label call.
7502         (pop_label_level): Likewise.
7503         (define_label): Replace filename and lineno arguments with a
7504         location_t.
7505         (store_parm_decls): Use DECL_SOURCE_LOCATION.
7506         * c-parse.in (label): Adjust define_label call.
7507
7508 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
7509
7510         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
7511         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
7512         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
7513         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
7514         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
7515
7516 2003-07-01  Andreas Jaeger  <aj@suse.de>
7517
7518         * final.c: Convert prototypes to ISO C90.
7519         * flow.c: Likewise.
7520         * flags.h: Likewise.
7521         * gcov-io.c: Likewise.
7522         * gcov-io.h: Likewise.
7523
7524 See ChangeLog.9 for earlier changes.