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